On Mon, Mar 22, 2010 at 2:29 PM, Douglas Gregor <[email protected]> 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 <[email protected]> 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 >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>> > > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
