https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63884
Bug ID: 63884 Summary: ICE: SIGSEGV in is_sec_implicit_index_fn with -fcilkplus and __builtin_sadd_overflow() Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Created attachment 33982 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33982&action=edit reduced testcase Compiler output: $ gcc -fcilkplus testcase.c ==20368== Invalid read of size 2 ==20368== at 0x75E524: is_sec_implicit_index_fn(tree_node*) (array-notation-common.c:38) ==20368== by 0x75F5AF: extract_array_notation_exprs(tree_node*, bool, vec<tree_node*, va_gc, vl_embed>**) (array-notation-common.c:364) ==20368== by 0x75F2D5: extract_array_notation_exprs(tree_node*, bool, vec<tree_node*, va_gc, vl_embed>**) (array-notation-common.c:379) ==20368== by 0x75F2D5: extract_array_notation_exprs(tree_node*, bool, vec<tree_node*, va_gc, vl_embed>**) (array-notation-common.c:379) ==20368== by 0x75F2D5: extract_array_notation_exprs(tree_node*, bool, vec<tree_node*, va_gc, vl_embed>**) (array-notation-common.c:379) ==20368== by 0x75F2D5: extract_array_notation_exprs(tree_node*, bool, vec<tree_node*, va_gc, vl_embed>**) (array-notation-common.c:379) ==20368== by 0x75F2D5: extract_array_notation_exprs(tree_node*, bool, vec<tree_node*, va_gc, vl_embed>**) (array-notation-common.c:379) ==20368== by 0x7601CA: contains_array_notation_expr(tree_node*) (array-notation-common.c:550) ==20368== by 0x6B0B67: c_finish_return(unsigned int, tree_node*, tree_node*) (c-typeck.c:9209) ==20368== by 0x6EEE9F: c_parser_statement_after_labels(c_parser*) (c-parser.c:4999) ==20368== by 0x6EFC8F: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:4676) ==20368== by 0x6F02DE: c_parser_compound_statement(c_parser*) (c-parser.c:4513) ==20368== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==20368== testcase.c: In function 'foo': testcase.c:5:3: internal compiler error: Segmentation fault return __builtin_sadd_overflow (x, y, &r); ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Tested revisions: r217536 - ICE 4_9 r216937 - doesn't know __builtin_sadd_overflow()