[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / DebugInfo / PDB / Inputs / every-enum.cpp
blob5eb014512e269114873df458599d859d3a54624d
1 // Build with "cl.exe /Zi /GR- /GX- every-enum.cpp /link /debug /nodefaultlib /incremental:no /entry:main"
3 #include <stdint.h>
5 // clang-format off
6 void *__purecall = 0;
8 void __cdecl operator delete(void *,unsigned int) {}
9 void __cdecl operator delete(void *,unsigned __int64) {}
12 enum I8 : int8_t {
13 I8A = INT8_MIN,
14 I8B = 0,
15 I8C = INT8_MAX
18 enum I16 : int16_t {
19 I16A = INT16_MIN,
20 I16B = 0,
21 I16C = INT16_MAX,
24 enum I32 : int32_t {
25 I32A = INT32_MIN,
26 I32B = 0,
27 I32C = INT32_MAX,
30 enum I64 : int64_t {
31 I64A = INT64_MIN,
32 I64B = 0,
33 I64C = INT64_MAX,
36 enum U8 : uint8_t {
37 U8A = 0,
38 U8B = UINT8_MAX
41 enum U16 : uint16_t {
42 U16A = 0,
43 U16B = UINT16_MAX,
46 enum U32 : uint32_t {
47 U32A = 0,
48 U32B = UINT32_MAX,
51 enum U64 : uint64_t {
52 U64A = 0,
53 U64B = UINT64_MAX,
56 enum Char16 : char16_t {
57 C16A = u'a',
58 C16B = u'b',
61 enum Char32 : char32_t {
62 C32A = U'a',
63 C32B = U'b',
66 enum WChar : wchar_t {
67 WCA = L'a',
68 WCB = L'b',
71 enum Bool : bool {
72 BA = true,
73 BB = false
76 enum class EC {
77 A = 1,
78 B = 2
81 struct Struct {
82 enum Nested {
83 A = 1,
84 B = 2
88 template<typename T> void f(T t) {}
90 int main(int argc, char **argv) {
91 f(I8A);
92 f(I16A);
93 f(I32A);
94 f(I64A);
95 f(U8A);
96 f(U16A);
97 f(U32A);
98 f(U64A);
100 f(C16A);
101 f(C32A);
102 f(WCA);
103 f(BA);
106 f(EC::A);
107 f(Struct::A);
109 f<const volatile EC>(EC::A);