blob: c98f62dfc5a22d6ad0ef0cbaeecc297a212dbf63 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only %s -verify -pedantic
Andy Gibbs8e8fb3b2012-10-19 12:44:48 +00002// expected-no-diagnostics
Daniel Dunbarae3f4912008-10-02 23:30:31 +00003
4// Math stuff
5
6float g0 = __builtin_huge_val();
7double g1 = __builtin_huge_valf();
8long double g2 = __builtin_huge_vall();
9float g3 = __builtin_inf();
10double g4 = __builtin_inff();
11long double g5 = __builtin_infl();
12
13// GCC misc stuff
14
15extern int f();
16
Eli Friedmaneb32fde2009-04-28 03:13:54 +000017int h0 = __builtin_types_compatible_p(int,float);
Daniel Dunbarae3f4912008-10-02 23:30:31 +000018//int h1 = __builtin_choose_expr(1, 10, f());
19//int h2 = __builtin_expect(0, 0);
Benjamin Kramerd1900572012-10-06 14:42:22 +000020int h3 = __builtin_bswap16(0x1234) == 0x3412 ? 1 : f();
21int h4 = __builtin_bswap32(0x1234) == 0x34120000 ? 1 : f();
22int h5 = __builtin_bswap64(0x1234) == 0x3412000000000000 ? 1 : f();
Chris Lattner46cfefa2008-10-06 05:42:39 +000023
24short somefunc();
25
Anders Carlsson9e09f5d2008-12-05 05:09:56 +000026short t = __builtin_constant_p(5353) ? 42 : somefunc();
27
Chris Lattner46cfefa2008-10-06 05:42:39 +000028