1*3459ce2eSDouglas Katzman // RUN: %clang_cc1 -std=c++11 -emit-llvm -debug-info-kind=limited -o - %s | FileCheck %s 28cb1896bSAdrian Prantl // Test that we are emitting debug info and base types for scoped enums. 38cb1896bSAdrian Prantl 49dd4e4e6SDuncan P. N. Exon Smith // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Color" 5f04be1fbSDuncan P. N. Exon Smith // CHECK-SAME: baseType: ![[INT:[0-9]+]] 69dd4e4e6SDuncan P. N. Exon Smith // CHECK: ![[INT]] = !DIBasicType(name: "int" 78cb1896bSAdrian Prantl enum class Color { gray }; 88cb1896bSAdrian Prantl 98cb1896bSAdrian Prantl void f(Color); g()108cb1896bSAdrian Prantlvoid g() { 118cb1896bSAdrian Prantl f(Color::gray); 128cb1896bSAdrian Prantl } 138cb1896bSAdrian Prantl 149dd4e4e6SDuncan P. N. Exon Smith // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Colour" 15f04be1fbSDuncan P. N. Exon Smith // CHECK-SAME: baseType: ![[INT]] 168cb1896bSAdrian Prantl enum struct Colour { grey }; 178cb1896bSAdrian Prantl 188cb1896bSAdrian Prantl void h(Colour); i()198cb1896bSAdrian Prantlvoid i() { 208cb1896bSAdrian Prantl h(Colour::grey); 218cb1896bSAdrian Prantl } 228cb1896bSAdrian Prantl 239dd4e4e6SDuncan P. N. Exon Smith // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Couleur" 24f04be1fbSDuncan P. N. Exon Smith // CHECK-SAME: baseType: ![[UCHAR:[0-9]+]] 259dd4e4e6SDuncan P. N. Exon Smith // CHECK: ![[UCHAR]] = !DIBasicType(name: "unsigned char" 268cb1896bSAdrian Prantl enum class Couleur : unsigned char { gris }; 278cb1896bSAdrian Prantl 288cb1896bSAdrian Prantl void j(Couleur); k()298cb1896bSAdrian Prantlvoid k() { 308cb1896bSAdrian Prantl j(Couleur::gris); 318cb1896bSAdrian Prantl } 32