This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch]: Add check for stdint header


On 09/04/2009 03:17 PM, Tobias Burnus wrote:
On 09/04/2009 02:52 PM, Kai Tietz wrote:
Well, I bootstrapped this with Paolo's stdint.m4 patch, and it
workedon linux32 and linux64 (i386), and for x86_64-pc-mingw32, too.
Just out of curiosity, who is the size in gfortran frontend for
int_{least,fast}*_t done, as for gcc until now no stdint.h/inttypes.h
file was used?

Actually, I do not know how exactly it works ... I now checked - and here is how it works:

In gcc/fortran/ one calls:
    TYPE_PRECISION (type)
for INT_FAST64_TYPE etc.  The defaults are set in
   gcc/default.h

For instance:
   #ifndef INT_FAST64_TYPE
   #define INT_FAST64_TYPE ((const char *) NULL)
   #endif

And the INT_*_TYPE definitions can seemingly found in
config/*/*stdint.h. For instance:
./i386/cygwin-stdint.h:#define INT_FAST64_TYPE "long long int"
./i386/mingw-stdint.h:#define INT_FAST64_TYPE "long long int"
./glibc-stdint.h:#define INT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long
int" : "long long int")

Thus, stdint.h is not directly involved and the patch should have no
(adverse) effect on gfortran's c_int_fast*_t support.

Yes, the stdint.h we're talking about is for the host. libgfortran (where the GCC target is actually the host, as in all target libraries) does not use int_fast and int_least. Only the front-end itself cares, but it uses info from the target configuration headers.


Actually I'm pretty sure that stdint.h is not needed in the GCC tree only the intNN_t types (managed by GCC_STDINT_TYPES. But since GCC_HEADER_STDINT is used by bfd too and I didn't want Kai to mess up with bfd, I provided it in my stdint.m4 rewrite.

Here is the latest and greatest version.

Paolo

Attachment: stdint.m4
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]