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....@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@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/beignet