This is the mail archive of the gcc-bugs@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]

[Bug fortran/24391] New: libgfortran assumes system has int8_t


Tru64 UNIX 4.0D does not have <stdint.h> or <inttypes.h>. So, it has no int8_t,
int16_t, int32_t, ...

Because of this, the following problem occurred:
gmake[3]: Entering directory
`/opt/build/gcc-4.0.2-objdir/alpha-dec-osf4.0d/libg
fortran'
/opt/fsw/bash30/bin/bash ./libtool --mode=compile
/opt/build/gcc-4.0.2-objdir/gcc/xgcc -B/opt/build/gcc-4.0.2-objdir/gcc/
-B/opt/TWWfsw/gcc402/alpha-dec-osf4.0d/bin/
-B/opt/TWWfsw/gcc402/alpha-dec-osf4.0d/lib/ -isystem
/opt/TWWfsw/gcc402/alpha-dec-osf4.0d/include -isystem
/opt/TWWfsw/gcc402/alpha-dec-osf4.0d/sys-include -DHAVE_CONFIG_H -I.
-I/opt/build/gcc-4.0.2/libgfortran -I. 
-iquote/opt/build/gcc-4.0.2/libgfortran/io  -std=gnu99 -Wall -O2 -g -O2 -mieee
-c -o compile_options.lo `test -f 'runtime/compile_options.c' || echo
'/opt/build/gcc-4.0.2/libgfortran/'`runtime/compile_options.c
mkdir .libs
/opt/build/gcc-4.0.2-objdir/gcc/xgcc -B/opt/build/gcc-4.0.2-objdir/gcc/
-B/opt/TWWfsw/gcc402/alpha-dec-osf4.0d/bin/
-B/opt/TWWfsw/gcc402/alpha-dec-osf4.0d/lib/ 
-isystem /opt/TWWfsw/gcc402/alpha-dec-osf4.0d/include -isystem
/opt/TWWfsw/gcc402/alpha-dec-osf4.0d/sys-include -DHAVE_CONFIG_H -I.
-I/opt/build/gcc-4.0.2/libgfortran -I.
-iquote/opt/build/gcc-4.0.2/libgfortran/io -std=gnu99 -Wall -O2 -g -O2 -mieee
-c /opt/build/gcc-4.0.2/libgfortran/runtime/compile_options.c   -DPIC -o
.libs/compile_options.o
In file included from
/opt/build/gcc-4.0.2/libgfortran/runtime/compile_options.c:32:   
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:194: error: syntax error before
'GFC_INTEGER_1'
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:194: warning: type defaults to
'int' in declaration of 'GFC_INTEGER_1'
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:194: warning: data definition
has no type or storage class
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:195: error: syntax error before
'GFC_INTEGER_2'
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:195: warning: type defaults to
'int' in declaration of 'GFC_INTEGER_2'
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:195: warning: data definition
has no type or storage class
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:196: error: syntax error before
'GFC_INTEGER_4'
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:196: warning: type defaults to
'int' in declaration of 'GFC_INTEGER_4'
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:196: warning: data definition
has no type or storage class
/opt/build/gcc-4.0.2/libgfortran/libgfortran.h:197: error: syntax error before
'GFC_INTEGER_8'
...

libgfortran/libgfortran.h tries to handle this case:
  #if !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H) &&
defined(TARGET_ILP32)
  typedef char int8_t;
  typedef short int16_t;
  typedef int int32_t;
  typedef long long int64_t;
  typedef unsigned char uint8_t;
  typedef unsigned short uint16_t;
  typedef unsigned int uint32_t;
  typedef unsigned long long uint64_t;
  #endif

TARGET_ILP32 is not defined for Tru64 UNIX 4.0D. Rather than the above, why do
you use autoconf tests to determine if the above are true and then add them to
config.h if not?


-- 
           Summary: libgfortran assumes system has int8_t
           Product: gcc
           Version: 4.0.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bugzilla-gcc at thewrittenword dot com
 GCC build triplet: alphaev5-dec-osf4.0d
  GCC host triplet: alphaev5-dec-osf4.0d
GCC target triplet: alphaev5-dec-osf4.0d


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24391


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