1 // RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
4 * Floating-point to int/_Bool conversions
8 // CHECK: define{{.*}} i32 @neg_zero()
9 return (_Bool
)-0.0 ? -1 : 1; // Negative zero -> false
14 // CHECK: define{{.*}} i32 @pos_inf()
15 return (_Bool
)(1.0f
/ 0.0f
) ? 1 : -1; // Positive inf -> true
20 // CHECK: define{{.*}} i32 @neg_inf()
21 return (_Bool
)(-1.0f
/ 0.0f
) ? 1 : -1; // Negative inf -> true
26 // CHECK: define{{.*}} i32 @nan()
27 return (_Bool
)(0.0f
/ 0.0f
) ? 1 : -1; // NaN -> true