diff options
author | David Malcolm <dmalcolm@redhat.com> | 2023-01-31 21:18:22 -0500 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2023-01-31 21:18:22 -0500 |
commit | d03ae4be2c6d48255b18bb35dc25e551bd3a3b9d (patch) | |
tree | 87274ef309170a0f6516a03dfc6f289b61da3be0 | |
parent | 70d34f2a30a5f1a2a09f547d92243db32d79f3f7 (diff) | |
download | gcc-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>
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" |