OSDN Git Service

2011-10-18 Janus Weil <janus@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / builtin-object-size-12.c
1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3
4 extern void abort (void);
5 struct S {
6     int len;
7     char s[0];
8 };
9 int main()
10 {
11   char buf[sizeof (struct S) + 32];
12   if (__builtin_object_size (((struct S *)&buf[0])->s, 1) != 32)
13     abort ();
14   if (__builtin_object_size (((struct S *)&buf[1])->s, 1) != 31)
15     abort ();
16   if (__builtin_object_size (((struct S *)&buf[64])->s, 0) != 0)
17     abort ();
18   return 0;
19 }