OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [builtin-object-size-9.c] - Blame information for rev 378

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* { dg-do run } */
2
/* { dg-options "-O2" } */
3
 
4
typedef __SIZE_TYPE__ size_t;
5
extern void *malloc (size_t);
6
extern void free (void *);
7
extern void abort (void);
8
 
9
union U
10
{
11
  struct S { int a; int b; } s;
12
  int t;
13
};
14
 
15
struct T
16
{
17
  int c;
18
  char d[1];
19
};
20
 
21
int
22
main (void)
23
{
24
  union U *u = malloc (sizeof (struct S) + sizeof (struct T) + 6);
25
  struct T *t = (struct T *) (&u->s + 1);
26
  if (__builtin_object_size (t->d, 1)
27
      != sizeof (struct T) + 6 - __builtin_offsetof (struct T, d))
28
    abort ();
29
  free (u);
30
  return 0;
31
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.