[clang] fix emiision of nested unused enum types with -fno-eliminate-unused-d… (PR #137818)

2025-05-02 Thread Steve Merritt via cfe-commits
@@ -1987,7 +1987,8 @@ void CGDebugInfo::CollectRecordFields( // Bump field number for next field. ++fieldNo; - } else if (CGM.getCodeGenOpts().EmitCodeView) { + } else if (CGM.getCodeGenOpts().hasMaybeUnusedDebugInfo() || + CGM.getCode

[clang] [llvm] Template as type (PR #127654)

2025-02-18 Thread Steve Merritt via cfe-commits
@@ -0,0 +1,124 @@ +; RUN: llc -mtriple=x86_64-unknown-linux-gnu %s -o %t -filetype=obj +; RUN:llvm-dwarfdump %t | FileCheck %s stevemerr wrote: I'd recommend adding spaces to make this look more like the other tests. So change to "RUN: " and "; CHECK:" for exa

[clang] Fix scope of typedefs present inside a template class (PR #146729)

2025-07-09 Thread Steve Merritt via cfe-commits
@@ -0,0 +1,18 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm -debug-info-kind=standalone -o - %s | FileCheck %s + +struct X { stevemerr wrote: You should either add some CHECK lines for 'X' or just remove it. At present, it isn't relevant

[clang] Fix scope of typedefs present inside a template class (PR #146729)

2025-07-09 Thread Steve Merritt via cfe-commits
@@ -4170,9 +4170,16 @@ llvm::DICompositeType *CGDebugInfo::CreateLimitedType(const RecordType *Ty) { llvm::MDNode::replaceWithDistinct(llvm::TempDICompositeType(RealDecl)); break; } - - RegionMap[Ty->getDecl()].reset(RealDecl); - TypeCache[QualType(Ty, 0).getAs