From d3fb6adc8879dc0c77b540c4c89561c8a9c8bca1 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 30 Aug 2007 17:51:09 +0000 Subject: [PATCH] a new testcase git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41614 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Sema/offsetof.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/Sema/offsetof.c diff --git a/test/Sema/offsetof.c b/test/Sema/offsetof.c new file mode 100644 index 0000000000..5848ba4083 --- /dev/null +++ b/test/Sema/offsetof.c @@ -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}} +} + -- 2.40.0