]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Sema/statements.c
Import Clang, at r72732.
[FreeBSD/FreeBSD.git] / test / Sema / statements.c
1 // RUN: clang-cc %s -fsyntax-only -verify
2
3 typedef unsigned __uint32_t;
4
5 #define __byte_swap_int_var(x) \
6 __extension__ ({ register __uint32_t __X = (x); \
7    __asm ("bswap %0" : "+r" (__X)); \
8    __X; })
9
10 int test(int _x) {
11  return (__byte_swap_int_var(_x));
12 }
13
14 // PR2374
15 int test2() { return ({L:5;}); }
16 int test3() { return ({ {5;} }); }         // expected-error {{incompatible type returning 'void', expected 'int'}}\
17                                            // expected-warning {{expression result unused}}
18 int test4() { return ({ ({5;}); }); }
19 int test5() { return ({L1: L2: L3: 5;}); }
20 int test6() { return ({5;}); }
21 void test7() { ({5;}); }                   // expected-warning {{expression result unused}}
22
23 // PR3062
24 int test8[({10;})]; // expected-error {{statement expression not allowed at file scope}}
25
26 // PR3912
27 void test9(const void *P) {
28   __builtin_prefetch(P);
29 }