1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -std=c++11 -emit-llvm -g -o - %s | FileCheck %s 2*f4a2713aSLionel Sambuc // Test that we are emitting debug info and base types for scoped enums. 3*f4a2713aSLionel Sambuc 4*f4a2713aSLionel Sambuc // CHECK: [ DW_TAG_enumeration_type ] [Color] {{.*}} [from int] 5*f4a2713aSLionel Sambuc enum class Color { gray }; 6*f4a2713aSLionel Sambuc 7*f4a2713aSLionel Sambuc void f(Color); g()8*f4a2713aSLionel Sambucvoid g() { 9*f4a2713aSLionel Sambuc f(Color::gray); 10*f4a2713aSLionel Sambuc } 11*f4a2713aSLionel Sambuc 12*f4a2713aSLionel Sambuc // CHECK: [ DW_TAG_enumeration_type ] [Colour] {{.*}} [from int] 13*f4a2713aSLionel Sambuc enum struct Colour { grey }; 14*f4a2713aSLionel Sambuc 15*f4a2713aSLionel Sambuc void h(Colour); i()16*f4a2713aSLionel Sambucvoid i() { 17*f4a2713aSLionel Sambuc h(Colour::grey); 18*f4a2713aSLionel Sambuc } 19*f4a2713aSLionel Sambuc 20*f4a2713aSLionel Sambuc // CHECK: [ DW_TAG_enumeration_type ] [Couleur] {{.*}} [from unsigned char] 21*f4a2713aSLionel Sambuc enum class Couleur : unsigned char { gris }; 22*f4a2713aSLionel Sambuc 23*f4a2713aSLionel Sambuc void j(Couleur); k()24*f4a2713aSLionel Sambucvoid k() { 25*f4a2713aSLionel Sambuc j(Couleur::gris); 26*f4a2713aSLionel Sambuc } 27