constant-builtins.c revision 70d38f3179251bb3e7253a52bf54f8fa2314590a
1// RUN: %clang_cc1 -fsyntax-only %s -verify -pedantic
2
3// Math stuff
4
5float        g0 = __builtin_huge_val();
6double       g1 = __builtin_huge_valf();
7long double  g2 = __builtin_huge_vall();
8float        g3 = __builtin_inf();
9double       g4 = __builtin_inff();
10long double  g5 = __builtin_infl();
11
12// GCC misc stuff
13
14extern int f();
15
16int h0 = __builtin_types_compatible_p(int,float);
17//int h1 = __builtin_choose_expr(1, 10, f());
18//int h2 = __builtin_expect(0, 0);
19int h3 = __builtin_bswap32(0x1234) == 0x34120000 ? 1 : f();
20int h4 = __builtin_bswap64(0x1234) == 0x3412000000000000 ? 1 : f();
21
22short somefunc();
23
24short t = __builtin_constant_p(5353) ? 42 : somefunc();
25
26
27