[Beignet] [PATCH] GBE: show correct line number in build log

Zhigang Gong zhigang.gong at linux.intel.com
Thu Feb 27 21:52:49 PST 2014


LGTM, pushed, thanks.

On Fri, Feb 28, 2014 at 01:58:20AM +0800, Guo Yejun wrote:
> Sometimes, we insert some code into the kernel,
> it makes the line number reported in build log
> mismatch with the line number in the kernel from
> programer's view, use #line to correct it.
> 
> Signed-off-by: Guo Yejun <yejun.guo at intel.com>
> ---
>  backend/src/backend/program.cpp |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp
> index c2ac83d..f656299 100644
> --- a/backend/src/backend/program.cpp
> +++ b/backend/src/backend/program.cpp
> @@ -558,6 +558,7 @@ namespace gbe {
>      llvm::raw_string_ostream ErrorInfo(ErrorString);
>      llvm::IntrusiveRefCntPtr<clang::DiagnosticOptions> DiagOpts = new clang::DiagnosticOptions();
>      DiagOpts->ShowCarets = false;
> +    DiagOpts->ShowPresumedLoc = true;
>  #if LLVM_VERSION_MINOR <= 1
>      args.push_back("-triple");
>      args.push_back("ptx32");
> @@ -797,6 +798,10 @@ namespace gbe {
>          fwrite(ocl_mathfunc_fastpath_str.c_str(), strlen(ocl_mathfunc_fastpath_str.c_str()), 1, clFile);
>      }
>  
> +    // reset the file number in case we have inserted something into the kernel
> +    std::string resetFileNum = "#line 1\n";
> +    fwrite(resetFileNum.c_str(), strlen(resetFileNum.c_str()), 1, clFile);
> +
>      // Write the source to the cl file
>      fwrite(source, strlen(source), 1, clFile);
>      fclose(clFile);
> -- 
> 1.7.9.5
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list