Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / C / C11 / n1391.c
blobafe51250b4529e5d784d6cc7f95e582823111b23
1 // RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
3 /* WG14 N1391: Yes
4 * Floating-point to int/_Bool conversions
5 */
7 int neg_zero(void) {
8 // CHECK: define{{.*}} i32 @neg_zero()
9 return (_Bool)-0.0 ? -1 : 1; // Negative zero -> false
10 // CHECK: ret i32 1
13 int pos_inf(void) {
14 // CHECK: define{{.*}} i32 @pos_inf()
15 return (_Bool)(1.0f / 0.0f) ? 1 : -1; // Positive inf -> true
16 // CHECK: ret i32 1
19 int neg_inf(void) {
20 // CHECK: define{{.*}} i32 @neg_inf()
21 return (_Bool)(-1.0f / 0.0f) ? 1 : -1; // Negative inf -> true
22 // CHECK: ret i32 1
25 int nan(void) {
26 // CHECK: define{{.*}} i32 @nan()
27 return (_Bool)(0.0f / 0.0f) ? 1 : -1; // NaN -> true
28 // CHECK: ret i32 1