diff --git a/CMakeLists.txt b/CMakeLists.txt index f43d88d0..6ba9a54d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,6 +85,12 @@ else() set(addr_var ) endif() +# [ToDo] Remove SWDEV_331863 related guards from CMakeLists.txt and HipifyAction.cpp when the blocker SWDEV_331863 is overcome +option (SWDEV_331863 "Enables SWDEV-331863 blocker workaround" OFF) +if(SWDEV_331863) + add_definitions(-DSWDEV_331863) +endif() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${addr_var}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -DHIPIFY_CLANG_RES=\\\"${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}\\\" ${addr_var}") diff --git a/src/HipifyAction.cpp b/src/HipifyAction.cpp index 0387290b..3b06d458 100644 --- a/src/HipifyAction.cpp +++ b/src/HipifyAction.cpp @@ -681,10 +681,10 @@ class PPCallbackProxy : public clang::PPCallbacks { public: explicit PPCallbackProxy(HipifyAction &action): hipifyAction(action) {} - + // [ToDo] Remove SWDEV_331863 related guards from CMakeLists.txt and HipifyAction.cpp when the blocker SWDEV_331863 is overcome void InclusionDirective(clang::SourceLocation hash_loc, const clang::Token &include_token, StringRef file_name, bool is_angled, clang::CharSourceRange filename_range, -#if LLVM_VERSION_MAJOR < 15 +#if (LLVM_VERSION_MAJOR < 15) || (LLVM_VERSION_MAJOR == 15 && SWDEV_331863) const clang::FileEntry *file, #else Optional file, @@ -695,7 +695,7 @@ class PPCallbackProxy : public clang::PPCallbacks { , clang::SrcMgr::CharacteristicKind FileType #endif ) override { -#if LLVM_VERSION_MAJOR < 15 +#if (LLVM_VERSION_MAJOR < 15) || (LLVM_VERSION_MAJOR == 15 && SWDEV_331863) auto f = file; #else auto f = &file->getFileEntry();