[Top][All Lists]
[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],
>