[Bug c/88065] New: [9 Regression] ICE in -Wsizeof-pointer-memaccess on an invalid strncpy
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 16 16:38:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88065
Bug ID: 88065
Summary: [9 Regression] ICE in -Wsizeof-pointer-memaccess on an
invalid strncpy
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: msebor at gcc dot gnu.org
Target Milestone: ---
GCC 9 fails with an ICE on the following test case:
$ cat u.c && gcc -S -Wall u.c
struct B { struct A { char b[4]; } a; };
void f (struct B *p)
{
__builtin_strncpy (q->a.b, "123", sizeof p->a.b);
}
u.c: In function ‘f’:
u.c:5:22: error: ‘q’ undeclared (first use in this function)
5 | __builtin_strncpy (q->a.b, "123", sizeof p->a.b);
| ^
u.c:5:22: note: each undeclared identifier is reported only once for each
function it appears in
u.c:5:3: internal compiler error: tree check: expected class ‘type’, have
‘exceptional’ (error_mark) in sizeof_pointer_memaccess_warning, at
c-family/c-warn.c:816
5 | __builtin_strncpy (q->a.b, "123", sizeof p->a.b);
| ^~~~~~~~~~~~~~~~~
0x152375e tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
/ssd/src/gcc/git-svn/gcc/tree.c:9710
0x7f5a7d tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
/ssd/src/gcc/git-svn/gcc/tree.h:3277
0x96505b sizeof_pointer_memaccess_warning(unsigned int*, tree_node*,
vec<tree_node*, va_gc, vl_embed>*, tree_node**, bool (*)(tree_node*,
tree_node*))
/ssd/src/gcc/git-svn/gcc/c-family/c-warn.c:816
0x88f12a c_parser_postfix_expression_after_primary
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:9331
0x88e1f9 c_parser_postfix_expression
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:9029
0x8881b6 c_parser_unary_expression
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:7292
0x8876bc c_parser_cast_expression
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:7133
0x885dac c_parser_binary_expression
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:6936
0x8855a8 c_parser_conditional_expression
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:6670
0x8852b8 c_parser_expr_no_commas
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:6587
0x88f917 c_parser_expression
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:9486
0x88fb6c c_parser_expression_conv
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:9519
0x882a63 c_parser_statement_after_labels
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:5565
0x881b61 c_parser_compound_statement_nostart
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:5103
0x88154f c_parser_compound_statement
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:4937
0x87bfc2 c_parser_declaration_or_fndef
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:2350
0x87a64e c_parser_external_declaration
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:1652
0x87a1a7 c_parser_translation_unit
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:1532
0x8b1adf c_parse_file()
/ssd/src/gcc/git-svn/gcc/c/c-parser.c:19609
0x93166f c_common_parse_file()
/ssd/src/gcc/git-svn/gcc/c-family/c-opts.c:1151
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
More information about the Gcc-bugs
mailing list