[committed] libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
Commit Message
In PR testsuite/102910 there was some discussion about alloca.h and
whether that header exists or whether 'alloca' is provided by stdlib.h
or ...
Well, some grepping showed that libgomp.oacc-c-c++-common/loop-gwv-2.c
also used 'alloca'. Solution: Do it like other testcases and use
__builtin_alloca. (I think this will fail on nvptx, but otherwise
it should now pass on more systems.)
I have only tested it on x86-64, where it passed before and after,
but I do see in gcc-testresults@ fails (even though I don't know
whether those fails are for this issue or others).
Committed as Rev. r12-4691.
Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
commit 72dc270be793f159a3a038bef41542d85550b331
Author: Tobias Burnus <tobias@codesourcery.com>
Date: Mon Oct 25 20:40:13 2021 +0200
libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
Some systems do not have <alloca.h> but provide alloca differently, e.g.
via stdlib.h. Do it like other testcases do and use __builtin_alloca.
libgomp/ChangeLog:
PR testsuite/102910
* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
instead of #include <alloca.h> + alloca.
---
libgomp/testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
@@ -6,7 +6,6 @@
#include <stdio.h>
#include <openacc.h>
-#include <alloca.h>
#include <string.h>
#include <gomp-constants.h>
#include <stdlib.h>
@@ -78,9 +77,9 @@ int main ()
vectorsize = __builtin_goacc_parlevel_size (GOMP_DIM_VECTOR);
}
- gangdist = (int *) alloca (gangsize * sizeof (int));
- workerdist = (int *) alloca (workersize * sizeof (int));
- vectordist = (int *) alloca (vectorsize * sizeof (int));
+ gangdist = (int *) __builtin_alloca (gangsize * sizeof (int));
+ workerdist = (int *) __builtin_alloca (workersize * sizeof (int));
+ vectordist = (int *) __builtin_alloca (vectorsize * sizeof (int));
memset (gangdist, 0, gangsize * sizeof (int));
memset (workerdist, 0, workersize * sizeof (int));
memset (vectordist, 0, vectorsize * sizeof (int));