Hi,
-O2 Warray-bounds:
=== Cut ===
struct PhaseEntryType
{
char raw_field[50 + 1];
};
int
ParsePhase (char in_cols[15][250], struct PhaseEntryType *P)
{
__builtin_strncpy (P->raw_field, in_cols[2], 50);
}
~
=== Cut ===
triggered by
__builtin_strncpy ((char *) &P->raw_field, (const char *) (char *) in_cols +
500B, 50);
being gimplified to:
D.1970 = &(*in_cols)[500];
D.1971 = &P->raw_field[0];
__builtin_strncpy (D.1971, D.1970, 50)
--
Summary: bogus array-ref fold triggering array overflow warning
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mueller at gcc dot gnu dot org
GCC host triplet: i686-suse-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32135