Patchwork Add libquadmath - and use it in gfortran (round SIX)

login
register
mail settings
Submitter Tobias Burnus
Date Nov. 15, 2010, 9:10 a.m.
Message ID <4CE0F910.90301@net-b.de>
Download mbox | patch
Permalink /patch/71202/
State New
Headers show

Comments

Tobias Burnus - Nov. 15, 2010, 9:10 a.m.
Dear all, dear Richard and dear Ian,

The patch has been reviewed by the brand-new build-maintainer Ralf 
(build part), by Steve (Fortran part), includes suggestions and fixes by 
Joseph, Jakub, Ralf, Steve and others. It has been bootstraped and 
regtested on x86-64-Linux, x86-64-Darwin, x86-64 and i686 FreeBSD and 
Cygwin.

Thus, I think it is time for a review of a global maintainer.

The patch consists of

a) The libquadmath library itself, which is licensed under the LGPL:  
http://gcc.gnu.org/ml/gcc-patches/2010-11/msg00790/libquadmath.tar.bz2

b) A patch to change its configure.ac to use "subdir-objects": Attached.

c) The patch to build and to use libquadmath in gfortran and 
libgfortran: Attached.

d) The changelog at http://gcc.gnu.org/ml/gcc-patches/2010-11/txt00112.txt

e) A test case at http://gcc.gnu.org/ml/gcc-patches/2010-11/txt00070.txt


Changes since round FIVE 
(http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01442.html):

* Addition of patch (b): Suggested change by Ralf at 
http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01477.html
* Patch (c) contains the changes for Ralf's review comment at 
http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01473.html

(As those changes are minor, I have not included an update of the 
generated files; you can find those for round FOUR at  
http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01442/quad-gen.diff.bz2 )

Is the patch OK for the trunk?

Tobias
Jack Howarth - Nov. 15, 2010, 3:26 p.m.
On Mon, Nov 15, 2010 at 10:10:40AM +0100, Tobias Burnus wrote:
> Dear all, dear Richard and dear Ian,
>
> The patch has been reviewed by the brand-new build-maintainer Ralf  
> (build part), by Steve (Fortran part), includes suggestions and fixes by  
> Joseph, Jakub, Ralf, Steve and others. It has been bootstraped and  
> regtested on x86-64-Linux, x86-64-Darwin, x86-64 and i686 FreeBSD and  
> Cygwin.
>
> Thus, I think it is time for a review of a global maintainer.
>
> The patch consists of
>
> a) The libquadmath library itself, which is licensed under the LGPL:   
> http://gcc.gnu.org/ml/gcc-patches/2010-11/msg00790/libquadmath.tar.bz2
>
> b) A patch to change its configure.ac to use "subdir-objects": Attached.
>
> c) The patch to build and to use libquadmath in gfortran and  
> libgfortran: Attached.
>
> d) The changelog at http://gcc.gnu.org/ml/gcc-patches/2010-11/txt00112.txt
>
> e) A test case at http://gcc.gnu.org/ml/gcc-patches/2010-11/txt00070.txt
>
>
> Changes since round FIVE  
> (http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01442.html):
>
> * Addition of patch (b): Suggested change by Ralf at  
> http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01477.html
> * Patch (c) contains the changes for Ralf's review comment at  
> http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01473.html
>
> (As those changes are minor, I have not included an update of the  
> generated files; you can find those for round FOUR at   
> http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01442/quad-gen.diff.bz2 )
>
> Is the patch OK for the trunk?
>
> Tobias


