]> granicus.if.org Git - clang/commitdiff
a new testcase
authorChris Lattner <sabre@nondot.org>
Thu, 30 Aug 2007 17:51:09 +0000 (17:51 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 30 Aug 2007 17:51:09 +0000 (17:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41614 91177308-0d34-0410-b5e6-96231b3b80d8

test/Sema/offsetof.c [new file with mode: 0644]

diff --git a/test/Sema/offsetof.c b/test/Sema/offsetof.c
new file mode 100644 (file)
index 0000000..5848ba4
--- /dev/null
@@ -0,0 +1,23 @@
+// RUN: clang -parse-ast-check %s
+
+#define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER)
+
+typedef struct P { int i; float f; } PT;
+struct external_sun3_core
+{
+ unsigned c_regs; 
+
+  PT  X[100];
+  
+};
+
+void swap()
+{
+  int x;
+  x = offsetof(struct external_sun3_core, c_regs);
+  x = __builtin_offsetof(struct external_sun3_core, X[42].f);
+  
+  x = __builtin_offsetof(struct external_sun3_core, X[42].f2);  // expected-error {{no member named 'f2'}}
+  x = __builtin_offsetof(int, X[42].f2);  // expected-error {{offsetof requires struct}}
+}    
+