[cfe-commits] r84922 - in /cfe/trunk: lib/CodeGen/CGDebugInfo.cpp lib/CodeGen/CGDebugInfo.h lib/CodeGen/CodeGenFunction.cpp test/CodeGen/debug-info.c

Devang Patel dpatel at apple.com
Fri Oct 23 09:31:39 PDT 2009


On Oct 23, 2009, at 8:59 AM, Daniel Dunbar wrote:

> Very nice find Mike!
>
> On our internal buildbot that runs the gdb test suite, this change (or
> one near it) dropped us to 532 failures (from 736)! That's about 160
> tests better than llvm-gcc! :)

Yay!

Don't forget clang buildbot running gdb test suite uses g++ for C++  
tests.

-
Devang

>
> - Daniel
>
> On Thu, Oct 22, 2009 at 6:52 PM, Mike Stump <mrs at apple.com> wrote:
>> Author: mrs
>> Date: Thu Oct 22 20:52:13 2009
>> New Revision: 84922
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=84922&view=rev
>> Log:
>> Fixup the return type of functions.
>>
>> Modified:
>>    cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>>    cfe/trunk/lib/CodeGen/CGDebugInfo.h
>>    cfe/trunk/lib/CodeGen/CodeGenFunction.cpp
>>    cfe/trunk/test/CodeGen/debug-info.c
>>
>> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=84922&r1=84921&r2=84922&view=diff
>>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
>> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Thu Oct 22 20:52:13 2009
>> @@ -888,7 +888,7 @@
>>
>>  /// EmitFunctionStart - Constructs the debug code for entering a  
>> function -
>>  /// "llvm.dbg.func.start.".
>> -void CGDebugInfo::EmitFunctionStart(const char *Name, QualType  
>> ReturnType,
>> +void CGDebugInfo::EmitFunctionStart(const char *Name, QualType  
>> FnType,
>>                                     llvm::Function *Fn,
>>                                     CGBuilderTy &Builder) {
>>   const char *LinkageName = Name;
>> @@ -906,7 +906,7 @@
>>
>>   llvm::DISubprogram SP =
>>     DebugFactory.CreateSubprogram(Unit, Name, Name, LinkageName,  
>> Unit, LineNo,
>> -                                  getOrCreateType(ReturnType, Unit),
>> +                                  getOrCreateType(FnType, Unit),
>>                                   Fn->hasInternalLinkage(), true/ 
>> *definition*/);
>>
>>  #ifndef ATTACH_DEBUG_INFO_TO_AN_INSN
>>
>> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.h
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.h?rev=84922&r1=84921&r2=84922&view=diff
>>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- cfe/trunk/lib/CodeGen/CGDebugInfo.h (original)
>> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.h Thu Oct 22 20:52:13 2009
>> @@ -88,7 +88,7 @@
>>
>>   /// EmitFunctionStart - Emit a call to llvm.dbg.function.start to  
>> indicate
>>   /// start of a new function.
>> -  void EmitFunctionStart(const char *Name, QualType ReturnType,
>> +  void EmitFunctionStart(const char *Name, QualType FnType,
>>                          llvm::Function *Fn, CGBuilderTy &Builder);
>>
>>   /// EmitRegionStart - Emit a call to llvm.dbg.region.start to  
>> indicate start
>>
>> Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.cpp?rev=84922&r1=84921&r2=84922&view=diff
>>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- cfe/trunk/lib/CodeGen/CodeGenFunction.cpp (original)
>> +++ cfe/trunk/lib/CodeGen/CodeGenFunction.cpp Thu Oct 22 20:52:13  
>> 2009
>> @@ -167,18 +167,20 @@
>>
>>   Builder.SetInsertPoint(EntryBB);
>>
>> +  QualType FnType = getContext().getFunctionType(RetTy, 0, 0,  
>> false, 0);
>> +
>>   // Emit subprogram debug descriptor.
>>   // FIXME: The cast here is a huge hack.
>>   if (CGDebugInfo *DI = getDebugInfo()) {
>>     DI->setLocation(StartLoc);
>>     if (isa<FunctionDecl>(D)) {
>> -      DI->EmitFunctionStart(CGM.getMangledName(GD), RetTy, CurFn,  
>> Builder);
>> +      DI->EmitFunctionStart(CGM.getMangledName(GD), FnType, CurFn,  
>> Builder);
>>     } else {
>>       // Just use LLVM function name.
>>
>>       // FIXME: Remove unnecessary conversion to std::string when  
>> API settles.
>>       DI->EmitFunctionStart(std::string(Fn->getName()).c_str(),
>> -                            RetTy, CurFn, Builder);
>> +                            FnType, CurFn, Builder);
>>     }
>>   }
>>
>>
>> Modified: cfe/trunk/test/CodeGen/debug-info.c
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/debug-info.c?rev=84922&r1=84921&r2=84922&view=diff
>>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- cfe/trunk/test/CodeGen/debug-info.c (original)
>> +++ cfe/trunk/test/CodeGen/debug-info.c Thu Oct 22 20:52:13 2009
>> @@ -1,10 +1,12 @@
>> -// RUN: clang-cc -o %t --emit-llvm -g %s
>> +// RUN: clang-cc -o %t --emit-llvm -g %s &&
>> +// RUN: FileCheck --input-file=%t %s
>>
>>  // PR3023
>>  void convert(void) {
>>   struct { typeof(0) f0; } v0;
>>  }
>>
>> +
>>  // PR2784
>>  struct OPAQUE;
>>  typedef struct OPAQUE *PTR;
>> @@ -19,9 +21,11 @@
>>   return a0->p;
>>  }
>>
>> +
>>  // PR3134
>>  char xpto[];
>>
>> +
>>  // PR3427
>>  struct foo {
>>   int a;
>> @@ -29,9 +33,16 @@
>>  };
>>  struct foo bar;
>>
>> +
>>  // PR4143
>>  struct foo2 {
>>   enum bar *bar;
>>  };
>>
>>  struct foo2 foo2;
>> +
>> +
>> +// CHECK: "barfoo"
>> +typedef int barfoo;
>> +barfoo foo() {
>> +}
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>




More information about the cfe-commits mailing list