Projects
Mega:24.03
clang
_service:tar_scm:0007-add-more-warning-options-...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0007-add-more-warning-options-to-fgcc-compatible.patch of Package clang
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, 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
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2