> --- /dev/shm/libquadmath/configure.ac	2010-11-08 20:58:50.000000000 +0100
> +++ libquadmath/configure.ac	2010-11-14 20:08:23.000000000 +0100
> @@ -23,10 +23,10 @@ AC_CONFIG_HEADER(config.h)
>  AC_CANONICAL_SYSTEM
>  target_alias=${target_alias-$host_alias}
>  
> -AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Werror])
> +AM_INIT_AUTOMAKE([1.9.0 foreign subdir-objects no-dist -Wall -Werror])
>  
>  AC_PROG_CC
> -
> +AM_PROG_CC_C_O
>  
>  AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
>  AC_ARG_ENABLE(version-specific-runtime-libs,


Tobias,
  How did you regenerate configure in libquadmath with this change? Using autoconf 2.64,
I keep getting...

configure.ac:29: error: possibly undefined macro: AM_PROG_CC_C_O
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

            Jack
Tobias Burnus - Nov. 15, 2010, 3:52 p.m.
On 11/15/2010 04:26 PM, Jack Howarth wrote:
>    How did you regenerate configure in libquadmath with this change?

Well, I was using --enable-maintainer-mode; the result was:

tob@archimedes:~/projects/gcc-git/gcc/libquadmath> ll configure*
-rw-r--r-- 1 tob users   4947 Nov 14 20:08 configure.ac
-rw-r--r-- 1 tob users 396718 Nov 14 20:15 configure

tob@archimedes:~/projects/gcc-git/gcc/libquadmath> grep CC_C_O configure.ac
AM_PROG_CC_C_O

tob@archimedes:~/projects/gcc-git/gcc/libquadmath> head -n 3 configure
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.64 for GCC Quad-precision Math Library 0.1.

> Using autoconf 2.64,
> I keep getting...
>
> configure.ac:29: error: possibly undefined macro: AM_PROG_CC_C_O

Hmm, that's interesting. How did you generate that file? Or asked 
differently: How did you (re)generate libquadmath/aclocal.m4? Mine contains:

# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
[...]
# AM_PROG_CC_C_O
# --------------
# Like AC_PROG_CC_C_O, but changed for automake.
AC_DEFUN([AM_PROG_CC_C_O],
...


Tobias
Jack Howarth - Nov. 15, 2010, 6:07 p.m.
On Mon, Nov 15, 2010 at 04:52:48PM +0100, Tobias Burnus wrote:
> On 11/15/2010 04:26 PM, Jack Howarth wrote:
>>    How did you regenerate configure in libquadmath with this change?
>
> Well, I was using --enable-maintainer-mode; the result was:

Using --enable-maintainer-mode works here as well.

>
> tob@archimedes:~/projects/gcc-git/gcc/libquadmath> ll configure*
> -rw-r--r-- 1 tob users   4947 Nov 14 20:08 configure.ac
> -rw-r--r-- 1 tob users 396718 Nov 14 20:15 configure
>
> tob@archimedes:~/projects/gcc-git/gcc/libquadmath> grep CC_C_O configure.ac
> AM_PROG_CC_C_O
>
> tob@archimedes:~/projects/gcc-git/gcc/libquadmath> head -n 3 configure
> #! /bin/sh
> # Guess values for system-dependent variables and create Makefiles.
> # Generated by GNU Autoconf 2.64 for GCC Quad-precision Math Library 0.1.
>
>> Using autoconf 2.64,
>> I keep getting...
>>
>> configure.ac:29: error: possibly undefined macro: AM_PROG_CC_C_O
>
> Hmm, that's interesting. How did you generate that file? Or asked  
> differently: How did you (re)generate libquadmath/aclocal.m4? Mine 
> contains:

I tried...

aclocal
automake-1.11
autoconf

>
> # generated automatically by aclocal 1.11.1 -*- Autoconf -*-
> [...]
> # AM_PROG_CC_C_O
> # --------------
> # Like AC_PROG_CC_C_O, but changed for automake.
> AC_DEFUN([AM_PROG_CC_C_O],
> ...
>
>
> Tobias
>
>
Tobias Burnus - Nov. 15, 2010, 6:47 p.m.
On 11/15/2010 07:07 PM, Jack Howarth wrote:
> I tried...
>
> aclocal
> automake-1.11
> autoconf

Usually, "autoreconfig" is the better option. I am not 100% sure, but I 
think you need to use:
   aclocal -I .. -I ../config
instead of a plain aclocal. In any case, as it works with 
--enable-maintainer-mode, the patch should be good-enough for GCC :-)

Tobias
Ian Taylor - Nov. 16, 2010, 6:27 a.m.
Tobias Burnus <burnus@net-b.de> writes:

> a) The libquadmath library itself, which is licensed under the LGPL:
> http://gcc.gnu.org/ml/gcc-patches/2010-11/msg00790/libquadmath.tar.bz2

Are we clear on the copyright status of this code with regard to
including it in the gcc distribution?

Ian
Ian Taylor - Nov. 16, 2010, 2:48 p.m.
Tobias Burnus <burnus@net-b.de> writes:

> The patch has been reviewed by the brand-new build-maintainer Ralf
> (build part), by Steve (Fortran part), includes suggestions and fixes
> by Joseph, Jakub, Ralf, Steve and others. It has been bootstraped and
> regtested on x86-64-Linux, x86-64-Darwin, x86-64 and i686 FreeBSD and
> Cygwin.
>
> Thus, I think it is time for a review of a global maintainer.

This patch is OK if we are all happy about the copyright status of
libquadmath.

Thanks.

Ian
Tobias Burnus - Nov. 16, 2010, 9:30 p.m.
Ian Lance Taylor wrote:
> This patch is OK if we are all happy about the copyright status of
> libquadmath.

I have now committed the patch as:

Transmitting file data 
......................................................................................................................................................
Committed revision 166825.


Thanks to Ian for the final approval, thanks to FX for creating the 
library and integrating it in gfortran/libgfortran; thanks to all who 
gave comments, suggestions or tested the patch.

Tobias

PS: As Toon has mentioned that he won't use REAL(16) in meteorology as 
single precision is enough. In my field of electronic structure 
computation, single precision is usually not seen as precise enough - 
and thus only sometimes used - but double precision is regarded as 
precise enough. Hence, I probably won't use REAL(16) heavily either. 
However, now and then I probably will do - as I did before with REAL(10).

Patch

--- /dev/shm/libquadmath/configure.ac	2010-11-08 20:58:50.000000000 +0100
+++ libquadmath/configure.ac	2010-11-14 20:08:23.000000000 +0100
@@ -23,10 +23,10 @@  AC_CONFIG_HEADER(config.h)
 AC_CANONICAL_SYSTEM
 target_alias=${target_alias-$host_alias}
 
-AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Werror])
+AM_INIT_AUTOMAKE([1.9.0 foreign subdir-objects no-dist -Wall -Werror])
 
 AC_PROG_CC
-
+AM_PROG_CC_C_O
 
 AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
 AC_ARG_ENABLE(version-specific-runtime-libs,