clang18/0007-add-more-warning-options-to-fgcc-compatible.patch
liyunfei 5cba42c99e Add more warning options to BUILD_FOR_OPENEULER gcc compatible
Signed-off-by: liyunfei <liyunfei33@huawei.com>
2024-03-15 09:52:28 +08:00

49 lines
2.1 KiB
Diff

From 929e5c1d4f2c36e233a26b480f1dd172b6d63362 Mon Sep 17 00:00:00 2001
From: liyunfei <liyunfei33@huawei.com>
Date: Thu, 14 Mar 2024 16:04:40 +0800
Subject: [PATCH] add more warning options to -fgcc-compatible
---
clang/lib/Driver/ToolChains/Clang.cpp | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 793af55a1e5f..f0da323d8adb 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -4683,11 +4683,31 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
#ifdef BUILD_FOR_OPENEULER
if (Args.hasFlag(options::OPT_fgcc_compatible,
options::OPT_fno_gcc_compatible, false)) {
+ // compatibility relevent warnings
CmdArgs.push_back("-Wno-error=unknown-warning-option");
+ CmdArgs.push_back("-Wno-error=ignored-attributes");
+ // By default, clang reports warnings, but gcc does not.
CmdArgs.push_back("-Wno-error=unused-parameter");
CmdArgs.push_back("-Wno-error=unused-function");
CmdArgs.push_back("-Wno-error=unused-but-set-parameter");
CmdArgs.push_back("-Wno-error=unused-but-set-variable");
+ CmdArgs.push_back("-Wno-error=deprecated-non-prototype");
+ CmdArgs.push_back("-Wno-error=unsafe-buffer-usage");
+ CmdArgs.push_back("-Wno-error=string-plus-int");
+ // By default, clang reports errors, but gcc reports warnings.
+ // when -Werror is passed don't add -Wno-error=*.
+ if(!D.getDiags().getWarningsAsErrors()) {
+ CmdArgs.push_back("-Wno-error=implicit-function-declaration");
+ CmdArgs.push_back("-Wno-error=incompatible-function-pointer-types");
+ CmdArgs.push_back("-Wno-error=register");
+ CmdArgs.push_back("-Wno-error=int-conversion");
+ CmdArgs.push_back("-Wno-error=implicit-int");
+ CmdArgs.push_back("-Wno-error=enum-constexpr-conversion");
+ CmdArgs.push_back("-Wno-error=return-type");
+ }
+ //other warnings
+ CmdArgs.push_back("-Wno-error=cast-align");
+ CmdArgs.push_back("-Wno-error=enum-conversion");
}
#endif
--
2.42.0.windows.2