From cda65bcef44e7a21274422987492d6b63e2eeee8 Mon Sep 17 00:00:00 2001 From: Pavel V Chupin Date: Sat, 17 Apr 2021 01:23:10 -0700 Subject: [PATCH 1/6] Fix warnings on clang-based build * CompilerInvocation.cpp: error: '&&' within '||' [-Werror,-Wlogical-op-parentheses] * clang/lib/Sema/SemaSYCL.cpp: error: private field 'Footer' is not used [-Werror,-Wunused-private-field] * SPIRVUtil.cpp: error: private field 'RetTy' is not used [-Werror,-Wunused-private-field] * os_util.cpp: comparison of integers of different signs: 'int' and 'const unsigned long long' [-Werror,-Wsign-compare] Signed-off-by: Pavel V Chupin --- clang/lib/Frontend/CompilerInvocation.cpp | 7 ++++--- clang/lib/Sema/SemaSYCL.cpp | 3 +++ llvm-spirv/lib/SPIRV/SPIRVUtil.cpp | 3 +++ sycl/source/detail/os_util.cpp | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index e6b74741c713b..1d41ea95324c1 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -521,9 +521,10 @@ static bool FixupInvocation(CompilerInvocation &Invocation, static unsigned getOptimizationLevel(ArgList &Args, InputKind IK, DiagnosticsEngine &Diags) { unsigned DefaultOpt = llvm::CodeGenOpt::None; - if ((IK.getLanguage() == Language::OpenCL || - IK.getLanguage() == Language::OpenCLCXX) && - !Args.hasArg(OPT_cl_opt_disable) || Args.hasArg(OPT_fsycl_is_device)) + if (((IK.getLanguage() == Language::OpenCL || + IK.getLanguage() == Language::OpenCLCXX) && + !Args.hasArg(OPT_cl_opt_disable)) || + Args.hasArg(OPT_fsycl_is_device)) DefaultOpt = llvm::CodeGenOpt::Default; if (Arg *A = Args.getLastArg(options::OPT_O_Group)) { diff --git a/clang/lib/Sema/SemaSYCL.cpp b/clang/lib/Sema/SemaSYCL.cpp index c64da6ba38f7f..7d661f8d537f1 100644 --- a/clang/lib/Sema/SemaSYCL.cpp +++ b/clang/lib/Sema/SemaSYCL.cpp @@ -3188,6 +3188,9 @@ class SyclKernelIntHeaderCreator : public SyclKernelFieldHandler { }; class SyclKernelIntFooterCreator : public SyclKernelFieldHandler { +#ifdef __clang__ + [[maybe_unused]] +#endif SYCLIntegrationFooter &Footer; public: diff --git a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp index 164781add983f..8a6a3199e3094 100644 --- a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp +++ b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp @@ -1720,6 +1720,9 @@ class OpenCLStdToSPIRVFriendlyIRMangleInfo : public BuiltinFuncMangleInfo { private: OCLExtOpKind ExtOpId; ArrayRef ArgTys; +#ifdef __clang__ + [[maybe_unused]] +#endif Type *RetTy; }; } // namespace diff --git a/sycl/source/detail/os_util.cpp b/sycl/source/detail/os_util.cpp index 9fa163825aa41..36d42624d6714 100644 --- a/sycl/source/detail/os_util.cpp +++ b/sycl/source/detail/os_util.cpp @@ -218,7 +218,7 @@ std::string OSUtil::getDirName(const char *Path) { // Remove trailing directory separators Tmp.erase(Tmp.find_last_not_of("/\\") + 1, std::string::npos); - int pos = Tmp.find_last_of("/\\"); + size_t pos = Tmp.find_last_of("/\\"); if (pos != std::string::npos) return Tmp.substr(0, pos); From 636bf7da0253917b5074f4ac1f06023bd3a7e9b8 Mon Sep 17 00:00:00 2001 From: Pavel Chupin Date: Sat, 17 Apr 2021 11:05:57 -0700 Subject: [PATCH 2/6] Apply suggestions from code review Co-authored-by: Aaron Ballman --- clang/lib/Sema/SemaSYCL.cpp | 5 +---- llvm-spirv/lib/SPIRV/SPIRVUtil.cpp | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/clang/lib/Sema/SemaSYCL.cpp b/clang/lib/Sema/SemaSYCL.cpp index 7d661f8d537f1..395191d3c4796 100644 --- a/clang/lib/Sema/SemaSYCL.cpp +++ b/clang/lib/Sema/SemaSYCL.cpp @@ -3188,10 +3188,7 @@ class SyclKernelIntHeaderCreator : public SyclKernelFieldHandler { }; class SyclKernelIntFooterCreator : public SyclKernelFieldHandler { -#ifdef __clang__ - [[maybe_unused]] -#endif - SYCLIntegrationFooter &Footer; + LLVM_ATTRIBUTE_UNUSED SYCLIntegrationFooter &Footer; public: SyclKernelIntFooterCreator(Sema &S, SYCLIntegrationFooter &F) diff --git a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp index 8a6a3199e3094..597ff1b0ec424 100644 --- a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp +++ b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp @@ -1720,10 +1720,7 @@ class OpenCLStdToSPIRVFriendlyIRMangleInfo : public BuiltinFuncMangleInfo { private: OCLExtOpKind ExtOpId; ArrayRef ArgTys; -#ifdef __clang__ - [[maybe_unused]] -#endif - Type *RetTy; + LLVM_MAYBE_UNUSED Type *RetTy; }; } // namespace From 8b934cedb17aa74f9ef4fe477a39bb19bcbf01c6 Mon Sep 17 00:00:00 2001 From: Pavel V Chupin Date: Sat, 17 Apr 2021 11:30:25 -0700 Subject: [PATCH 3/6] Applying review suggestions --- llvm-spirv/lib/SPIRV/SPIRVUtil.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp index 597ff1b0ec424..19d4c47d31a3b 100644 --- a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp +++ b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp @@ -1720,7 +1720,7 @@ class OpenCLStdToSPIRVFriendlyIRMangleInfo : public BuiltinFuncMangleInfo { private: OCLExtOpKind ExtOpId; ArrayRef ArgTys; - LLVM_MAYBE_UNUSED Type *RetTy; + LLVM_ATTRIBUTE_UNUSED Type *RetTy; }; } // namespace From 45c1d04e959ae5954624aca165ee9ad7da93abdf Mon Sep 17 00:00:00 2001 From: Pavel V Chupin Date: Sat, 17 Apr 2021 14:14:19 -0700 Subject: [PATCH 4/6] Remove SPIRV change from the patch --- llvm-spirv/lib/SPIRV/SPIRVUtil.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp index 19d4c47d31a3b..164781add983f 100644 --- a/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp +++ b/llvm-spirv/lib/SPIRV/SPIRVUtil.cpp @@ -1720,7 +1720,7 @@ class OpenCLStdToSPIRVFriendlyIRMangleInfo : public BuiltinFuncMangleInfo { private: OCLExtOpKind ExtOpId; ArrayRef ArgTys; - LLVM_ATTRIBUTE_UNUSED Type *RetTy; + Type *RetTy; }; } // namespace From 2243543acf03b3d05284341b019d5eed71441df3 Mon Sep 17 00:00:00 2001 From: Pavel V Chupin Date: Sat, 17 Apr 2021 19:33:43 -0700 Subject: [PATCH 5/6] Replace LLVM_ATTRIBUTE_UNUSED with fake use LLVM_ATTRIBUTE_UNUSED produces warning/error with GCC --- clang/lib/Sema/SemaSYCL.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Sema/SemaSYCL.cpp b/clang/lib/Sema/SemaSYCL.cpp index 395191d3c4796..e1830b88349b4 100644 --- a/clang/lib/Sema/SemaSYCL.cpp +++ b/clang/lib/Sema/SemaSYCL.cpp @@ -3188,11 +3188,11 @@ class SyclKernelIntHeaderCreator : public SyclKernelFieldHandler { }; class SyclKernelIntFooterCreator : public SyclKernelFieldHandler { - LLVM_ATTRIBUTE_UNUSED SYCLIntegrationFooter &Footer; + SYCLIntegrationFooter &Footer; public: SyclKernelIntFooterCreator(Sema &S, SYCLIntegrationFooter &F) - : SyclKernelFieldHandler(S), Footer(F) {} + : SyclKernelFieldHandler(S), Footer(F) {(void)Footer;} }; } // namespace From 9a781d2e73fd75bd27185d5bbefbdb26255a4548 Mon Sep 17 00:00:00 2001 From: Pavel V Chupin Date: Sat, 17 Apr 2021 19:38:41 -0700 Subject: [PATCH 6/6] clang-format --- clang/lib/Sema/SemaSYCL.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/lib/Sema/SemaSYCL.cpp b/clang/lib/Sema/SemaSYCL.cpp index e1830b88349b4..7cd31c670852f 100644 --- a/clang/lib/Sema/SemaSYCL.cpp +++ b/clang/lib/Sema/SemaSYCL.cpp @@ -3192,7 +3192,9 @@ class SyclKernelIntFooterCreator : public SyclKernelFieldHandler { public: SyclKernelIntFooterCreator(Sema &S, SYCLIntegrationFooter &F) - : SyclKernelFieldHandler(S), Footer(F) {(void)Footer;} + : SyclKernelFieldHandler(S), Footer(F) { + (void)Footer; // workaround for unused field warning + } }; } // namespace