1 /* PR middle-end/92014 - bogus warning: writing 8 bytes into a region 2 of size 1 in timezone/zic.c 3 { dg-do compile } 4 { dg-options "-O2 -Wall" } */ 5 6 struct 7 { 8 char *s1, *s2; 9 char c; 10 } z; 11 12 f(char ** a,int i,int j)13void f (char **a, int i, int j) 14 { 15 char * cp = __builtin_strchr (a[i], '%'); 16 17 if (cp && *++cp != 's') 18 return; 19 20 z.s1 = __builtin_strdup (a[i]); 21 if (!z.s1) __builtin_abort (); 22 23 z.s2 = __builtin_strdup (a[j]); 24 if (!z.s2) __builtin_abort (); 25 26 z.c = cp ? *cp : '\0'; // { dg-bogus "\\\[-Wstringop-overflow" } 27 } 28