public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler @ 2005-01-19 7:49 ebotcazou at gcc dot gnu dot org 2005-01-19 7:50 ` [Bug c++/19523] " pinskia at gcc dot gnu dot org ` (5 more replies) 0 siblings, 6 replies; 10+ messages in thread From: ebotcazou at gcc dot gnu dot org @ 2005-01-19 7:49 UTC (permalink / raw) To: gcc-bugs The patch 2004-09-20 Matt Austern <austern@apple.com> Zack Weinberg <zack@codesourcery.com> * c-common.c (fix_string_type): Build the unqualified array type unconditionally, then use c_build_qualified_type to get the proper const-qualified variant, and set its TYPE_MAIN_VARIANT to refer to the unqualified type. * c-lex.c (c_lex_return_raw_string): New global. (c_lex_with_flags): Honor it. * c-pragma.h: Declare it. cp: * decl.c (make_rtl_for_nonlocal_decl, start_preparsed_function): Apply lbasename to input_filename before passing to get_fileinfo. * semantics.c (begin_class_definition): Likewise. * lex.c (handle_pragma_interface): Apply get_fileinfo to the correct filename. Rename variables to be less confusing. (handle_pragma_implementation): Likewise. Disable "appears after file is included" diagnostic. * parser.c (struct cp_token): Add in_system_header fiag. (CP_TOKEN_BLOCK_NUM_TOKENS, struct cp_token_block) (CP_TOKEN_BUFFER_SIZE, cp_token_cache_push_token) (CPP_NONE, cp_lexer_read_token): Delete. (struct cp_lexer): Remove first_token, string_tokens, main_lexer_p fields. Clarify comments. (struct cp_token_cache): Now just a pair of pointers. (CP_LEXER_BUFFER_SIZE): New #define. (CPP_PURGED): New fake token type. (cp_lexer_new_from_token_array, cp_lexer_destroy) (cp_lexer_peek_token_emit_debug_info, cp_lexer_skip_purged_tokens) (cp_lexer_handle_pragma, cp_token_cache_new, cp_parser_string_literal): New functions. (cp_lexer_new_from_tokens): Now a simple wrapper around cp_lexer_new_from_token_array. (cp_lexer_set_source_position_from_token): Also update in_system_header. (cp_lexer_next_token, cp_lexer_prev_token, cp_lexer_advance_token): Don't wrap round. (cp_lexer_token_difference): Dont handle wrapping round. (cp_lexer_new_main): Enable pragma deferral and raw strings, read the entire translation unit through c_lex_with_flags into this lexer's buffer, then turn raw strings back off again. (cp_lexer_grow_buffer): Adjust for buffer no longer being circular. (cp_lexer_get_preprocessor_token): No need to handle not being the main lexer. Set token->in_system_header too. (cp_lexer_peek_token): Skip purged tokens. Feed pragma tokens to cp_lexer_handle_pragma. No need to call cp_lexer_read_token. (cp_lexer_peek_nth_token): Likewise. (cp_lexer_purge_token): Mark the token PURGED, don't shift all the other tokens down. (cp_lexer_purge_tokens_after): Likewise. (cp_lexer_save_tokens, cp_lexer_rollback_tokens): Don't worry about there being no tokens. (cp_lexer_print_token): Revise to give useful information on all tokens. (struct cp_parser): Add field translate_strings_p. (cp_parser_new): Initialize it. (cp_parser_translation_unit): Destroy the lexer when done. (cp_parser_parameter_declaration): Restructure saving of default arguments. (cp_parser_save_member_function_body): Likewise. (cp_parser_check_for_invalid_template_id) (cp_parser_nested_name_specifier_opt, cp_parser_template_id): Adjust calls to cp_lexer_advance_token. (cp_parser_skip_to_closing_parenthesis, cp_parser_declaration): No need to fiddle c_lex_string_translate. (cp_parser_primary_expression, cp_parser_linkage_specification) (cp_parser_asm_definition, cp_parser_asm_specification_opt) (cp_parser_asm_operand_list, cp_parser_asm_clobber_list) Use cp_parser_string_literal. (cp_parser_attribute_list): Save and restore parser->translate_strings_p not c_lex_string_translate. (cp_parser_cache_group): Delete. (cp_parser_cache_group_1): Rename cp_parser_cache_group. Do not take a cache argument. has broken DBX_USE_BINCL support for the C++ compiler: it doesn't emit pairs of N_BINCL/N_EINCL anymore. This is indirectly visible in the C++ PCH testsuite on platforms that don't eliminate unused debug info by default (so not on Darwin): FAIL: g++.dg/pch/externc-1.C -g assembly comparison FAIL: g++.dg/pch/externc-1.C -O2 -g assembly comparison FAIL: g++.dg/pch/static-1.C -g assembly comparison FAIL: g++.dg/pch/static-1.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-1.C -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-2.C -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 -g assembly comparison FAIL: g++.dg/pch/uninst.C -g assembly comparison FAIL: g++.dg/pch/uninst.C -O2 -g assembly comparison FAIL: g++.dg/pch/wchar-1.C -g assembly comparison FAIL: g++.dg/pch/wchar-1.C -O2 -g assembly comparison e.g. sparc-sun-solaris2.6 and sparc-sun-solaris2.5.1. The problem is that dbxout.c relies on the ordered invocations of the hooks dbxout_start_source_file, dbxout_symbol and dbxout_end_source_file to implement it. Now dbxout_start_source_file and dbxout_end_source_file are invoked by the lexer, while dbxout_symbol is invoked by the parser, and the patch essentially disentangled both. See the thread http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00871.html which contains the sketch of a possible fix. -- Summary: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ebotcazou at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: *-*-* GCC host triplet: *-*-* GCC target triplet: *-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/19523] [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler 2005-01-19 7:49 [Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler ebotcazou at gcc dot gnu dot org @ 2005-01-19 7:50 ` pinskia at gcc dot gnu dot org 2005-01-19 7:58 ` ebotcazou at gcc dot gnu dot org ` (4 subsequent siblings) 5 siblings, 0 replies; 10+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-01-19 7:50 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-debug Target Milestone|--- |4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/19523] [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler 2005-01-19 7:49 [Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler ebotcazou at gcc dot gnu dot org 2005-01-19 7:50 ` [Bug c++/19523] " pinskia at gcc dot gnu dot org @ 2005-01-19 7:58 ` ebotcazou at gcc dot gnu dot org 2005-02-10 20:48 ` ebotcazou at gcc dot gnu dot org ` (3 subsequent siblings) 5 siblings, 0 replies; 10+ messages in thread From: ebotcazou at gcc dot gnu dot org @ 2005-01-19 7:58 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- CC| |dpatel at apple dot com, | |zack at codesourcery dot | |com, austern at apple dot | |com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/19523] [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler 2005-01-19 7:49 [Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler ebotcazou at gcc dot gnu dot org 2005-01-19 7:50 ` [Bug c++/19523] " pinskia at gcc dot gnu dot org 2005-01-19 7:58 ` ebotcazou at gcc dot gnu dot org @ 2005-02-10 20:48 ` ebotcazou at gcc dot gnu dot org 2005-04-21 4:57 ` [Bug c++/19523] [4.0/4.1 " mmitchel at gcc dot gnu dot org ` (2 subsequent siblings) 5 siblings, 0 replies; 10+ messages in thread From: ebotcazou at gcc dot gnu dot org @ 2005-02-10 20:48 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From ebotcazou at gcc dot gnu dot org 2005-02-10 17:22 ------- This was confirmed by Devang at some point. -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2005-02-10 17:22:48 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/19523] [4.0/4.1 Regression] DBX_USE_BINCL support broken in the C++ compiler 2005-01-19 7:49 [Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler ebotcazou at gcc dot gnu dot org ` (2 preceding siblings ...) 2005-02-10 20:48 ` ebotcazou at gcc dot gnu dot org @ 2005-04-21 4:57 ` mmitchel at gcc dot gnu dot org 2005-07-08 1:34 ` mmitchel at gcc dot gnu dot org 2005-09-27 16:17 ` [Bug debug/19523] " mmitchel at gcc dot gnu dot org 5 siblings, 0 replies; 10+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2005-04-21 4:57 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.0 |4.0.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/19523] [4.0/4.1 Regression] DBX_USE_BINCL support broken in the C++ compiler 2005-01-19 7:49 [Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler ebotcazou at gcc dot gnu dot org ` (3 preceding siblings ...) 2005-04-21 4:57 ` [Bug c++/19523] [4.0/4.1 " mmitchel at gcc dot gnu dot org @ 2005-07-08 1:34 ` mmitchel at gcc dot gnu dot org 2005-09-27 16:17 ` [Bug debug/19523] " mmitchel at gcc dot gnu dot org 5 siblings, 0 replies; 10+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2005-07-08 1:34 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.1 |4.0.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug debug/19523] [4.0/4.1 Regression] DBX_USE_BINCL support broken in the C++ compiler 2005-01-19 7:49 [Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler ebotcazou at gcc dot gnu dot org ` (4 preceding siblings ...) 2005-07-08 1:34 ` mmitchel at gcc dot gnu dot org @ 2005-09-27 16:17 ` mmitchel at gcc dot gnu dot org 5 siblings, 0 replies; 10+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2005-09-27 16:17 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.2 |4.0.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <bug-19523-226@http.gcc.gnu.org/bugzilla/>]
* [Bug debug/19523] [4.0/4.1 Regression] DBX_USE_BINCL support broken in the C++ compiler [not found] <bug-19523-226@http.gcc.gnu.org/bugzilla/> @ 2005-10-05 4:59 ` pinskia at gcc dot gnu dot org 2005-10-05 17:02 ` dpatel at apple dot com 2005-10-31 2:29 ` mmitchel at gcc dot gnu dot org 2 siblings, 0 replies; 10+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-10-05 4:59 UTC (permalink / raw) To: gcc-bugs ------- Comment #2 from pinskia at gcc dot gnu dot org 2005-10-05 04:59 ------- I think there is a patch on Apple's branch but from what I heard is that it causes huge compile time issues. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug debug/19523] [4.0/4.1 Regression] DBX_USE_BINCL support broken in the C++ compiler [not found] <bug-19523-226@http.gcc.gnu.org/bugzilla/> 2005-10-05 4:59 ` pinskia at gcc dot gnu dot org @ 2005-10-05 17:02 ` dpatel at apple dot com 2005-10-31 2:29 ` mmitchel at gcc dot gnu dot org 2 siblings, 0 replies; 10+ messages in thread From: dpatel at apple dot com @ 2005-10-05 17:02 UTC (permalink / raw) To: gcc-bugs ------- Comment #3 from dpatel at apple dot com 2005-10-05 17:02 ------- Subject: Re: [4.0/4.1 Regression] DBX_USE_BINCL support broken in the C++ compiler AFAIK, It is not about compile time issue. There is another patch available which is better than what is in apple branch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug debug/19523] [4.0/4.1 Regression] DBX_USE_BINCL support broken in the C++ compiler [not found] <bug-19523-226@http.gcc.gnu.org/bugzilla/> 2005-10-05 4:59 ` pinskia at gcc dot gnu dot org 2005-10-05 17:02 ` dpatel at apple dot com @ 2005-10-31 2:29 ` mmitchel at gcc dot gnu dot org 2 siblings, 0 replies; 10+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2005-10-31 2:29 UTC (permalink / raw) To: gcc-bugs ------- Comment #4 from mmitchel at gcc dot gnu dot org 2005-10-31 02:29 ------- Devant says in Comment #3 that there's a better patch; where is it? Leaving as P2, as, sadly STABS is still used on some important targets. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19523 ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2005-10-31 2:29 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-01-19 7:49 [Bug c++/19523] New: [4.0 Regression] DBX_USE_BINCL support broken in the C++ compiler ebotcazou at gcc dot gnu dot org 2005-01-19 7:50 ` [Bug c++/19523] " pinskia at gcc dot gnu dot org 2005-01-19 7:58 ` ebotcazou at gcc dot gnu dot org 2005-02-10 20:48 ` ebotcazou at gcc dot gnu dot org 2005-04-21 4:57 ` [Bug c++/19523] [4.0/4.1 " mmitchel at gcc dot gnu dot org 2005-07-08 1:34 ` mmitchel at gcc dot gnu dot org 2005-09-27 16:17 ` [Bug debug/19523] " mmitchel at gcc dot gnu dot org [not found] <bug-19523-226@http.gcc.gnu.org/bugzilla/> 2005-10-05 4:59 ` pinskia at gcc dot gnu dot org 2005-10-05 17:02 ` dpatel at apple dot com 2005-10-31 2:29 ` mmitchel at gcc dot gnu dot org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).