Mercurial > hg > CbC > CbC_gcc
annotate gcc/testsuite/gcc.dg/builtin-object-size-14.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
rev | line source |
---|---|
111 | 1 /* { dg-do run } */ |
2 /* { dg-options "-O2" } */ | |
3 | |
4 extern void abort (void); | |
5 extern char *strncpy(char *, const char *, __SIZE_TYPE__); | |
6 | |
7 union u { | |
8 struct { | |
9 char vi[8]; | |
10 char pi[16]; | |
11 }; | |
12 char all[8+16+4]; | |
13 }; | |
14 | |
15 void __attribute__((noinline,noclone)) | |
16 f(union u *u) | |
17 { | |
18 char vi[8+1]; | |
19 __builtin_strncpy(vi, u->vi, sizeof(u->vi)); | |
20 if (__builtin_object_size (u->all, 1) != -1) | |
21 abort (); | |
22 } | |
23 int main() | |
24 { | |
25 union u u; | |
26 f (&u); | |
27 return 0; | |
28 } |