187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang_cc1 -std=c++11 -emit-llvm -debug-info-kind=limited -o - %s | FileCheck %s 20ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl// Test that we are emitting debug info and base types for scoped enums. 30ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl 4b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Color" 53ea9e33ea25e0c2b12db56418ba3f994eb662c04Pirama Arumuga Nainar// CHECK-SAME: baseType: ![[INT:[0-9]+]] 6b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: ![[INT]] = !DIBasicType(name: "int" 70ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlenum class Color { gray }; 80ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl 90ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlvoid f(Color); 100ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlvoid g() { 110ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl f(Color::gray); 120ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl} 130ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl 14b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Colour" 153ea9e33ea25e0c2b12db56418ba3f994eb662c04Pirama Arumuga Nainar// CHECK-SAME: baseType: ![[INT]] 160ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlenum struct Colour { grey }; 170ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl 180ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlvoid h(Colour); 190ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlvoid i() { 200ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl h(Colour::grey); 210ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl} 220ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl 23b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Couleur" 243ea9e33ea25e0c2b12db56418ba3f994eb662c04Pirama Arumuga Nainar// CHECK-SAME: baseType: ![[UCHAR:[0-9]+]] 25b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: ![[UCHAR]] = !DIBasicType(name: "unsigned char" 260ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlenum class Couleur : unsigned char { gris }; 270ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl 280ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlvoid j(Couleur); 290ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantlvoid k() { 300ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl j(Couleur::gris); 310ad737e9bd690cb3cdfddfbfa057cb988dca8351Adrian Prantl} 32