aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2023-01-31 21:18:22 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2023-01-31 21:18:22 -0500
commitd03ae4be2c6d48255b18bb35dc25e551bd3a3b9d (patch)
tree87274ef309170a0f6516a03dfc6f289b61da3be0
parent70d34f2a30a5f1a2a09f547d92243db32d79f3f7 (diff)
downloadgcc-d03ae4be2c6d48255b18bb35dc25e551bd3a3b9d.zip
gcc-d03ae4be2c6d48255b18bb35dc25e551bd3a3b9d.tar.gz
gcc-d03ae4be2c6d48255b18bb35dc25e551bd3a3b9d.tar.bz2
analyzer: fix uses of alloca in testsuite
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>
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/imprecise-floating-point-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/infinite-recursion-alloca.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/malloc-callbacks.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/out-of-bounds-5.c9
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/putenv-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/write-to-string-literal-5.c1
7 files changed, 13 insertions, 5 deletions
diff --git a/gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c b/gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c
index 22ca475..2d82d02 100644
--- a/gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c
+++ b/gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c
@@ -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.
diff --git a/gcc/testsuite/gcc.dg/analyzer/imprecise-floating-point-1.c b/gcc/testsuite/gcc.dg/analyzer/imprecise-floating-point-1.c
index d8a3f48..7fe09fb 100644
--- a/gcc/testsuite/gcc.dg/analyzer/imprecise-floating-point-1.c
+++ b/gcc/testsuite/gcc.dg/analyzer/imprecise-floating-point-1.c
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target alloca } */
+
#include <stdlib.h>
/* Tests warn on use of floating-point operands inside the calculation
diff --git a/gcc/testsuite/gcc.dg/analyzer/infinite-recursion-alloca.c b/gcc/testsuite/gcc.dg/analyzer/infinite-recursion-alloca.c
index 8c50631..87727e8 100644
--- a/gcc/testsuite/gcc.dg/analyzer/infinite-recursion-alloca.c
+++ b/gcc/testsuite/gcc.dg/analyzer/infinite-recursion-alloca.c
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target alloca } */
+
typedef __SIZE_TYPE__ size_t;
int test_alloca_1 (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/malloc-callbacks.c b/gcc/testsuite/gcc.dg/analyzer/malloc-callbacks.c
index c79f80d..cf3927f 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-callbacks.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-callbacks.c
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target alloca } */
+
#include <stdlib.h>
typedef void *(*allocator_t) (size_t);
diff --git a/gcc/testsuite/gcc.dg/analyzer/out-of-bounds-5.c b/gcc/testsuite/gcc.dg/analyzer/out-of-bounds-5.c
index eb6aae0..2a61d8c 100644
--- a/gcc/testsuite/gcc.dg/analyzer/out-of-bounds-5.c
+++ b/gcc/testsuite/gcc.dg/analyzer/out-of-bounds-5.c
@@ -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)
diff --git a/gcc/testsuite/gcc.dg/analyzer/putenv-1.c b/gcc/testsuite/gcc.dg/analyzer/putenv-1.c
index 4c3f0ae..5431212 100644
--- a/gcc/testsuite/gcc.dg/analyzer/putenv-1.c
+++ b/gcc/testsuite/gcc.dg/analyzer/putenv-1.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-Wno-analyzer-null-argument" } */
+/* { dg-require-effective-target alloca } */
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.dg/analyzer/write-to-string-literal-5.c b/gcc/testsuite/gcc.dg/analyzer/write-to-string-literal-5.c
index b7ac465..42efc49 100644
--- a/gcc/testsuite/gcc.dg/analyzer/write-to-string-literal-5.c
+++ b/gcc/testsuite/gcc.dg/analyzer/write-to-string-literal-5.c
@@ -2,6 +2,7 @@
notes) works. */
/* { dg-additional-options "-fanalyzer-show-duplicate-count" } */
+/* { dg-require-effective-target alloca } */
#include "analyzer-decls.h"