blob: 9a71a403700d38b0f4b8ed24a071c845d56051f6 [file] [log] [blame]
Daniel Dunbard7d5f022009-03-24 02:24:46 +00001// RUN: clang-cc %s -fsyntax-only -verify
Chris Lattnerab18c4c2007-07-24 16:58:17 +00002
3typedef 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
10int test(int _x) {
11 return (__byte_swap_int_var(_x));
12}
Chris Lattner611b2ec2008-07-26 19:51:01 +000013
14// PR2374
15int test2() { return ({L:5;}); }
16int test3() { return ({ {5;} }); } // expected-error {{incompatible type returning 'void', expected 'int'}}\
17 // expected-warning {{expression result unused}}
18int test4() { return ({ ({5;}); }); }
19int test5() { return ({L1: L2: L3: 5;}); }
20int test6() { return ({5;}); }
21void test7() { ({5;}); } // expected-warning {{expression result unused}}
22
Eli Friedmandca2b732009-01-24 23:09:00 +000023// PR3062
Chris Lattner40c56f72009-04-18 06:51:21 +000024int test8[({10;})]; // expected-error {{statement expression not allowed at file scope}}
25
26// PR3912
27void test9(const void *P) {
28 __builtin_prefetch(P);
29}