bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AC_OPENMP broken for IBM xl Fortran compilers


From: Ralf Wildenhues
Subject: Re: AC_OPENMP broken for IBM xl Fortran compilers
Date: Sun, 27 Feb 2011 12:32:05 +0100
User-agent: Mutt/1.5.20 (2010-08-04)

Hi Bruno,

* Ralf Wildenhues wrote on Sun, Feb 20, 2011 at 06:56:49PM CET:
> Bruno, OK to merge to gnulib as below, in Christian's name?

A friendly ping!

Thanks,
Ralf

> 2011-02-20  Christian Rössel  <...>  (tiny change)
>           Markus Geimer  <...>  (tiny change)
> 
>       Fix OpenMP flag detection for various Fortran compilers.
>       * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
>       OpenMP-conditional compilation construct, to force compile
>       failure with missing OpenMP flag.
>       (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
> 
> diff --git a/m4/openmp.m4 b/m4/openmp.m4
> index f2424df..cedfb4c 100644
> --- a/m4/openmp.m4
> +++ b/m4/openmp.m4
> @@ -1,4 +1,4 @@
> -# openmp.m4 serial 7
> +# openmp.m4 serial 8
>  dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
>  dnl This file is free software; the Free Software Foundation
>  dnl gives unlimited permission to copy and/or distribute it,
> @@ -35,7 +35,14 @@ m4_copy([_AC_LANG_OPENMP(C)], [_AC_LANG_OPENMP(C++)])
>  # _AC_LANG_OPENMP(Fortran 77)
>  # ---------------------------
>  m4_define([_AC_LANG_OPENMP(Fortran 77)],
> -[AC_LANG_FUNC_LINK_TRY([omp_get_num_threads])])
> +[
> +      program main
> +      implicit none
> +!$    integer tid
> +      tid = 42
> +      call omp_set_num_threads(2)
> +      end
> +])
>  
>  # _AC_LANG_OPENMP(Fortran)
>  # ---------------------------
> @@ -70,12 +77,14 @@ AC_DEFUN([AC_OPENMP],
>            dnl   SGI C, PGI C         -mp
>            dnl   Tru64 Compaq C       -omp
>            dnl   IBM C (AIX, Linux)   -qsmp=omp
> +          dnl   Cray CCE             -homp
> +          dnl   NEC SX               -Popenmp
>            dnl If in this loop a compiler is passed an option that it doesn't
>            dnl understand or that it misinterprets, the AC_LINK_IFELSE test
>            dnl will fail (since we know that it failed without the option),
>            dnl therefore the loop will continue searching for an option, and
>            dnl no output file called 'penmp' or 'mp' is created.
> -          for ac_option in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp; do
> +          for ac_option in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp 
> -homp -Popenmp; do
>              ac_save_[]_AC_LANG_PREFIX[]FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
>              _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $ac_option"
>              AC_LINK_IFELSE([_AC_LANG_OPENMP],
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]