1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -S -emit-llvm -o - %s | FileCheck %s
6 E
a(int x
) { return static_cast<E
>(x
); }
7 // CHECK-LABEL: define{{.*}} i32 @_ZN6dr23381A1aEi
10 E
b(int x
) { return (E
)x
; }
11 // CHECK-LABEL: define{{.*}} i32 @_ZN6dr23381A1bEi
16 enum E
: bool { Zero
, One
};
17 E
a(int x
) { return static_cast<E
>(x
); }
18 // CHECK-LABEL: define{{.*}} zeroext i1 @_ZN6dr23381B1aEi
19 // CHECK: ret i1 %tobool
21 E
b(int x
) { return (E
)x
; }
22 // CHECK-LABEL: define{{.*}} zeroext i1 @_ZN6dr23381B1bEi
23 // CHECK: ret i1 %tobool
27 enum class E
{ Zero
, One
};
28 E
a(int x
) { return static_cast<E
>(x
); }
29 // CHECK-LABEL: define{{.*}} i32 @_ZN6dr23381C1aEi
32 E
b(int x
) { return (E
)x
; }
33 // CHECK-LABEL: define{{.*}} i32 @_ZN6dr23381C1bEi
38 enum class E
: bool { Zero
, One
};
39 E
a(int x
) { return static_cast<E
>(x
); }
40 // CHECK-LABEL: define{{.*}} zeroext i1 @_ZN6dr23381D1aEi
41 // CHECK: ret i1 %tobool
43 E
b(int x
) { return (E
)x
; }
45 // CHECK-LABEL: define{{.*}} zeroext i1 @_ZN6dr23381D1bEi
46 // CHECK: ret i1 %tobool