diff options
Diffstat (limited to 'test/CodeGenCXX/scoped-enums-debug-info.cpp')
-rw-r--r-- | test/CodeGenCXX/scoped-enums-debug-info.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/CodeGenCXX/scoped-enums-debug-info.cpp b/test/CodeGenCXX/scoped-enums-debug-info.cpp new file mode 100644 index 0000000..d3ef9f7 --- /dev/null +++ b/test/CodeGenCXX/scoped-enums-debug-info.cpp @@ -0,0 +1,26 @@ +// RUN: %clang_cc1 -std=c++11 -emit-llvm -g -o - %s | FileCheck %s +// Test that we are emitting debug info and base types for scoped enums. + +// CHECK: [ DW_TAG_enumeration_type ] [Color] {{.*}} [from int] +enum class Color { gray }; + +void f(Color); +void g() { + f(Color::gray); +} + +// CHECK: [ DW_TAG_enumeration_type ] [Colour] {{.*}} [from int] +enum struct Colour { grey }; + +void h(Colour); +void i() { + h(Colour::grey); +} + +// CHECK: [ DW_TAG_enumeration_type ] [Couleur] {{.*}} [from unsigned char] +enum class Couleur : unsigned char { gris }; + +void j(Couleur); +void k() { + j(Couleur::gris); +} |