From e850fa2452d902f96e9a1866a612ed3a5c5dd9b7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 30 Jan 2008 06:46:30 +0000 Subject: [PATCH] make this pass by adding an expected error, add some tests. llvm-svn: 46551 --- clang/test/Sema/offsetof.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/clang/test/Sema/offsetof.c b/clang/test/Sema/offsetof.c index 7b8564a6a5c5..b5adb31f22c9 100644 --- a/clang/test/Sema/offsetof.c +++ b/clang/test/Sema/offsetof.c @@ -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];