https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68932

            Bug ID: 68932
           Summary: FAIL: obj-c++.dg/property/at-property-23.mm
                    -fgnu-runtime (internal compiler error)
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: objc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

FAIL: obj-c++.dg/property/at-property-23.mm -fgnu-runtime (internal compiler
error)
PASS: obj-c++.dg/property/at-property-23.mm -fgnu-runtime  (test for errors,
line 14)
PASS: obj-c++.dg/property/at-property-23.mm -fgnu-runtime  (test for errors,
line 15)
FAIL: obj-c++.dg/property/at-property-23.mm -fgnu-runtime  (test for errors,
line 16)
FAIL: obj-c++.dg/property/at-property-23.mm -fgnu-runtime  (test for errors,
line 16)
FAIL: obj-c++.dg/property/at-property-23.mm -fgnu-runtime (test for excess
errors)

ICE:
...
src/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:14:1: error: property
can not be an array
src/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:15:16: error: expected
';' before ':' token
src/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:16:17: internal
compiler error: Segmentation fault
0x11c6ccc crash_signal
        src/gcc/toplev.c:334
0x7b6be7 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
        src/gcc/cp/decl.c:10936
0x8958a9 grokfield(cp_declarator const*, cp_decl_specifier_seq*, tree_node*,
bool, tree_node*, tree_node*)
        src/gcc/cp/decl2.c:880
0x8f4cb1 cp_parser_objc_struct_declaration
        src/gcc/cp/parser.c:29142
0x8f5137 cp_parser_objc_at_property_declaration
        src/gcc/cp/parser.c:29330
0x8f3781 cp_parser_objc_method_prototype_list
        src/gcc/cp/parser.c:28394
0x8f437b cp_parser_objc_class_interface
        src/gcc/cp/parser.c:28757
0x8f4579 cp_parser_objc_declaration
        src/gcc/cp/parser.c:28846
0x8d5a16 cp_parser_declaration
        src/gcc/cp/parser.c:12031
0x8d55ca cp_parser_declaration_seq_opt
        src/gcc/cp/parser.c:11923
0x8c51b1 cp_parser_translation_unit
        src/gcc/cp/parser.c:4246
0x916bb7 c_parse_file()
        src/gcc/cp/parser.c:37268
0xabb432 c_common_parse_file()
        src/gcc/c-family/c-opts.c:1064
...

In GDB:
...
src/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:14:1: error: property
can not be an array
src/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:15:16: error: expected
�;� before �:� token

Program received signal SIGSEGV, Segmentation fault.
0x00000000007b6be7 in grokdeclarator (declarator=0x2fdb0d0,
declspecs=0x7fffffffd250, decl_context=FIELD, initialized=0,
attrlist=0x7fffffffd1b0)
    at src/gcc/cp/decl.c:10936
10936               if (TREE_CODE (ctype) == UNION_TYPE
(gdb) l
10931   
10932           /* The C99 flexible array extension.  */
10933           if (!staticp && TREE_CODE (type) == ARRAY_TYPE
10934               && TYPE_DOMAIN (type) == NULL_TREE)
10935             {
10936               if (TREE_CODE (ctype) == UNION_TYPE
10937                   || TREE_CODE (ctype) == QUAL_UNION_TYPE)
10938                 {
10939                   error ("flexible array member in union");
10940                   type = error_mark_node;
(gdb) p ctype
$1 = (tree) 0x0
(gdb) call debug_generic_expr (type)
int[<unknown>]
...

Reply via email to