[committed] analyzer: don't assume target has alloca [PR102779]

David Malcolm dmalcolm@redhat.com
Wed Nov 17 02:04:29 GMT 2021


Successfully regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r12-5329-ga80d4e098b10d5cd161f55e4fce64a6be9683ed3.

gcc/testsuite/ChangeLog:
	PR analyzer/102779
	* gcc.dg/analyzer/capacity-1.c: Add dg-require-effective-target
	alloca.  Use __builtin_alloca rather than alloca.
	* gcc.dg/analyzer/capacity-3.c: Likewise.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
---
 gcc/testsuite/gcc.dg/analyzer/capacity-1.c | 4 +++-
 gcc/testsuite/gcc.dg/analyzer/capacity-3.c | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/analyzer/capacity-1.c b/gcc/testsuite/gcc.dg/analyzer/capacity-1.c
index 9ea41f72e1d..2d124833296 100644
--- a/gcc/testsuite/gcc.dg/analyzer/capacity-1.c
+++ b/gcc/testsuite/gcc.dg/analyzer/capacity-1.c
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target alloca } */
+
 #include <stdlib.h>
 #include "analyzer-decls.h"
 
@@ -53,7 +55,7 @@ test_malloc (void)
 void
 test_alloca (size_t sz)
 {
-  void *p = alloca (sz);
+  void *p = __builtin_alloca (sz);
   __analyzer_dump_capacity (p); /* { dg-warning "capacity: 'INIT_VAL\\(sz_\[^\n\r\]*\\)'" } */
 }
 
diff --git a/gcc/testsuite/gcc.dg/analyzer/capacity-3.c b/gcc/testsuite/gcc.dg/analyzer/capacity-3.c
index 41e282cee92..c099ff5725d 100644
--- a/gcc/testsuite/gcc.dg/analyzer/capacity-3.c
+++ b/gcc/testsuite/gcc.dg/analyzer/capacity-3.c
@@ -1,10 +1,12 @@
+/* { dg-require-effective-target alloca } */
+
 #include <stdlib.h>
 #include "analyzer-decls.h"
 
 static void __attribute__((noinline))
 __analyzer_callee_1 (size_t inner_sz)
 {
-  void *p = alloca (inner_sz);
+  void *p = __builtin_alloca (inner_sz);
   __analyzer_dump_capacity (p); /* { dg-warning "capacity: 'INIT_VAL\\(outer_sz_\[^\n\r\]*\\)'" } */
 }
 
-- 
2.26.3



More information about the Gcc-patches mailing list