From: Daniel Dunbar Date: Wed, 13 May 2009 23:08:57 +0000 (+0000) Subject: Make sure not to include the LLVM asm prefix in function names for X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a289393513d32f463a165a4b2990b11f5c6ab959;p=clang Make sure not to include the LLVM asm prefix in function names for debug info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71736 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index 67054f66b5..9b9fb18819 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -669,6 +669,10 @@ llvm::DIType CGDebugInfo::getOrCreateType(QualType Ty, void CGDebugInfo::EmitFunctionStart(const char *Name, QualType ReturnType, llvm::Function *Fn, CGBuilderTy &Builder) { + // Skip the asm prefix if it exists. + if (Name[0] == '\01') + ++Name; + // FIXME: Why is this using CurLoc??? llvm::DICompileUnit Unit = getOrCreateCompileUnit(CurLoc); SourceManager &SM = M->getContext().getSourceManager(); diff --git a/test/CodeGenObjC/debug-info.m b/test/CodeGenObjC/debug-info.m new file mode 100644 index 0000000000..178e51cf27 --- /dev/null +++ b/test/CodeGenObjC/debug-info.m @@ -0,0 +1,7 @@ +// RUN: clang-cc -triple i386-apple-darwin9 -g -emit-llvm -o %t %s && +// RUN: grep -F 'internal constant [8 x i8] c"-[A m0]\00"' %t + +@interface A @end +@implementation A +-(void) m0 {} +@end