diff options
author | Devon Loehr <DKLoehr@users.noreply.github.com> | 2025-05-28 06:15:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-28 12:15:22 +0200 |
commit | 63de20c0de05ce7b8b3968a9d210aa0f3d01acd4 (patch) | |
tree | 45c8ead9d68f31f52836b0a18b331bfac8cf79c6 /clang/lib | |
parent | 8b6e98559de15dc75edddf616ed37c5b6e23dfba (diff) | |
download | llvm-63de20c0de05ce7b8b3968a9d210aa0f3d01acd4.zip llvm-63de20c0de05ce7b8b3968a9d210aa0f3d01acd4.tar.gz llvm-63de20c0de05ce7b8b3968a9d210aa0f3d01acd4.tar.bz2 |
Reland "Add macro to suppress -Wunnecessary-virtual-specifier" (#141091)
This fixes #139614 on non-clang compilers by moving `__has_warning`
completely inside the `#if defined(__clang__)` block. This prevents a
parse failure from compilers which don't recognize `__has_warning`.
Original description:
Followup to #138741.
This adds the requested macro to silence
`-Wunnecessary-virtual-specifier` when declaring virtual anchor
functions in `final` classes, per [LLVM
policy](https://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers).
It also cleans up any remaining instances of the warning, allowing us to
stop disabling it when we build LLVM.
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/ByteCode/InterpFrame.h | 2 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp | 2 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGStmtOpenMP.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChains/Hexagon.h | 4 |
4 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/AST/ByteCode/InterpFrame.h b/clang/lib/AST/ByteCode/InterpFrame.h index 360e6bf..cfebe93 100644 --- a/clang/lib/AST/ByteCode/InterpFrame.h +++ b/clang/lib/AST/ByteCode/InterpFrame.h @@ -119,7 +119,7 @@ public: CodePtr getRetPC() const { return RetPC; } /// Map a location to a source. - virtual SourceInfo getSource(CodePtr PC) const; + SourceInfo getSource(CodePtr PC) const; const Expr *getExpr(CodePtr PC) const; SourceLocation getLocation(CodePtr PC) const; SourceRange getRange(CodePtr PC) const; diff --git a/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp b/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp index f746b48..9e27e63 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp +++ b/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp @@ -323,7 +323,7 @@ public: CheckVarsEscapingDeclContext(CodeGenFunction &CGF, ArrayRef<const ValueDecl *> TeamsReductions) : CGF(CGF), EscapedDecls(llvm::from_range, TeamsReductions) {} - virtual ~CheckVarsEscapingDeclContext() = default; + ~CheckVarsEscapingDeclContext() = default; void VisitDeclStmt(const DeclStmt *S) { if (!S) return; diff --git a/clang/lib/CodeGen/CGStmtOpenMP.cpp b/clang/lib/CodeGen/CGStmtOpenMP.cpp index 803c7ed..89a79a7 100644 --- a/clang/lib/CodeGen/CGStmtOpenMP.cpp +++ b/clang/lib/CodeGen/CGStmtOpenMP.cpp @@ -4783,7 +4783,7 @@ class CheckVarsEscapingUntiedTaskDeclContext final public: explicit CheckVarsEscapingUntiedTaskDeclContext() = default; - virtual ~CheckVarsEscapingUntiedTaskDeclContext() = default; + ~CheckVarsEscapingUntiedTaskDeclContext() = default; void VisitDeclStmt(const DeclStmt *S) { if (!S) return; diff --git a/clang/lib/Driver/ToolChains/Hexagon.h b/clang/lib/Driver/ToolChains/Hexagon.h index e35a224..033d9b4 100644 --- a/clang/lib/Driver/ToolChains/Hexagon.h +++ b/clang/lib/Driver/ToolChains/Hexagon.h @@ -42,8 +42,8 @@ public: bool hasIntegratedCPP() const override { return false; } bool isLinkJob() const override { return true; } - virtual void RenderExtraToolArgs(const JobAction &JA, - llvm::opt::ArgStringList &CmdArgs) const; + void RenderExtraToolArgs(const JobAction &JA, + llvm::opt::ArgStringList &CmdArgs) const; void ConstructJob(Compilation &C, const JobAction &JA, const InputInfo &Output, const InputInfoList &Inputs, const llvm::opt::ArgList &TCArgs, |