]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
analyzer: fix uses of alloca in testsuite
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 1 Feb 2023 02:18:22 +0000 (21:18 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Wed, 1 Feb 2023 02:18:22 +0000 (21:18 -0500)
gcc/testsuite/ChangeLog:
* gcc.dg/analyzer/call-summaries-2.c: Add
dg-require-effective-target alloca.
* gcc.dg/analyzer/imprecise-floating-point-1.c: Likewise.
* gcc.dg/analyzer/infinite-recursion-alloca.c: Likewise.
* gcc.dg/analyzer/malloc-callbacks.c: Likewise.
* gcc.dg/analyzer/out-of-bounds-5.c: Likewise.  Remove includes
of <stdio.h> and <alloca.h>.  Use "__builtin_free" rather than
"free", to match uses of "__builtin_malloc".
* gcc.dg/analyzer/putenv-1.c: Add dg-require-effective-target
alloca.
* gcc.dg/analyzer/write-to-string-literal-5.c: Likewise.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c
gcc/testsuite/gcc.dg/analyzer/imprecise-floating-point-1.c
gcc/testsuite/gcc.dg/analyzer/infinite-recursion-alloca.c
gcc/testsuite/gcc.dg/analyzer/malloc-callbacks.c
gcc/testsuite/gcc.dg/analyzer/out-of-bounds-5.c
gcc/testsuite/gcc.dg/analyzer/putenv-1.c
gcc/testsuite/gcc.dg/analyzer/write-to-string-literal-5.c

index 22ca475b2ed15b7f4f9e4b856ed413dccbf50f55..2d82d02e4e22b3c085f153ca89a4ad727ba5a2b2 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-additional-options "-fanalyzer-call-summaries --param analyzer-min-snodes-for-call-summary=0" } */
+/* { dg-require-effective-target alloca } */
 
 /* There need to be at least two calls to a function for the
    call-summarization code to be used.
index d8a3f4884d614d9391ce0a401c3d40a3f1f37ffc..7fe09fb826b96f41d2dd3c2448636645ac22782a 100644 (file)
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target alloca } */
+
 #include <stdlib.h>
 
 /* Tests warn on use of floating-point operands inside the calculation
index 8c50631d8ceb820c4e134ad9930831e7fa1f89eb..87727e8ca25b60f2fd1c0f2890105d09b8bd33f7 100644 (file)
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target alloca } */
+
 typedef __SIZE_TYPE__ size_t;
 
 int test_alloca_1 (void)
index c79f80d376d64e4928ef60f826ebb103e48dbd7e..cf3927fcaeaf475bd2621237045f84bae3bafbc4 100644 (file)
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target alloca } */
+
 #include <stdlib.h>
 
 typedef void *(*allocator_t) (size_t);
index eb6aae0f8cbaa17439cfc0dd4cfe34f879aa00eb..2a61d8ca2362f7dd46f186acbc51066757dd7e59 100644 (file)
@@ -1,9 +1,8 @@
 /* { dg-additional-options "-Wno-unused-but-set-variable" } */
+/* { dg-require-effective-target alloca } */
 
 #include <string.h>
-#include <stdio.h>
 #include <stdlib.h>
-#include <alloca.h>
 #include <stdint.h>
 
 /* Tests with symbolic values.  */
@@ -14,7 +13,7 @@ void test1 (size_t size)
   if (!buf) return;
 
   buf[size] = '\0'; /* { dg-warning "heap-based buffer overflow" } */
-  free (buf);
+  __builtin_free (buf);
 }
 
 void test2 (size_t size)
@@ -23,7 +22,7 @@ void test2 (size_t size)
   if (!buf) return;
 
   buf[size + 1] = '\0'; /* { dg-warning "heap-based buffer overflow" } */
-  free (buf);
+  __builtin_free (buf);
 }
 
 void test3 (size_t size, size_t op)
@@ -32,7 +31,7 @@ void test3 (size_t size, size_t op)
   if (!buf) return;
 
   buf[size + op] = '\0'; /* { dg-warning "heap-based buffer overflow" } */
-  free (buf);
+  __builtin_free (buf);
 }
 
 void test4 (size_t size, unsigned short s)
index 4c3f0ae2e740609ca938b0d7bd5efbad4c99d0d2..543121258c8fade1779aa32a670ec0ad70f928ac 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-additional-options "-Wno-analyzer-null-argument" } */
+/* { dg-require-effective-target alloca } */
 
 #include <stdio.h>
 #include <stdlib.h>
index b7ac4659012c238f5585af8d43d5e9caead6ab4d..42efc49fb22ec8e44d0a04f6b109557f5495b131 100644 (file)
@@ -2,6 +2,7 @@
    notes) works.  */
 
 /* { dg-additional-options "-fanalyzer-show-duplicate-count" } */
+/* { dg-require-effective-target alloca } */
 
 #include "analyzer-decls.h"