Hello, the below patch fixes three unresolved and a FAIL test case in libgomp. The FAIL test case can be solved with removing the include of the alloca.h header which is not present on FreeBSD.
On Linux this header will be pulled in via stdlib.h if we define _GNU_SOURCE. And this we do. Tested on Linux/x86_64 and FreeBSD11.0 amd64. On FreeBSD we get all test cases pass. (on Linux too, no regression) Ok for trunk? Thanks, Andreas 2013-12-17 Andreas Tobler <andre...@gcc.gnu.org> * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage. * testsuite/libgomp.c/lock-3.c: Likewise. * testsuite/libgomp.c/pr48591.c: Likewise.
Index: testsuite/libgomp.c/affinity-1.c =================================================================== --- testsuite/libgomp.c/affinity-1.c (revision 206062) +++ testsuite/libgomp.c/affinity-1.c (working copy) @@ -23,7 +23,6 @@ #define _GNU_SOURCE #endif #include "config.h" -#include <alloca.h> #include <omp.h> #include <stdio.h> #include <stdlib.h> Index: testsuite/libgomp.c/icv-2.c =================================================================== --- testsuite/libgomp.c/icv-2.c (revision 206062) +++ testsuite/libgomp.c/icv-2.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do run { target *-*-linux* *-*-gnu* } } */ +/* { dg-do run { target *-*-linux* *-*-gnu* *-*-freebsd* } } */ #ifndef _GNU_SOURCE #define _GNU_SOURCE 1 Index: testsuite/libgomp.c/lock-3.c =================================================================== --- testsuite/libgomp.c/lock-3.c (revision 206062) +++ testsuite/libgomp.c/lock-3.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do run { target *-*-linux* *-*-gnu* } } */ +/* { dg-do run { target *-*-linux* *-*-gnu* *-*-freebsd* } } */ #ifndef _GNU_SOURCE #define _GNU_SOURCE 1 Index: testsuite/libgomp.c/pr48591.c =================================================================== --- testsuite/libgomp.c/pr48591.c (revision 206062) +++ testsuite/libgomp.c/pr48591.c (working copy) @@ -1,5 +1,5 @@ /* PR middle-end/48591 */ -/* { dg-do run { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* ia64-*-linux* } } */ +/* { dg-do run { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* ia64-*-linux* x86_64-*-freebsd* } } */ /* { dg-options "-fopenmp" } */ extern void abort (void);