2024-03-15 09:30:54 +08:00
|
|
|
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
|
2024-03-26 21:20:35 +08:00
|
|
|
@@ -4683,11 +4683,37 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
2024-03-15 09:30:54 +08:00
|
|
|
#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");
|
2024-03-26 21:20:35 +08:00
|
|
|
+ CmdArgs.push_back("-Wno-error=language-extension-token");
|
|
|
|
|
+ CmdArgs.push_back("-Wno-error=single-bit-bitfield-constant-conversion");
|
|
|
|
|
+ CmdArgs.push_back("-Wno-error=gnu-variable-sized-type-not-at-end");
|
|
|
|
|
+ CmdArgs.push_back("-Wno-error=header-guard");
|
|
|
|
|
+ CmdArgs.push_back("-Wno-error=return-type-c-linkage");
|
2024-03-15 09:30:54 +08:00
|
|
|
+ // 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");
|
2024-03-26 21:20:35 +08:00
|
|
|
+ CmdArgs.push_back("-Wno-error=switch");
|
2024-03-15 09:30:54 +08:00
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2.42.0.windows.2
|
|
|
|
|
|