http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52906
Bug #: 52906
Summary: [4.7/4.8 Regression] ICE: SIGSEGV in check_tag_decl
(decl.c:4230) with "__attribute__ ((__deprecated__));"
alone
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: [email protected]
ReportedBy: [email protected]
===== testcase.C =====
__attribute__ ((__deprecated__));
======================
Compiler output:
$ gcc testcase.C
testcase.C:1:32: error: declaration does not declare anything [-fpermissive]
==17107== Invalid read of size 2
==17107== at 0x5B73C5: check_tag_decl(cp_decl_specifier_seq*) (decl.c:4230)
==17107== by 0x5D7C3D: shadow_tag(cp_decl_specifier_seq*) (decl.c:4263)
==17107== by 0x69DE3C: cp_parser_simple_declaration(cp_parser*, bool,
tree_node**) (parser.c:10493)
==17107== by 0x6A40B7: cp_parser_block_declaration(cp_parser*, bool)
(parser.c:10304)
==17107== by 0x6A932B: cp_parser_declaration(cp_parser*) (parser.c:10200)
==17107== by 0x6A7F37: cp_parser_declaration_seq_opt(cp_parser*)
(parser.c:10086)
==17107== by 0x6A98A2: c_parse_file() (parser.c:3797)
==17107== by 0x7A8664: c_common_parse_file() (c-opts.c:1124)
==17107== by 0xB8AB0F: toplev_main(int, char**) (toplev.c:556)
==17107== by 0x66E009C: (below main) (in /lib64/libc-2.13.so)
==17107== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==17107==
testcase.C:1:32: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
The code is accepted with "-fpermissive" (but still ICEs), so I am not sure if
this should be marked as ICE on valid or invalid.
Tested revisions:
r186200 - crash
4.7 r185191 - crash
4.6 r185191 - OK