[clang] 8effeb4 - Add -Wreturn-local-addr, GCC alias for -Wreturn-stack-address

Christopher Di Bella via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 12 10:25:56 PST 2023


Author: Adrian Dole
Date: 2023-01-12T18:25:12Z
New Revision: 8effeb44f4a8ae3da8c594fdc69ac46dd6ab6f1b

URL: https://github.com/llvm/llvm-project/commit/8effeb44f4a8ae3da8c594fdc69ac46dd6ab6f1b
DIFF: https://github.com/llvm/llvm-project/commit/8effeb44f4a8ae3da8c594fdc69ac46dd6ab6f1b.diff

LOG: Add -Wreturn-local-addr, GCC alias for -Wreturn-stack-address

For warning compatibility with GCC.

Reviewed By: cjdb

Differential Revision: https://reviews.llvm.org/D139570

Added: 
    

Modified: 
    clang/docs/ReleaseNotes.rst
    clang/include/clang/Basic/DiagnosticGroups.td
    clang/test/SemaCXX/return-stack-addr-2.cpp

Removed: 
    


################################################################################
diff  --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index ebc177ef1b1e..65a9d65715dd 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -449,6 +449,7 @@ Improvements to Clang's diagnostics
   concepts-ts compatibility extension.
 - Clang now diagnoses overflow undefined behavior in a constant expression while
   evaluating a compound assignment with remainder as operand.
+- Add ``-Wreturn-local-addr``, a GCC alias for ``-Wreturn-stack-address``.
 
 Non-comprehensive list of changes in this release
 -------------------------------------------------

diff  --git a/clang/include/clang/Basic/DiagnosticGroups.td b/clang/include/clang/Basic/DiagnosticGroups.td
index 6f282071b525..f71bb401e9a1 100644
--- a/clang/include/clang/Basic/DiagnosticGroups.td
+++ b/clang/include/clang/Basic/DiagnosticGroups.td
@@ -413,6 +413,8 @@ def DanglingField : DiagGroup<"dangling-field">;
 def DanglingInitializerList : DiagGroup<"dangling-initializer-list">;
 def DanglingGsl : DiagGroup<"dangling-gsl">;
 def ReturnStackAddress : DiagGroup<"return-stack-address">;
+// Name of this warning in GCC
+def : DiagGroup<"return-local-addr", [ReturnStackAddress]>;
 def Dangling : DiagGroup<"dangling", [DanglingField,
                                       DanglingInitializerList,
                                       DanglingGsl,

diff  --git a/clang/test/SemaCXX/return-stack-addr-2.cpp b/clang/test/SemaCXX/return-stack-addr-2.cpp
index e848189bde78..fb810902d5e3 100644
--- a/clang/test/SemaCXX/return-stack-addr-2.cpp
+++ b/clang/test/SemaCXX/return-stack-addr-2.cpp
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify -std=c++11 %s
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify -std=c++11 -Wno-return-stack-address -Wreturn-local-addr %s
 
 namespace PR26599 {
 template <typename>


        


More information about the cfe-commits mailing list