[cfe-commits] r98959 - /cfe/trunk/lib/CodeGen/CGDebugInfo.cpp

Daniel Dunbar daniel at zuster.org
Thu Mar 25 08:49:56 PDT 2010


On Mon, Mar 22, 2010 at 2:29 PM, Douglas Gregor <dgregor at apple.com> wrote:
>
> On Mar 19, 2010, at 1:26 PM, Daniel Dunbar wrote:
>
>> Hi Doug,
>>
>> A well-placed comment on why we need to do this might be worthwhile,
>> its not totally obvious.
>
> r99215 well-placed enough?

Yup, tx!

>        -Doug
>
>> - Daniel
>>
>> On Fri, Mar 19, 2010 at 7:49 AM, Douglas Gregor <dgregor at apple.com> wrote:
>>> Author: dgregor
>>> Date: Fri Mar 19 09:49:09 2010
>>> New Revision: 98959
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=98959&view=rev
>>> Log:
>>> Try to improve computation of the main file name for debug
>>> information, to address recent gdb failures.
>>>
>>> Modified:
>>>    cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>>>
>>> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=98959&r1=98958&r2=98959&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
>>> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Fri Mar 19 09:49:09 2010
>>> @@ -105,16 +105,19 @@
>>>
>>>   // Get absolute path name.
>>>   SourceManager &SM = CGM.getContext().getSourceManager();
>>> -  std::string MainFileName;
>>> -  if (const FileEntry *MainFile = SM.getFileEntryForID(SM.getMainFileID()))
>>> -    MainFileName = MainFile->getName();
>>> -  else if (CGM.getCodeGenOpts().MainFileName.empty())
>>> +  std::string MainFileName = CGM.getCodeGenOpts().MainFileName;
>>> +  if (MainFileName.empty())
>>>     MainFileName = "<unknown>";
>>> -  else
>>> -    MainFileName = CGM.getCodeGenOpts().MainFileName;
>>> +
>>>   llvm::sys::Path AbsFileName(MainFileName);
>>>   AbsFileName.makeAbsolute();
>>>
>>> +  std::string MainFileDir;
>>> +  if (const FileEntry *MainFile = SM.getFileEntryForID(SM.getMainFileID()))
>>> +    MainFileDir = MainFile->getDir()->getName();
>>> +  else
>>> +    MainFileDir = AbsFileName.getDirname();
>>> +
>>>   unsigned LangTag;
>>>   const LangOptions &LO = CGM.getLangOptions();
>>>   if (LO.CPlusPlus) {
>>> @@ -143,7 +146,7 @@
>>>
>>>   // Create new compile unit.
>>>   TheCU = DebugFactory.CreateCompileUnit(
>>> -    LangTag, AbsFileName.getLast(), AbsFileName.getDirname(), Producer, true,
>>> +    LangTag, AbsFileName.getLast(), MainFileDir, Producer, true,
>>>     LO.Optimize, CGM.getCodeGenOpts().DwarfDebugFlags, RuntimeVers);
>>>  }
>>>
>>>
>>>
>>> _______________________________________________
>>> 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