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