1 Star 0 Fork 57

KarsierOS/clang

forked from src-openEuler/clang 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0007-add-more-warning-options-to-fgcc-compatible.patch 2.73 KB
一键复制 编辑 原始数据 按行查看 历史
From 929e5c1d4f2c36e233a26b480f1dd172b6d63362 Mon Sep 17 00:00:00 2001
From: liyunfei <[email protected]>
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, 25 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,42 @@ 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");
+ 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");
+ // 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");
+ CmdArgs.push_back("-Wno-error=reserved-user-defined-literal");
+ }
+ //other warnings
+ CmdArgs.push_back("-Wno-error=cast-align");
+ CmdArgs.push_back("-Wno-error=enum-conversion");
+ CmdArgs.push_back("-Wno-error=switch");
+ CmdArgs.push_back("-Wno-error=cast-qual");
+ CmdArgs.push_back("-Wno-error=varargs");
+ CmdArgs.push_back("-Wno-error=unused-value");
+ CmdArgs.push_back("-Wno-error=format-nonliteral");
}
#endif
--
2.42.0.windows.2
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/karsier/clang.git
[email protected]:karsier/clang.git
karsier
clang
clang
master

搜索帮助