relax aarch64 stack-clash tests depedence on alloca.h

2020-01-06  Olivier Hainque  <hainque@adacore.com>
	Alexandre Oliva  <oliva@adacore.com>

	* gcc.target/aarch64/stack-check-alloca.h: Remove
	#include alloca.h. #define alloca __builtin_alloca
	instead.
	* gcc.target/aarch64/stack-check-alloca-1.c: Add
	{ dg-require-effective-target alloca }.
	* gcc.target/aarch64/stack-check-alloca-2.c: Likewise.
	* gcc.target/aarch64/stack-check-alloca-3.c: Likewise.
	* gcc.target/aarch64/stack-check-alloca-4.c: Likewise.
	* gcc.target/aarch64/stack-check-alloca-5.c: Likewise.
	* gcc.target/aarch64/stack-check-alloca-6.c: Likewise.
	* gcc.target/aarch64/stack-check-alloca-7.c: Likewise.
	* gcc.target/aarch64/stack-check-alloca-8.c: Likewise.
	* gcc.target/aarch64/stack-check-alloca-9.c: Likewise.
	* gcc.target/aarch64/stack-check-alloca-10.c: Likewise.

Co-Authored-By: Alexandre Oliva <oliva@adacore.com>

From-SVN: r280010
This commit is contained in:
Olivier Hainque 2020-01-08 15:53:16 +00:00 committed by Olivier Hainque
parent 3629ff8ad6
commit 80d803aefb
12 changed files with 32 additions and 2 deletions

View File

@ -1,3 +1,21 @@
2020-01-08 Olivier Hainque <hainque@adacore.com>
Alexandre Oliva <oliva@adacore.com>
* gcc.target/aarch64/stack-check-alloca.h: Remove
#include alloca.h. #define alloca __builtin_alloca
instead.
* gcc.target/aarch64/stack-check-alloca-1.c: Add
{ dg-require-effective-target alloca }.
* gcc.target/aarch64/stack-check-alloca-2.c: Likewise.
* gcc.target/aarch64/stack-check-alloca-3.c: Likewise.
* gcc.target/aarch64/stack-check-alloca-4.c: Likewise.
* gcc.target/aarch64/stack-check-alloca-5.c: Likewise.
* gcc.target/aarch64/stack-check-alloca-6.c: Likewise.
* gcc.target/aarch64/stack-check-alloca-7.c: Likewise.
* gcc.target/aarch64/stack-check-alloca-8.c: Likewise.
* gcc.target/aarch64/stack-check-alloca-9.c: Likewise.
* gcc.target/aarch64/stack-check-alloca-10.c: Likewise.
2020-01-08 Martin Liska <mliska@suse.cz>
* gcc.dg/ipa/ipa-icf-1.c: Update expected scanned output.

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE y
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 127.5 * 64 * 1024
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 0
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 100
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 2 * 1024
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 63 * 1024
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 63.5 * 1024
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 64 * 1024
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 65 * 1024
#include "stack-check-alloca.h"

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
/* { dg-require-effective-target supports_stack_clash_protection } */
/* { dg-require-effective-target alloca } */
#define SIZE 127 * 64 * 1024
#include "stack-check-alloca.h"

View File

@ -1,4 +1,6 @@
#include <alloca.h>
/* Avoid inclusion of alloca.h, unavailable on some systems. */
#define alloca __builtin_alloca
__attribute__((noinline, noipa))
void g (char* ptr, int y)
@ -10,4 +12,4 @@ void f_caller (int y)
{
char* pStr = alloca(SIZE);
g (pStr, y);
}
}