// RUN: clang-cc -parse-noop -verify %s void test1() { if (sizeof (int){ 1}); // sizeof compound literal if (sizeof (int)); // sizeof type (int)4; // cast. (int){4}; // compound literal. // FIXME: change this to the struct version when we can. //int A = (struct{ int a;}){ 1}.a; int A = (int){ 1}.a; } int test2(int a, int b) { return a ? a,b : a; } int test3(int a, int b, int c) { return a = b = c; } int test4() { test4(); } int test_offsetof() { // FIXME: change into something that is semantically correct. __builtin_offsetof(int, a.b.c[4][5]); } void test_sizeof(){ int arr[10]; sizeof arr[0]; sizeof(arr[0]); sizeof(arr)[0]; } // PR3418 int test_leading_extension() { __extension__ (*(char*)0) = 1; } // PR3972 int test5(int); int test6(void) { return test5( // expected-note {{to match}} test5(1) ; // expected-error {{expected ')'}} }