Add -Wreturn-local-addr, GCC alias for -Wreturn-stack-address
authorAdrian Dole <adriandole@google.com>
Thu, 12 Jan 2023 17:45:03 +0000 (17:45 +0000)
committerChristopher Di Bella <cjdb@google.com>
Thu, 12 Jan 2023 18:25:12 +0000 (18:25 +0000)
For warning compatibility with GCC.

Reviewed By: cjdb

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

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

index ebc177e..65a9d65 100644 (file)
@@ -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
 -------------------------------------------------
index 6f28207..f71bb40 100644 (file)
@@ -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,
index e848189..fb81090 100644 (file)
@@ -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>