From 47d6416189fd87cddc5c5ce0e3907d3d7d76742e Mon Sep 17 00:00:00 2001 From: Luke Drummond Date: Wed, 4 Jan 2017 12:11:04 +0000 Subject: Add a debuginfo version check for RenderScript modules Added an extra field parser to the `RSModuleDescriptor` class enabling us to check whether the versions of LLVM used to generated the debug symbols match across the RenderScript compiler frontend (llvm-rs-cc) and backend (bcc); if they do not, we warn the user that the debugging experience may be suboptimal as LLVM IR debug information has no compatibility guarantees. llvm-svn: 290957 --- .../RenderScript/RenderScriptRuntime/RenderScriptRuntime.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h') diff --git a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h index a1211a2814b7..5b2bb57ac8c8 100644 --- a/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h +++ b/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h @@ -203,6 +203,11 @@ struct RSReductionDescriptor { }; class RSModuleDescriptor { + std::string m_slang_version; + std::string m_bcc_version; + + bool ParseVersionInfo(llvm::StringRef *, size_t n_lines); + bool ParseExportForeachCount(llvm::StringRef *, size_t n_lines); bool ParseExportVarCount(llvm::StringRef *, size_t n_lines); @@ -222,6 +227,8 @@ public: void Dump(Stream &strm) const; + void WarnIfVersionMismatch(Stream *s) const; + const lldb::ModuleSP m_module; std::vector m_kernels; std::vector m_globals; -- cgit v1.2.3