From: David Malcolm Date: Wed, 1 Feb 2023 02:18:22 +0000 (-0500) Subject: analyzer: fix uses of alloca in testsuite X-Git-Tag: basepoints/gcc-14~1592 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d03ae4be2c6d48255b18bb35dc25e551bd3a3b9d;p=thirdparty%2Fgcc.git 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 and . 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 --- diff --git a/gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c b/gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c index 22ca475b2ed1..2d82d02e4e22 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 d8a3f4884d61..7fe09fb826b9 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 /* 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 8c50631d8ceb..87727e8ca25b 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 c79f80d376d6..cf3927fcaeaf 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 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 eb6aae0f8cba..2a61d8ca2362 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 -#include #include -#include #include /* 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 4c3f0ae2e740..543121258c8f 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 #include 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 b7ac4659012c..42efc49fb22e 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"