]> granicus.if.org Git - clang/commitdiff
make this pass by adding an expected error, add some tests.
authorChris Lattner <sabre@nondot.org>
Wed, 30 Jan 2008 06:46:30 +0000 (06:46 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 30 Jan 2008 06:46:30 +0000 (06:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46551 91177308-0d34-0410-b5e6-96231b3b80d8

test/Sema/offsetof.c

index 7b8564a6a5c5b2c5b12c722515b2fa428f5cfad8..b5adb31f22c90ecd9f3180414e828aa22af84ecf 100644 (file)
@@ -22,6 +22,15 @@ void swap()
   
   int a[__builtin_offsetof(struct external_sun3_core, X) == 4 ? 1 : -1];
   int b[__builtin_offsetof(struct external_sun3_core, X[42]) == 340 ? 1 : -1];
-  int c[__builtin_offsetof(struct external_sun3_core, X[42].f2) == 344 ? 1 : -1];
+  int c[__builtin_offsetof(struct external_sun3_core, X[42].f2) == 344 ? 1 : -1];  // expected-error {{no member named 'f2'}}
 }    
 
+
+struct s1 { int a; }; 
+extern int v1[offsetof (struct s1, a) == 0];
+
+struct s2 { int a; }; 
+extern int v2[__INTADDR__ (&((struct s2 *) 0)->a) == 0];
+
+struct s3 { int a; }; 
+extern int v3[__builtin_offsetof(struct s3, a) == 0];