Hi,

here on FreeBSD we lack the alloca.h header so two test cases fail to compile.

Do the same as I did six years ago for another test case: 'Remove alloca.h and replace it with __builtin_alloca"

Is this ok for trunk?

TIA,
Andreas

2019-09-30  Andreas Tobler  <andre...@gcc.gnu.org>

        * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
        inlcude. Replace alloca () with __builtin_alloca ().
        * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
Index: testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
===================================================================
--- testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c      (revision 
276292)
+++ testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c      (working copy)
@@ -1,7 +1,6 @@
 /* { dg-additional-options "-fopenacc-dim=16:16" } */
 
 #include <openacc.h>
-#include <alloca.h>
 #include <string.h>
 #include <stdio.h>
 #include <gomp-constants.h>
@@ -28,9 +27,9 @@
 {
   int exit = 0;
   int ix;
-  int *gangs = (int *)alloca (gp * sizeof (int));
-  int *workers = (int *)alloca (wp * sizeof (int));
-  int *vectors = (int *)alloca (vp * sizeof (int));
+  int *gangs = (int *)__builtin_alloca (gp * sizeof (int));
+  int *workers = (int *)__builtin_alloca (wp * sizeof (int));
+  int *vectors = (int *)__builtin_alloca (vp * sizeof (int));
   int offloaded = 0;
   
   memset (gangs, 0, gp * sizeof (int));
Index: testsuite/libgomp.oacc-c-c++-common/loop-default.h
===================================================================
--- testsuite/libgomp.oacc-c-c++-common/loop-default.h  (revision 276292)
+++ testsuite/libgomp.oacc-c-c++-common/loop-default.h  (working copy)
@@ -1,5 +1,4 @@
 #include <openacc.h>
-#include <alloca.h>
 #include <string.h>
 #include <stdio.h>
 #include <gomp-constants.h>
@@ -28,9 +27,9 @@
 {
   int exit = 0;
   int ix;
-  int *gangs = (int *)alloca (gp * sizeof (int));
-  int *workers = (int *)alloca (wp * sizeof (int));
-  int *vectors = (int *)alloca (vp * sizeof (int));
+  int *gangs = (int *)__builtin_alloca (gp * sizeof (int));
+  int *workers = (int *)__builtin_alloca (wp * sizeof (int));
+  int *vectors = (int *)__builtin_alloca (vp * sizeof (int));
   int offloaded = 0;
 
   memset (gangs, 0, gp * sizeof (int));

Reply via email to