| // RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited %s -o - | FileCheck %s |
| |
| // CHECK-NOT: enumKind |
| // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "ClosedEnum" |
| // CHECK-SAME: enumKind: DW_APPLE_ENUM_KIND_Closed) |
| // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "OpenEnum" |
| // CHECK-SAME: enumKind: DW_APPLE_ENUM_KIND_Open) |
| // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "ClosedFlagEnum" |
| // CHECK-SAME: enumKind: DW_APPLE_ENUM_KIND_Closed) |
| // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "OpenFlagEnum" |
| // CHECK-SAME: enumKind: DW_APPLE_ENUM_KIND_Open) |
| // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "MixedEnum" |
| // CHECK-SAME: enumKind: DW_APPLE_ENUM_KIND_Open) |
| |
| enum Enum { |
| E0, E1 |
| }; |
| |
| enum FlagEnum { |
| FE0 = 1 << 0, FE1 = 1 << 1 |
| }; |
| |
| enum __attribute__((enum_extensibility(closed))) ClosedEnum { |
| A0, A1 |
| }; |
| |
| enum __attribute__((enum_extensibility(open))) OpenEnum { |
| B0, B1 |
| }; |
| |
| enum __attribute__((enum_extensibility(closed),flag_enum)) ClosedFlagEnum { |
| C0 = 1 << 0, C1 = 1 << 1 |
| }; |
| |
| enum __attribute__((enum_extensibility(open),flag_enum)) OpenFlagEnum { |
| D0 = 1 << 0, D1 = 1 << 1 |
| }; |
| |
| enum __attribute__((enum_extensibility(open), enum_extensibility(closed))) MixedEnum { |
| M0, M1 |
| }; |
| |
| enum Enum e; |
| enum FlagEnum fe; |
| enum ClosedEnum ce; |
| enum OpenEnum oe; |
| enum ClosedFlagEnum cfe; |
| enum OpenFlagEnum ofe; |
| enum MixedEnum me; |