From ec2b103c267a06a66e926f62cd96767b280f5cf5 Mon Sep 17 00:00:00 2001 From: Ed Schouten Date: Tue, 2 Jun 2009 17:58:47 +0000 Subject: Import Clang, at r72732. --- test/Sema/expr-comma-c89.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 test/Sema/expr-comma-c89.c (limited to 'test/Sema/expr-comma-c89.c') diff --git a/test/Sema/expr-comma-c89.c b/test/Sema/expr-comma-c89.c new file mode 100644 index 0000000000000..b2b17dc335911 --- /dev/null +++ b/test/Sema/expr-comma-c89.c @@ -0,0 +1,18 @@ +// RUN: clang-cc %s -fsyntax-only -verify -std=c99 +// rdar://6095180 + +#include +struct s { char c[17]; }; +extern struct s foo(void); + +struct s a, b, c; + +int A[sizeof((foo().c)) == 17 ? 1 : -1]; +int B[sizeof((a.c)) == 17 ? 1 : -1]; + + +// comma does array/function promotion in c99. +int X[sizeof(0, (foo().c)) == sizeof(char*) ? 1 : -1]; +int Y[sizeof(0, (a,b).c) == sizeof(char*) ? 1 : -1]; +int Z[sizeof(0, (a=b).c) == sizeof(char*) ? 1 : -1]; + -- cgit v1.2.3