Mercurial > hg > CbC > CbC_llvm
comparison clang/test/CodeGen/enum-bool.cpp @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
173:0572611fdcc8 | 207:2e18cbf3894f |
---|---|
1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -S -emit-llvm -o - %s | FileCheck %s | |
2 | |
3 namespace dr2338 { | |
4 namespace A { | |
5 enum E { Zero, One }; | |
6 E a(int x) { return static_cast<E>(x); } | |
7 // CHECK-LABEL: define{{.*}} i32 @_ZN6dr23381A1aEi | |
8 // CHECK: ret i32 %0 | |
9 | |
10 E b(int x) { return (E)x; } | |
11 // CHECK-LABEL: define{{.*}} i32 @_ZN6dr23381A1bEi | |
12 // CHECK: ret i32 %0 | |
13 | |
14 } // namespace A | |
15 namespace B { | |
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 | |
20 | |
21 E b(int x) { return (E)x; } | |
22 // CHECK-LABEL: define{{.*}} zeroext i1 @_ZN6dr23381B1bEi | |
23 // CHECK: ret i1 %tobool | |
24 | |
25 } // namespace B | |
26 namespace C { | |
27 enum class E { Zero, One }; | |
28 E a(int x) { return static_cast<E>(x); } | |
29 // CHECK-LABEL: define{{.*}} i32 @_ZN6dr23381C1aEi | |
30 // CHECK: ret i32 %0 | |
31 | |
32 E b(int x) { return (E)x; } | |
33 // CHECK-LABEL: define{{.*}} i32 @_ZN6dr23381C1bEi | |
34 // CHECK: ret i32 %0 | |
35 | |
36 } // namespace C | |
37 namespace D { | |
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 | |
42 | |
43 E b(int x) { return (E)x; } | |
44 | |
45 // CHECK-LABEL: define{{.*}} zeroext i1 @_ZN6dr23381D1bEi | |
46 // CHECK: ret i1 %tobool | |
47 | |
48 } // namespace D | |
49 } // namespace dr2338 |