noexcept () is a syntax error; I think you mean plain "noexcept" here.
In C++11 complex.h does not #define complex, so the testcase should use _Complex or __complex.
Tested x86_64-pc-linux-gnu, applying to trunk as obvious.
commit edb5a4d326b2e0ad7e4ed777d8f2917fd2f4eb2a Author: Jason Merrill <ja...@redhat.com> Date: Fri May 8 16:09:58 2015 -0500 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax. * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use _Complex. diff --git a/libgomp/openacc.h b/libgomp/openacc.h index 3343241..44a1526 100644 --- a/libgomp/openacc.h +++ b/libgomp/openacc.h @@ -39,7 +39,7 @@ extern "C" { #endif #if __cplusplus >= 201103 -# define __GOACC_NOTHROW noexcept () +# define __GOACC_NOTHROW noexcept #elif __cplusplus # define __GOACC_NOTHROW throw () #else /* Not C++ */ diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-4.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-4.c index d7da19e..eab2428 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-4.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/reduction-4.c @@ -14,7 +14,7 @@ main(void) { const int n = 1000; int i; - double complex vresult, result, array[n]; + double _Complex vresult, result, array[n]; bool lvresult, lresult; for (i = 0; i < n; i++)