Okay I kept the TYPE_MAIN_VARIANT and dropped the accidental new line! Hopefully this should be fine! On Fri, Jul 12, 2019 at 6:49 PM Marek Polacek wrote: > > On Fri, Jul 12, 2019 at 02:38:59PM -0400, Marek Polacek wrote: > > On Fri, Jul 12, 2019 at 02:34:37PM -0400, Matthew Beliveau wrote: > > > @@ -1628,6 +1629,16 @@ c_do_switch_warnings (splay_tree cases, location_t switch_location, > > > if (cond && tree_int_cst_compare (cond, value)) > > > continue; > > > > > > + /* If the enumerator is defined in a system header and uses a reserved > > > + name, then we continue to avoid throwing a warning. */ > > > + location_t loc = DECL_SOURCE_LOCATION > > > + (TYPE_STUB_DECL (TYPE_MAIN_VARIANT (type))); > > > > As I mentioned before, I wonder if we can get away without the > > TYPE_MAIN_VARIANT here. > > Ah, without TYPE_MAIN_VARIANT there's this ICEs: > > /opt/notnfs/polacek/gcc/libstdc++-v3/src/c++11/debug.cc: In function ‘void {anonymous}::print_field({anonymous}::PrintContext&, const _Parameter&, const char*)’: > /opt/notnfs/polacek/gcc/libstdc++-v3/src/c++11/debug.cc:791:5: internal compiler error: Segmentation fault > 791 | } > | ^ > 0xf31def crash_signal > /opt/notnfs/polacek/gcc/gcc/toplev.c:326 > 0xaaa579 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) > /opt/notnfs/polacek/gcc/gcc/tree.h:3330 > 0xaaa579 c_do_switch_warnings(splay_tree_s*, unsigned int, tree_node*, tree_node*, bool) > /opt/notnfs/polacek/gcc/gcc/c-family/c-warn.c:1634 > 0x8ab61f pop_switch() > /opt/notnfs/polacek/gcc/gcc/cp/decl.c:3567 > 0x9e0af4 finish_switch_stmt(tree_node*) > /opt/notnfs/polacek/gcc/gcc/cp/semantics.c:1229 > 0x95764d cp_parser_selection_statement > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:11964 > 0x95764d cp_parser_statement > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:11186 > 0x958770 cp_parser_statement_seq_opt > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:11667 > 0x958847 cp_parser_compound_statement > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:11621 > 0x971990 cp_parser_function_body > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:22651 > 0x971990 cp_parser_ctor_initializer_opt_and_function_body > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:22702 > 0x972216 cp_parser_function_definition_after_declarator > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:28016 > 0x972fae cp_parser_function_definition_from_specifiers_and_declarator > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:27932 > 0x972fae cp_parser_init_declarator > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:20288 > 0x954ecf cp_parser_simple_declaration > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:13546 > 0x9798a2 cp_parser_declaration > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:13243 > 0x97a46c cp_parser_declaration_seq_opt > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:13119 > 0x97a46c cp_parser_namespace_body > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:19335 > 0x97a46c cp_parser_namespace_definition > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:19313 > 0x9799b3 cp_parser_declaration > /opt/notnfs/polacek/gcc/gcc/cp/parser.c:13223 > Please submit a full bug report, > with preprocessed source if appropriate. > Please include the complete backtrace with any bug report. > See for instructions. > > So seems like we need it after all. Sorry about that. > > Marek