brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 82556c0 Raw
76 lines · c
1// RUN: %clang_cc1 -fsyntax-only -verify %s2 3void test1(void) {4  if (sizeof (int){ 1}) {}   // sizeof compound literal5  if (sizeof (int)) {}       // sizeof type6 7  (void)(int)4;   // cast.8  (void)(int){4}; // compound literal.9 10  int A = (struct{ int a;}){ 1}.a;11}12 13int test2(int a, int b) {14  return a ? (void)a,b : a;15}16 17int test3(int a, int b, int c) {18  return a = b = c;19}20 21int test4(void) {22  test4();23  return 0;24}25 26struct X0 { struct { struct { int c[10][9]; } b; } a; };27 28int test_offsetof(void) {29  (void)__builtin_offsetof(struct X0, a.b.c[4][5]);30  return 0;31}32 33void test_sizeof(void){34        int arr[10];35        (void)sizeof arr[0];36        (void)sizeof(arr[0]);37        (void)sizeof(arr)[0];38}39 40// PR341841int test_leading_extension(void) {42  __extension__ (*(char*)0) = 1; // expected-warning {{indirection of non-volatile null pointer}} \43                                 // expected-note {{consider using __builtin_trap}}44  return 0;45}46 47// PR397248int test5(int);49int test6(void) { 50  return test5(      // expected-note {{to match}}51               test5(1)52                 ; // expected-error {{expected ')'}}53}54 55// PR839456void test7(void) {57    ({} // expected-note {{to match}}58    ;   // expected-error {{expected ')'}}59}60 61// PR1699262struct pr16992 { int x; };63 64void func_16992 (void) {65  int x1 = sizeof int;            // expected-error {{expected parentheses around type name in sizeof expression}}66  int x2 = sizeof struct pr16992; // expected-error {{expected parentheses around type name in sizeof expression}}67  int x3 = __alignof int;         // expected-error {{expected parentheses around type name in __alignof expression}}68  int x4 = _Alignof int;          // expected-error {{expected parentheses around type name in _Alignof expression}}69}70 71void callee(double, double);72void test8(void) {73  callee(foobar,   // expected-error {{use of undeclared identifier 'foobar'}}74         fizbin);  // expected-error {{use of undeclared identifier 'fizbin'}}75}76