OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [c99-const-expr-9.c] - Blame information for rev 298

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* Test for constant expressions: __builtin_offsetof allowed in
2
   integer constant expressions but not traditional offsetof
3
   expansion.  */
4
/* Origin: Joseph Myers <joseph@codesourcery.com> */
5
/* { dg-do compile } */
6
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
7
 
8
struct s {
9
  int a;
10
};
11
 
12
struct t {
13
  struct s a;
14
  int b[2];
15
};
16
 
17
#define old_offsetof(TYPE, MEMBER) ((__SIZE_TYPE__) &((TYPE *)0)->MEMBER)
18
 
19
enum e {
20
  E1 = old_offsetof (struct s, a), /* { dg-error "constant" } */
21
  E2 = old_offsetof (struct t, a.a), /* { dg-error "constant" } */
22
  E3 = old_offsetof (struct t, b[1]), /* { dg-error "constant" } */
23
  E4 = __builtin_offsetof (struct s, a),
24
  E5 = __builtin_offsetof (struct t, a.a),
25
  E6 = __builtin_offsetof (struct t, b[1])
26
};

powered by: WebSVN 2.1.0

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