This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [fortran, patch] IEEE intrinsic modules (ping)
- From: Janne Blomqvist <blomqvist dot janne at gmail dot com>
- To: FX <fxcoudert at gmail dot com>
- Cc: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>, Tobias Burnus <burnus at net-b dot de>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Fortran List <fortran at gcc dot gnu dot org>
- Date: Mon, 7 Jul 2014 12:10:50 +0300
- Subject: Re: [fortran, patch] IEEE intrinsic modules (ping)
- Authentication-results: sourceware.org; auth=none
- References: <20140623192339 dot GA25679 at troutmask dot apl dot washington dot edu> <20140623202005 dot GA31501 at troutmask dot apl dot washington dot edu> <6CA4B0CC-09B5-439C-A766-B27664B2DB12 at gmail dot com> <20140624164936 dot GA38820 at troutmask dot apl dot washington dot edu> <20140624174601 dot GA39016 at troutmask dot apl dot washington dot edu> <53A9C4AF dot 6020700 at net-b dot de> <20140624191947 dot GA70297 at troutmask dot apl dot washington dot edu> <DB1AFC53-68AF-495C-9083-135F73FBD0AC at gmail dot com> <20140624202327 dot GA81301 at troutmask dot apl dot washington dot edu> <4006CA91-3464-4A9A-A228-66FA6C02673B at gmail dot com> <20140624203658 dot GA81560 at troutmask dot apl dot washington dot edu> <yddegxzk05e dot fsf at CeBiTec dot Uni-Bielefeld dot DE> <AB6EFD49-7F94-4652-9B60-E27C47FDB2FD at gmail dot com> <CAO9iq9Gg5aFiBHASWCSUGgGZaMm1ebe8pTRw0jxzGFLmGM4Drg at mail dot gmail dot com> <EE2FDF9D-0B7E-4802-BBF7-7AB8045ABA5D at gmail dot com>
On Mon, Jul 7, 2014 at 11:29 AM, FX <fxcoudert@gmail.com> wrote:
>> Furthermore, on 2014-05-12 I committed a patch changing libgfortran to
>> be built with -std=gnu11 instead of -std=gnu99, so that we can make
>> use of C11 functionality; see
>> https://gcc.gnu.org/ml/fortran/2014-04/msg00101.html .
>
> Committed as rev. 212323, thanks for the review.
>
> I now propose the attached patch, which performs a small cleaning up:
> - Use the new _Noreturn language feature (supported in GCC since 2011) instead of the old attribute. This makes prototypes shorter and more generic.
> - Move the complex-related REALPART, IMAGPART and COMPLEX_ASSIGN macros from libgfortran.h to c99_intrinsics.c, which is the only place theyâre ever used.
>
>
> Built and tested on x86_64-linux, OK to commit?
Ok.
> PS: I didnât touch libcaf, as I assume this might be compiled with a different compiler. Am I right?
My understanding is that libcaf is delivered in source form, and the
end user is expected to compile it against the correct MPI library on
the target. So yes, one could be a bit more conservative here than in
libgfortran proper (although one could expect the user to have access
to the gcc version corresponding to gfortran..). But Tobias certainly
knows better.
> PS2: A third issue Iâve though about is: should we get rid of the following __GNUC__ test? libgfortran is not used as a standalone Fortran runtime library, and I think it is (and never will) be built by something else than a stage3 compiler.
>
>> #ifndef __GNUC__
>> #define __attribute__(x)
>> #define likely(x) (x)
>> #define unlikely(x) (x)
>> #else
>> #define likely(x) __builtin_expect(!!(x), 1)
>> #define unlikely(x) __builtin_expect(!!(x), 0)
>> #endif
What about --disable-bootstrap? Does it just skip stage1 and stage2,
and stage3 is used to compile libgfortran, or is the host compiler
used to build libgfortran as well? If the former, yes I guess we can
remove #ifnderf __GNUC__ stuff?
--
Janne Blomqvist