[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