From: Chris Lattner Date: Thu, 30 Aug 2007 17:51:09 +0000 (+0000) Subject: a new testcase X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d3fb6adc8879dc0c77b540c4c89561c8a9c8bca1;p=clang a new testcase git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41614 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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}} +} +