This is the mail archive of the
mailing list for the GCC project.
Re: [Patch, Fortran] Replace intmax_type_node by INTMAX_TYPE
- From: FX <fxcoudert at gmail dot com>
- To: Fortran List <fortran at gcc dot gnu dot org>, Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- Cc: gcc-patches at gcc dot gnu dot org, Tobias Burnus <burnus at net-b dot de>
- Date: Sat, 30 May 2009 16:37:25 +0200
- Subject: Re: [Patch, Fortran] Replace intmax_type_node by INTMAX_TYPE
The second part of that statement is wrong. Not matter-of-opinion
wrong, but factually wrong. GCC does not try to "recognize" system
headers such as stdint.h (such a scheme would not work in the general
case, including cross-compilation for example).
FX's patch to use stdint.h has caused 18 regressions
on FreeBSD, because GCC apparently does not recognize
that FreeBSD has a perfectly fine /usr/include/stdint.h.
New functionality was added to GCC-4.5, requiring an extra bit of
target information. There is no other way this information could have
"guessed"; Joseph's infrastructure does the job, and it necessarily
needs some well-informed input for targets. It is necessary for C99
and F2003 conformance, and I am thankful that he did that job (my two
previous attemps at it were failures). I think it's unfair to Joseph
to criticize him for providing that, unless you have a constructive
alternative to propose ("patches are reviewed on the basis of their
Regarding the patch: I don't think this patch should introduce any new
failure, as on targets such as FreeBSD the middle-end defaults (gcc/
defaults.h) are the same as the definition we used in the front-end.
I'm not too thrilled with rushing head long into possible
additional regressions until someone with sufficient
knowledge fixes the current set of regressions.
PS: I am sure you're aware that Gerald Pfeifer is putting up together
a patch to add the needed information (http://gcc.gnu.org/ml/gcc-patches/2009-05/msg01927.html