From 1f0a57bd54aed558e0167016dd980177f88f8480 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Tue, 28 Sep 2021 15:15:47 +0200 Subject: [PATCH] libgomp: Only check for 2*sizeof(void*) int type with Fortran [PR96661] The depend type is a struct with two pointer members for C/C++ - but for Fortran OpenMP requires an integer type with kind = omp_depend_kind. Thus, libgomp's configure checks that an integer type/kind with size 2*sizeof(void*) is available. However, this integer type/kind is not needed when building without Fortran support. Thus, only check this when Fortran is enabled. libgomp/ PR libgomp/96661 * configure.ac: Only check for int-type = 2*size_t support when building with Fortran support. * configure: Regenerate. --- libgomp/configure | 16 +++++++++------- libgomp/configure.ac | 16 +++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/libgomp/configure b/libgomp/configure index 6161da5..4bc9b38 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -17007,13 +17007,15 @@ fi if test $OMP_NEST_LOCK_25_SIZE -gt 8 || test $OMP_NEST_LOCK_25_ALIGN -gt $OMP_NEST_LOCK_25_SIZE; then OMP_NEST_LOCK_25_KIND=8 fi -if test $OMP_DEPEND_KIND -eq 16; then - if test $OMP_INT128_SIZE -ne 16; then - as_fn_error $? "unsupported system, cannot find Fortran int kind=16, needed for omp_depend_kind" "$LINENO" 5 - fi -else - if test $OMP_DEPEND_KIND -ne 8; then - as_fn_error $? "unsupported system, cannot find Fortran integer kind for omp_depend_kind" "$LINENO" 5 +if test "$ac_cv_fc_compiler_gnu" = yes; then + if test $OMP_DEPEND_KIND -eq 16; then + if test $OMP_INT128_SIZE -ne 16; then + as_fn_error $? "unsupported system, cannot find Fortran int kind=16, needed for omp_depend_kind" "$LINENO" 5 + fi + else + if test $OMP_DEPEND_KIND -ne 8; then + as_fn_error $? "unsupported system, cannot find Fortran integer kind for omp_depend_kind" "$LINENO" 5 + fi fi fi diff --git a/libgomp/configure.ac b/libgomp/configure.ac index 7df80a3..bfb613b 100644 --- a/libgomp/configure.ac +++ b/libgomp/configure.ac @@ -438,13 +438,15 @@ fi if test $OMP_NEST_LOCK_25_SIZE -gt 8 || test $OMP_NEST_LOCK_25_ALIGN -gt $OMP_NEST_LOCK_25_SIZE; then OMP_NEST_LOCK_25_KIND=8 fi -if test $OMP_DEPEND_KIND -eq 16; then - if test $OMP_INT128_SIZE -ne 16; then - AC_MSG_ERROR([unsupported system, cannot find Fortran int kind=16, needed for omp_depend_kind]) - fi -else - if test $OMP_DEPEND_KIND -ne 8; then - AC_MSG_ERROR([unsupported system, cannot find Fortran integer kind for omp_depend_kind]) +if test "$ac_cv_fc_compiler_gnu" = yes; then + if test $OMP_DEPEND_KIND -eq 16; then + if test $OMP_INT128_SIZE -ne 16; then + AC_MSG_ERROR([unsupported system, cannot find Fortran int kind=16, needed for omp_depend_kind]) + fi + else + if test $OMP_DEPEND_KIND -ne 8; then + AC_MSG_ERROR([unsupported system, cannot find Fortran integer kind for omp_depend_kind]) + fi fi fi -- 2.7.4