Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. Pushed to trunk as r13-5615-gd03ae4be2c6d48.
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 <dmalc...@redhat.com> --- gcc/testsuite/gcc.dg/analyzer/call-summaries-2.c | 1 + .../gcc.dg/analyzer/imprecise-floating-point-1.c | 2 ++ .../gcc.dg/analyzer/infinite-recursion-alloca.c | 2 ++ gcc/testsuite/gcc.dg/analyzer/malloc-callbacks.c | 2 ++ gcc/testsuite/gcc.dg/analyzer/out-of-bounds-5.c | 9 ++++----- gcc/testsuite/gcc.dg/analyzer/putenv-1.c | 1 + .../gcc.dg/analyzer/write-to-string-literal-5.c | 1 + 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 22ca475b2ed..2d82d02e4e2 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 d8a3f4884d6..7fe09fb826b 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 8c50631d8ce..87727e8ca25 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 c79f80d376d..cf3927fcaea 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 eb6aae0f8cb..2a61d8ca236 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 4c3f0ae2e74..543121258c8 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 b7ac4659012..42efc49fb22 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" -- 2.26.3