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

Daniel Dunbar daniel at zuster.org
Fri Mar 19 13:26:13 PDT 2010


Hi Doug,

A well-placed comment on why we need to do this might be worthwhile,
its not totally obvious.

 - 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