This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/23642] New: internal compiler error: backend decl for module variable h5t_enum_f already exists
- From: "David dot Webb at soc dot soton dot ac dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Aug 2005 17:31:55 -0000
- Subject: [Bug fortran/23642] New: internal compiler error: backend decl for module variable h5t_enum_f already exists
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Sorry but this is a messy one. I don't know enough to simplify it and so have
had to include the full subroutines.
HDF is a self-describing data format widely used by the scientific community.
The home page is at http://hdf.ncsa.uiuc.edu/HDF5/. A link shows the platforms
it has been tested on, including gcc 3.3.2 with linux. (I have been using the
C-version under SuSE 8.2 for some time for our main graphics program).
Our model codes and most of our detailed analysis programs are written in
fortran. HDF have a set of fortran (f90) stubs which link to the c subroutines
and we use these to write and read the hdf data on SUN and SGI workstations and
multi-processors with suitable compilers. With gfortran I want to port these to
the linux boxes.
When compiling the stubs, the compilation fails with H5f90global.f90 with the line:
../../../hdf5-1.6.4/fortran/src/H5f90global.f90:0: internal compiler error:
backend decl for module variable h5t_enum_f already exists
Please submit a full bug report
I enclose the module/subroutine below. It appears to be setting up a large
number of parameters and their storage arrays. I also include a copy of the one
similar module/subroutine it 'uses'.
My tests
========
Thinking it might be a conflic of names with the compiler, I tried replacing
H5T_ENUM_F by H5T_ENUM_F_DJW where it exists. This failed with the same error,
but this time because of h5f_simple_f, which occurs earlier in the file. When I
replace this in the same way, the problem was H5f_ieee_f32le, again earlier in
the file. When I replace this in the same way, the error returned to
h5t_enum_f_djw.
Unfortunately I do not know enoutgh about f90/f95 to be sure that the HDF
subroutine code is perfect. However this is a widely used code so I presume
most other compilers find that it OK.
Additional Information
======================
HDF5 version 1.6.4
See: ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/unpacked/release_docs/RELEASE.txt
Output with -v -save-temps flags:
Driving: f95 -v -save-temps H5f90global.f90 -fPIC -DPIC -o H5f90global.o
-lgfortranbegin -lgfortran -lm -shared-libgcc
Using built-in specs.
Target: i586-pc-linux-gnu
Configured with: ../gcc-4.0.1/configure --program-suffix=4 --with-gnu-as
--with-gnu-ld --enable-version-specific-runtime-libs --with-cpu=k6
Thread model: posix
gcc version 4.0.1
/usr/local/libexec/gcc/i586-pc-linux-gnu/4.0.1/f951 H5f90global.f90 -quiet
-dumpbase H5f90global.f90 -mtune=k6 -auxbase H5f90global -version -fPIC -o
H5f90global.s
GNU F95 version 4.0.1 (i586-pc-linux-gnu)
compiled by GNU C version 4.0.1.
GGC heuristics: --param ggc-min-expand=55 --param ggc-min-heapsize=48298
H5f90global.f90:0: internal compiler error: backend decl for module variable
h5t_enum_f already exists
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
File H5f90global.s
==================
.file "H5f90global.f90"
File H5f90global.f90
====================
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
! *
! This file is part of HDF5. The full HDF5 copyright notice, including *
! terms governing use, modification, and redistribution, is contained in *
! the files COPYING and Copyright.html. COPYING can be found at the root *
! of the source code distribution tree; Copyright.html can be found at the *
! root level of an installed copy of the electronic HDF5 document set and *
! is linked from the top-level documents page. It can also be found at *
! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
MODULE H5GLOBAL
USE H5FORTRAN_TYPES
!
! Definitions for reference datatypes.
! If you change the value of these parameters, do not forget to change corresponding
! values in the H5f90.h file.
INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
TYPE hobj_ref_t_f
INTEGER(HADDR_T) ref
END TYPE
TYPE hdset_reg_ref_t_f
INTEGER ref(REF_REG_BUF_LEN)
END TYPE
INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 6 ! Do not forget to change this
! value when new predefined
! datatypes are added
! Do not forget to change the following line when new predefined
! floating data types are added
INTEGER, PARAMETER :: FLOATING_TYPES_LEN = 4
! Do not forget to change the following line when new predefined
! integer data types are added
INTEGER, PARAMETER :: INTEGER_TYPES_LEN = 17
INTEGER(HID_T) H5T_NATIVE_INTEGER, &
H5T_NATIVE_REAL, &
H5T_NATIVE_DOUBLE, &
H5T_NATIVE_CHARACTER , &
H5T_STD_REF_OBJ, &
H5T_STD_REF_DSETREG, &
H5T_IEEE_F32BE, &
H5T_IEEE_F32LE, &
H5T_IEEE_F64BE, &
H5T_IEEE_F64LE, &
H5T_STD_I8BE, &
H5T_STD_I8LE, &
H5T_STD_I16BE, &
H5T_STD_I16LE, &
H5T_STD_I32BE, &
H5T_STD_I32LE, &
H5T_STD_I64BE, &
H5T_STD_I64LE, &
H5T_STD_U8BE, &
H5T_STD_U8LE, &
H5T_STD_U16BE, &
H5T_STD_U16LE, &
H5T_STD_U32BE, &
H5T_STD_U32LE, &
H5T_STD_U64BE, &
H5T_STD_U64LE, &
H5T_STRING
INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: predef_types
EQUIVALENCE (predef_types(1), H5T_NATIVE_INTEGER)
EQUIVALENCE (predef_types(2), H5T_NATIVE_REAL)
EQUIVALENCE (predef_types(3), H5T_NATIVE_DOUBLE)
EQUIVALENCE (predef_types(4), H5T_NATIVE_CHARACTER)
EQUIVALENCE (predef_types(5), H5T_STD_REF_OBJ)
EQUIVALENCE (predef_types(6), H5T_STD_REF_DSETREG)
INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: floating_types
EQUIVALENCE (floating_types(1), H5T_IEEE_F32BE )
EQUIVALENCE (floating_types(2), H5T_IEEE_F32LE)
EQUIVALENCE (floating_types(3), H5T_IEEE_F64BE)
EQUIVALENCE (floating_types(4), H5T_IEEE_F64LE)
INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: integer_types
EQUIVALENCE (integer_types(1), H5T_STD_I8BE )
EQUIVALENCE (integer_types(2), H5T_STD_I8LE)
EQUIVALENCE (integer_types(3), H5T_STD_I16BE)
EQUIVALENCE (integer_types(4), H5T_STD_I16LE)
EQUIVALENCE (integer_types(5), H5T_STD_I32BE)
EQUIVALENCE (integer_types(6), H5T_STD_I32LE)
EQUIVALENCE (integer_types(7), H5T_STD_I64BE)
EQUIVALENCE (integer_types(8), H5T_STD_I64LE)
EQUIVALENCE (integer_types(9), H5T_STD_U8BE)
EQUIVALENCE (integer_types(10), H5T_STD_U8LE)
EQUIVALENCE (integer_types(11), H5T_STD_U16BE)
EQUIVALENCE (integer_types(12), H5T_STD_U16LE)
EQUIVALENCE (integer_types(13), H5T_STD_U32BE)
EQUIVALENCE (integer_types(14), H5T_STD_U32LE)
EQUIVALENCE (integer_types(15), H5T_STD_U64BE)
EQUIVALENCE (integer_types(16), H5T_STD_U64LE)
EQUIVALENCE (integer_types(17), H5T_STRING)
! COMMON /PREDEFINED_TYPES/ H5T_NATIVE_INTEGER, &
! H5T_NATIVE_REAL, &
! H5T_NATIVE_DOUBLE, &
! H5T_NATIVE_CHARACTER, &
! H5T_STD_REF_OBJ, &
! H5T_STD_REF_DSETREG
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /PREDEFINED_TYPES/
!DEC$endif
COMMON /PREDEFINED_TYPES/ predef_types
! COMMON /FLOATING_TYPES/ H5T_IEEE_F32BE, &
! H5T_IEEE_F32LE, &
! H5T_IEEE_F64BE, &
! H5T_IEEE_F64LE
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /FLOATING_TYPES/
!DEC$endif
COMMON /FLOATING_TYPES/ floating_types
!
! COMMON /INTEGER_TYPES/ H5T_STD_I8BE, &
! H5T_STD_I8LE, &
! H5T_STD_I16BE, &
! H5T_STD_I16LE, &
! H5T_STD_I32BE, &
! H5T_STD_I32LE, &
! H5T_STD_I64BE, &
! H5T_STD_I64LE, &
! H5T_STD_U8BE, &
! H5T_STD_U8LE, &
! H5T_STD_U16BE, &
! H5T_STD_U16LE, &
! H5T_STD_U32BE, &
! H5T_STD_U32LE, &
! H5T_STD_U64BE, &
! H5T_STD_U64LE
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /INTEGER_TYPES/
!DEC$endif
COMMON /INTEGER_TYPES/ integer_types
!
! Fortran flags
!
!
! H5F flags (DO NOT FORGET TO UPDATE WHEN NEW FLAGS ARE ADDEDD !)
!
! H5F flags declaration
!
INTEGER, PARAMETER :: H5F_FLAGS_LEN = 16
INTEGER H5F_flags(H5F_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5F_FLAGS/
!DEC$endif
COMMON /H5F_FLAGS/ H5F_flags
INTEGER :: H5F_ACC_RDWR_F
INTEGER :: H5F_ACC_RDONLY_F
INTEGER :: H5F_ACC_TRUNC_F
INTEGER :: H5F_ACC_EXCL_F
INTEGER :: H5F_ACC_DEBUG_F
INTEGER :: H5F_SCOPE_LOCAL_F
INTEGER :: H5F_SCOPE_GLOBAL_F
INTEGER :: H5F_CLOSE_DEFAULT_F
INTEGER :: H5F_CLOSE_WEAK_F
INTEGER :: H5F_CLOSE_SEMI_F
INTEGER :: H5F_CLOSE_STRONG_F
INTEGER :: H5F_OBJ_FILE_F
INTEGER :: H5F_OBJ_DATASET_F
INTEGER :: H5F_OBJ_GROUP_F
INTEGER :: H5F_OBJ_DATATYPE_F
INTEGER :: H5F_OBJ_ALL_F
EQUIVALENCE(H5F_flags(1), H5F_ACC_RDWR_F)
EQUIVALENCE(H5F_flags(2), H5F_ACC_RDONLY_F)
EQUIVALENCE(H5F_flags(3), H5F_ACC_TRUNC_F)
EQUIVALENCE(H5F_flags(4), H5F_ACC_EXCL_F)
EQUIVALENCE(H5F_flags(5), H5F_ACC_DEBUG_F)
EQUIVALENCE(H5F_flags(6), H5F_SCOPE_LOCAL_F)
EQUIVALENCE(H5F_flags(7), H5F_SCOPE_GLOBAL_F)
EQUIVALENCE(H5F_flags(8), H5F_CLOSE_DEFAULT_F)
EQUIVALENCE(H5F_flags(9), H5F_CLOSE_WEAK_F)
EQUIVALENCE(H5F_flags(10), H5F_CLOSE_SEMI_F)
EQUIVALENCE(H5F_flags(11), H5F_CLOSE_STRONG_F)
EQUIVALENCE(H5F_flags(12), H5F_OBJ_FILE_F)
EQUIVALENCE(H5F_flags(13), H5F_OBJ_DATASET_F)
EQUIVALENCE(H5F_flags(14), H5F_OBJ_GROUP_F)
EQUIVALENCE(H5F_flags(15), H5F_OBJ_DATATYPE_F)
EQUIVALENCE(H5F_flags(16), H5F_OBJ_ALL_F)
!
! H5G flags declaration
!
INTEGER, PARAMETER :: H5G_FLAGS_LEN = 8
INTEGER H5G_flags(H5G_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5G_FLAGS/
!DEC$endif
COMMON /H5G_FLAGS/ H5G_flags
INTEGER :: H5G_UNKNOWN_F
INTEGER :: H5G_LINK_F
INTEGER :: H5G_GROUP_F
INTEGER :: H5G_DATASET_F
INTEGER :: H5G_TYPE_F
INTEGER :: H5G_LINK_ERROR_F
INTEGER :: H5G_LINK_HARD_F
INTEGER :: H5G_LINK_SOFT_F
EQUIVALENCE(H5G_flags(1), H5G_UNKNOWN_F)
EQUIVALENCE(H5G_flags(2), H5G_LINK_F)
EQUIVALENCE(H5G_flags(3), H5G_GROUP_F)
EQUIVALENCE(H5G_flags(4), H5G_DATASET_F)
EQUIVALENCE(H5G_flags(5), H5G_TYPE_F)
EQUIVALENCE(H5G_flags(6), H5G_LINK_ERROR_F)
EQUIVALENCE(H5G_flags(7), H5G_LINK_HARD_F)
EQUIVALENCE(H5G_flags(8), H5G_LINK_SOFT_F)
!
! H5D flags declaration
!
INTEGER, PARAMETER :: H5D_FLAGS_LEN = 19
INTEGER H5D_flags(H5D_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5D_FLAGS/
!DEC$endif
COMMON /H5D_FLAGS/ H5D_flags
INTEGER :: H5D_COMPACT_F
INTEGER :: H5D_CONTIGUOUS_F
INTEGER :: H5D_CHUNKED_F
INTEGER :: H5D_ALLOC_TIME_ERROR_F
INTEGER :: H5D_ALLOC_TIME_DEFAULT_F
INTEGER :: H5D_ALLOC_TIME_EARLY_F
INTEGER :: H5D_ALLOC_TIME_LATE_F
INTEGER :: H5D_ALLOC_TIME_INCR_F
INTEGER :: H5D_SPACE_STS_ERROR_F
INTEGER :: H5D_SPACE_STS_NOT_ALLOCATED_F
INTEGER :: H5D_SPACE_STS_PART_ALLOCATED_F
INTEGER :: H5D_SPACE_STS_ALLOCATED_F
INTEGER :: H5D_FILL_TIME_ERROR_F
INTEGER :: H5D_FILL_TIME_ALLOC_F
INTEGER :: H5D_FILL_TIME_NEVER_F
INTEGER :: H5D_FILL_VALUE_ERROR_F
INTEGER :: H5D_FILL_VALUE_UNDEFINED_F
INTEGER :: H5D_FILL_VALUE_DEFAULT_F
INTEGER :: H5D_FILL_VALUE_USER_DEFINED_F
EQUIVALENCE(H5D_flags(1), H5D_COMPACT_F)
EQUIVALENCE(H5D_flags(2), H5D_CONTIGUOUS_F)
EQUIVALENCE(H5D_flags(3), H5D_CHUNKED_F)
EQUIVALENCE(H5D_flags(4), H5D_ALLOC_TIME_ERROR_F)
EQUIVALENCE(H5D_flags(5), H5D_ALLOC_TIME_DEFAULT_F)
EQUIVALENCE(H5D_flags(6), H5D_ALLOC_TIME_EARLY_F)
EQUIVALENCE(H5D_flags(7), H5D_ALLOC_TIME_LATE_F)
EQUIVALENCE(H5D_flags(8), H5D_ALLOC_TIME_INCR_F)
EQUIVALENCE(H5D_flags(9), H5D_SPACE_STS_ERROR_F)
EQUIVALENCE(H5D_flags(10), H5D_SPACE_STS_NOT_ALLOCATED_F)
EQUIVALENCE(H5D_flags(11), H5D_SPACE_STS_PART_ALLOCATED_F)
EQUIVALENCE(H5D_flags(12), H5D_SPACE_STS_ALLOCATED_F)
EQUIVALENCE(H5D_flags(13), H5D_FILL_TIME_ERROR_F)
EQUIVALENCE(H5D_flags(14), H5D_FILL_TIME_ALLOC_F)
EQUIVALENCE(H5D_flags(15), H5D_FILL_TIME_NEVER_F)
EQUIVALENCE(H5D_flags(16), H5D_FILL_VALUE_ERROR_F)
EQUIVALENCE(H5D_flags(17), H5D_FILL_VALUE_UNDEFINED_F)
EQUIVALENCE(H5D_flags(18), H5D_FILL_VALUE_DEFAULT_F)
EQUIVALENCE(H5D_flags(19), H5D_FILL_VALUE_USER_DEFINED_F)
!
! H5FD flags declaration
!
INTEGER, PARAMETER :: H5FD_FLAGS_LEN = 11
INTEGER H5FD_flags(H5FD_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5FD_FLAGS/
!DEC$endif
COMMON /H5FD_FLAGS/ H5FD_flags
INTEGER :: H5FD_MPIO_INDEPENDENT_F
INTEGER :: H5FD_MPIO_COLLECTIVE_F
INTEGER :: H5FD_MEM_NOLIST_F
INTEGER :: H5FD_MEM_DEFAULT_F
INTEGER :: H5FD_MEM_SUPER_F
INTEGER :: H5FD_MEM_BTREE_F
INTEGER :: H5FD_MEM_DRAW_F
INTEGER :: H5FD_MEM_GHEAP_F
INTEGER :: H5FD_MEM_LHEAP_F
INTEGER :: H5FD_MEM_OHDR_F
INTEGER :: H5FD_MEM_NTYPES_F
EQUIVALENCE(H5FD_flags(1), H5FD_MPIO_INDEPENDENT_F)
EQUIVALENCE(H5FD_flags(2), H5FD_MPIO_COLLECTIVE_F)
EQUIVALENCE(H5FD_flags(3), H5FD_MEM_NOLIST_F)
EQUIVALENCE(H5FD_flags(4), H5FD_MEM_DEFAULT_F)
EQUIVALENCE(H5FD_flags(5), H5FD_MEM_SUPER_F)
EQUIVALENCE(H5FD_flags(6), H5FD_MEM_BTREE_F)
EQUIVALENCE(H5FD_flags(7), H5FD_MEM_DRAW_F)
EQUIVALENCE(H5FD_flags(8), H5FD_MEM_GHEAP_F)
EQUIVALENCE(H5FD_flags(9), H5FD_MEM_LHEAP_F)
EQUIVALENCE(H5FD_flags(10), H5FD_MEM_OHDR_F)
EQUIVALENCE(H5FD_flags(11), H5FD_MEM_NTYPES_F)
!
! H5E flags declaration
!
INTEGER, PARAMETER :: H5E_FLAGS_LEN = 24
INTEGER H5E_flags(H5E_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5E_FLAGS/
!DEC$endif
COMMON /H5E_FLAGS/ H5E_flags
INTEGER :: H5E_NONE_MAJOR_F
INTEGER :: H5E_ARGS_F
INTEGER :: H5E_RESOURCE_F
INTEGER :: H5E_INTERNAL_F
INTEGER :: H5E_FILE_F
INTEGER :: H5E_IO_F
INTEGER :: H5E_FUNC_F
INTEGER :: H5E_ATOM_F
INTEGER :: H5E_CACHE_F
INTEGER :: H5E_BTREE_F
INTEGER :: H5E_SYM_F
INTEGER :: H5E_HEAP_F
INTEGER :: H5E_OHDR_F
INTEGER :: H5E_DATATYPE_F
INTEGER :: H5E_DATASPACE_F
INTEGER :: H5E_DATASET_F
INTEGER :: H5E_STORAGE_F
INTEGER :: H5E_PLIST_F
INTEGER :: H5E_ATTR_F
INTEGER :: H5E_PLINE_F
INTEGER :: H5E_EFL_F
INTEGER :: H5E_REFERENCE_F
INTEGER :: H5E_VFL_F
INTEGER :: H5E_TBBT_F
EQUIVALENCE(H5E_flags(1), H5E_NONE_MAJOR_F)
EQUIVALENCE(H5E_flags(2), H5E_ARGS_F)
EQUIVALENCE(H5E_flags(3), H5E_RESOURCE_F)
EQUIVALENCE(H5E_flags(4), H5E_INTERNAL_F)
EQUIVALENCE(H5E_flags(5), H5E_FILE_F)
EQUIVALENCE(H5E_flags(6), H5E_IO_F)
EQUIVALENCE(H5E_flags(7), H5E_FUNC_F)
EQUIVALENCE(H5E_flags(8), H5E_ATOM_F)
EQUIVALENCE(H5E_flags(9), H5E_CACHE_F)
EQUIVALENCE(H5E_flags(10), H5E_BTREE_F)
EQUIVALENCE(H5E_flags(11), H5E_SYM_F)
EQUIVALENCE(H5E_flags(12), H5E_HEAP_F)
EQUIVALENCE(H5E_flags(13), H5E_OHDR_F)
EQUIVALENCE(H5E_flags(14), H5E_DATATYPE_F)
EQUIVALENCE(H5E_flags(15), H5E_DATASPACE_F)
EQUIVALENCE(H5E_flags(16), H5E_DATASET_F)
EQUIVALENCE(H5E_flags(17), H5E_STORAGE_F)
EQUIVALENCE(H5E_flags(18), H5E_PLIST_F)
EQUIVALENCE(H5E_flags(19), H5E_ATTR_F)
EQUIVALENCE(H5E_flags(20), H5E_PLINE_F)
EQUIVALENCE(H5E_flags(21), H5E_EFL_F)
EQUIVALENCE(H5E_flags(22), H5E_REFERENCE_F)
EQUIVALENCE(H5E_flags(23), H5E_VFL_F)
EQUIVALENCE(H5E_flags(24), H5E_TBBT_F)
!
! H5I flags declaration
!
INTEGER, PARAMETER :: H5I_FLAGS_LEN = 7
INTEGER H5I_flags(H5I_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5I_FLAGS/
!DEC$endif
COMMON /H5I_FLAGS/ H5I_flags
INTEGER :: H5I_FILE_F
INTEGER :: H5I_GROUP_F
INTEGER :: H5I_DATATYPE_F
INTEGER :: H5I_DATASPACE_F
INTEGER :: H5I_DATASET_F
INTEGER :: H5I_ATTR_F
INTEGER :: H5I_BADID_F
EQUIVALENCE(H5I_flags(1), H5I_FILE_F)
EQUIVALENCE(H5I_flags(2), H5I_GROUP_F)
EQUIVALENCE(H5I_flags(3), H5I_DATATYPE_F)
EQUIVALENCE(H5I_flags(4), H5I_DATASPACE_F)
EQUIVALENCE(H5I_flags(5), H5I_DATASET_F)
EQUIVALENCE(H5I_flags(6), H5I_ATTR_F)
EQUIVALENCE(H5I_flags(7), H5I_BADID_F)
!
! H5P flags declaration
!
INTEGER, PARAMETER :: H5P_FLAGS_LEN = 7
INTEGER H5P_flags(H5P_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5P_FLAGS/
!DEC$endif
COMMON /H5P_FLAGS/ H5P_flags
INTEGER :: H5P_FILE_CREATE_F
INTEGER :: H5P_FILE_ACCESS_F
INTEGER :: H5P_DATASET_CREATE_F
INTEGER :: H5P_DATASET_XFER_F
INTEGER :: H5P_MOUNT_F
INTEGER :: H5P_DEFAULT_F
INTEGER :: H5P_NO_CLASS_F
EQUIVALENCE(H5P_flags(1), H5P_FILE_CREATE_F)
EQUIVALENCE(H5P_flags(2), H5P_FILE_ACCESS_F)
EQUIVALENCE(H5P_flags(3), H5P_DATASET_CREATE_F)
EQUIVALENCE(H5P_flags(4), H5P_DATASET_XFER_F)
EQUIVALENCE(H5P_flags(5), H5P_MOUNT_F)
EQUIVALENCE(H5P_flags(6), H5P_DEFAULT_F)
EQUIVALENCE(H5P_flags(7), H5P_NO_CLASS_F)
!
! H5P flags declaration
!
INTEGER, PARAMETER :: H5R_FLAGS_LEN = 2
INTEGER H5R_flags(H5R_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5R_FLAGS/
!DEC$endif
COMMON /H5R_FLAGS/ H5R_flags
INTEGER :: H5R_OBJECT_F
INTEGER :: H5R_DATASET_REGION_F
EQUIVALENCE(H5R_flags(1), H5R_OBJECT_F)
EQUIVALENCE(H5R_flags(2), H5R_DATASET_REGION_F)
!
! H5S flags declaration
!
INTEGER, PARAMETER :: H5S_FLAGS_LEN = 19
INTEGER H5S_flags(H5S_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5S_FLAGS/
!DEC$endif
COMMON /H5S_FLAGS/ H5S_flags
INTEGER :: H5S_SCALAR_F
INTEGER :: H5S_SIMPLE_F
INTEGER :: H5S_UNLIMITED_F
INTEGER :: H5S_ALL_F
INTEGER :: H5S_SELECT_NOOP_F
INTEGER :: H5S_SELECT_SET_F
INTEGER :: H5S_SELECT_OR_F
INTEGER :: H5S_SELECT_AND_F
INTEGER :: H5S_SELECT_XOR_F
INTEGER :: H5S_SELECT_NOTB_F
INTEGER :: H5S_SELECT_NOTA_F
INTEGER :: H5S_SELECT_APPEND_F
INTEGER :: H5S_SELECT_PREPEND_F
INTEGER :: H5S_SELECT_INVALID_F
INTEGER :: H5S_SEL_ERROR_F
INTEGER :: H5S_SEL_NONE_F
INTEGER :: H5S_SEL_POINTS_F
INTEGER :: H5S_SEL_HYPERSLABS_F
INTEGER :: H5S_SEL_ALL_F
EQUIVALENCE(H5S_flags(1), H5S_SCALAR_F)
EQUIVALENCE(H5S_flags(2), H5S_SIMPLE_F)
EQUIVALENCE(H5S_flags(3), H5S_SELECT_SET_F)
EQUIVALENCE(H5S_flags(4), H5S_SELECT_OR_F)
EQUIVALENCE(H5S_flags(5), H5S_UNLIMITED_F)
EQUIVALENCE(H5S_flags(6), H5S_ALL_F)
EQUIVALENCE(H5S_flags(7), H5S_SELECT_NOOP_F)
EQUIVALENCE(H5S_flags(8), H5S_SELECT_AND_F)
EQUIVALENCE(H5S_flags(9), H5S_SELECT_XOR_F)
EQUIVALENCE(H5S_flags(10), H5S_SELECT_NOTB_F)
EQUIVALENCE(H5S_flags(11), H5S_SELECT_NOTA_F)
EQUIVALENCE(H5S_flags(12), H5S_SELECT_APPEND_F)
EQUIVALENCE(H5S_flags(13), H5S_SELECT_PREPEND_F)
EQUIVALENCE(H5S_flags(14), H5S_SELECT_INVALID_F)
EQUIVALENCE(H5S_flags(15), H5S_SEL_ERROR_F)
EQUIVALENCE(H5S_flags(16), H5S_SEL_NONE_F)
EQUIVALENCE(H5S_flags(17), H5S_SEL_POINTS_F)
EQUIVALENCE(H5S_flags(18), H5S_SEL_HYPERSLABS_F)
EQUIVALENCE(H5S_flags(19), H5S_SEL_ALL_F)
!
! H5T flags declaration
!
INTEGER, PARAMETER :: H5T_FLAGS_LEN = 30
INTEGER H5T_flags(H5T_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5T_FLAGS/
!DEC$endif
COMMON /H5T_FLAGS/ H5T_flags
INTEGER :: H5T_NO_CLASS_F
INTEGER :: H5T_INTEGER_F
INTEGER :: H5T_FLOAT_F
INTEGER :: H5T_TIME_F
INTEGER :: H5T_STRING_F
INTEGER :: H5T_BITFIELD_F
INTEGER :: H5T_OPAQUE_F
INTEGER :: H5T_COMPOUND_F
INTEGER :: H5T_REFERENCE_F
INTEGER :: H5T_ENUM_F
INTEGER :: H5T_VLEN_F
INTEGER :: H5T_ARRAY_F
INTEGER :: H5T_ORDER_LE_F
INTEGER :: H5T_ORDER_BE_F
INTEGER :: H5T_ORDER_VAX_F
INTEGER :: H5T_PAD_ZERO_F
INTEGER :: H5T_PAD_ONE_F
INTEGER :: H5T_PAD_BACKGROUND_F
INTEGER :: H5T_PAD_ERROR_F
INTEGER :: H5T_SGN_NONE_F
INTEGER :: H5T_SGN_2_F
INTEGER :: H5T_SGN_ERROR_F
INTEGER :: H5T_NORM_IMPLIED_F
INTEGER :: H5T_NORM_MSBSET_F
INTEGER :: H5T_NORM_NONE_F
INTEGER :: H5T_CSET_ASCII_F
INTEGER :: H5T_STR_NULLTERM_F
INTEGER :: H5T_STR_NULLPAD_F
INTEGER :: H5T_STR_SPACEPAD_F
INTEGER :: H5T_STR_ERROR_F
EQUIVALENCE(H5T_flags(1), H5T_NO_CLASS_F)
EQUIVALENCE(H5T_flags(2), H5T_INTEGER_F)
EQUIVALENCE(H5T_flags(3), H5T_FLOAT_F)
EQUIVALENCE(H5T_flags(4), H5T_TIME_F)
EQUIVALENCE(H5T_flags(5), H5T_STRING_F)
EQUIVALENCE(H5T_flags(6), H5T_BITFIELD_F)
EQUIVALENCE(H5T_flags(7), H5T_OPAQUE_F)
EQUIVALENCE(H5T_flags(8), H5T_COMPOUND_F)
EQUIVALENCE(H5T_flags(9), H5T_REFERENCE_F)
EQUIVALENCE(H5T_flags(10), H5T_ENUM_F)
EQUIVALENCE(H5T_flags(11), H5T_ORDER_LE_F)
EQUIVALENCE(H5T_flags(12), H5T_ORDER_BE_F)
EQUIVALENCE(H5T_flags(13), H5T_ORDER_VAX_F)
EQUIVALENCE(H5T_flags(14), H5T_PAD_ZERO_F)
EQUIVALENCE(H5T_flags(15), H5T_PAD_ONE_F)
EQUIVALENCE(H5T_flags(16), H5T_PAD_BACKGROUND_F)
EQUIVALENCE(H5T_flags(17), H5T_PAD_ERROR_F)
EQUIVALENCE(H5T_flags(18), H5T_SGN_NONE_F)
EQUIVALENCE(H5T_flags(19), H5T_SGN_2_F)
EQUIVALENCE(H5T_flags(20), H5T_SGN_ERROR_F)
EQUIVALENCE(H5T_flags(21), H5T_NORM_IMPLIED_F)
EQUIVALENCE(H5T_flags(22), H5T_NORM_MSBSET_F)
EQUIVALENCE(H5T_flags(23), H5T_NORM_NONE_F)
EQUIVALENCE(H5T_flags(24), H5T_CSET_ASCII_F)
EQUIVALENCE(H5T_flags(25), H5T_STR_NULLTERM_F)
EQUIVALENCE(H5T_flags(26), H5T_STR_NULLPAD_F)
EQUIVALENCE(H5T_flags(27), H5T_STR_SPACEPAD_F)
EQUIVALENCE(H5T_flags(28), H5T_STR_ERROR_F)
EQUIVALENCE(H5T_flags(29), H5T_VLEN_F)
EQUIVALENCE(H5T_flags(30), H5T_ARRAY_F)
!
! H5Z flags declaration
!
INTEGER, PARAMETER :: H5Z_FLAGS_LEN = 14
INTEGER H5Z_flags(H5Z_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5Z_FLAGS/
!DEC$endif
COMMON /H5Z_FLAGS/ H5Z_flags
INTEGER :: H5Z_FILTER_ERROR_F
INTEGER :: H5Z_FILTER_NONE_F
INTEGER :: H5Z_FILTER_ALL_F
INTEGER :: H5Z_FILTER_DEFLATE_F
INTEGER :: H5Z_FILTER_SHUFFLE_F
INTEGER :: H5Z_FILTER_FLETCHER32_F
INTEGER :: H5Z_FILTER_SZIP_F
INTEGER :: H5Z_ERROR_EDC_F
INTEGER :: H5Z_DISABLE_EDC_F
INTEGER :: H5Z_ENABLE_EDC_F
INTEGER :: H5Z_NO_EDC_F
INTEGER :: H5Z_FLAG_OPTIONAL_F
INTEGER :: H5Z_FILTER_ENCODE_ENABLED_F
INTEGER :: H5Z_FILTER_DECODE_ENABLED_F
EQUIVALENCE(H5Z_flags(1), H5Z_FILTER_ERROR_F)
EQUIVALENCE(H5Z_flags(2), H5Z_FILTER_NONE_F)
EQUIVALENCE(H5Z_flags(3), H5Z_FILTER_DEFLATE_F)
EQUIVALENCE(H5Z_flags(4), H5Z_FILTER_SHUFFLE_F)
EQUIVALENCE(H5Z_flags(5), H5Z_FILTER_FLETCHER32_F)
EQUIVALENCE(H5Z_flags(6), H5Z_ERROR_EDC_F)
EQUIVALENCE(H5Z_flags(7), H5Z_DISABLE_EDC_F)
EQUIVALENCE(H5Z_flags(8), H5Z_ENABLE_EDC_F)
EQUIVALENCE(H5Z_flags(9), H5Z_NO_EDC_F)
EQUIVALENCE(H5Z_flags(10), H5Z_FILTER_SZIP_F)
EQUIVALENCE(H5Z_flags(11), H5Z_FLAG_OPTIONAL_F)
EQUIVALENCE(H5Z_flags(12), H5Z_FILTER_ENCODE_ENABLED_F)
EQUIVALENCE(H5Z_flags(13), H5Z_FILTER_DECODE_ENABLED_F)
EQUIVALENCE(H5Z_flags(14), H5Z_FILTER_ALL_F)
!
! H5 Library flags declaration
!
INTEGER, PARAMETER :: H5LIB_FLAGS_LEN = 2
INTEGER :: H5LIB_flags(H5LIB_FLAGS_LEN)
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ ATTRIBUTES DLLEXPORT :: /H5LIB_FLAGS/
!DEC$endif
COMMON /H5LIB_FLAGS/ H5LIB_flags
INTEGER :: H5_SZIP_EC_OM_F
INTEGER :: H5_SZIP_NN_OM_F
!
EQUIVALENCE(H5LIB_flags(1), H5_SZIP_EC_OM_F)
EQUIVALENCE(H5LIB_flags(2), H5_SZIP_NN_OM_F)
END MODULE H5GLOBAL
File H5fortran_types.f90
=========================
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
! *
! This file is part of HDF5. The full HDF5 copyright notice, including *
! terms governing use, modification, and redistribution, is contained in *
! the files COPYING and Copyright.html. COPYING can be found at the root *
! of the source code distribution tree; Copyright.html can be found at the *
! root level of an installed copy of the electronic HDF5 document set and *
! is linked from the top-level documents page. It can also be found at *
! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
! This file contains HDF5 Fortran90 type definitions
!
MODULE H5FORTRAN_TYPES
!
! HDF5 integers
!
! Each of the arguments of SELECTED_INT_KIND function should be
! determined by configure.
! R_LARGE is the number of digits for the biggest integer supported.
! R_INTEGER is the number of digits in INTEGER
! For example:
! On 64 bit machine ( DEC ALPHA) R_LARGE = 18 and R_INTEGER = 9
! On 32 bit machines ( Sparc Solaris ) R_LARGE = 9 and R_INTEGER = 9
!
INTEGER, PARAMETER :: R_LARGE = 18
INTEGER, PARAMETER :: R_INTEGER = 9
INTEGER, PARAMETER :: HADDR_T = SELECTED_INT_KIND(R_LARGE)
INTEGER, PARAMETER :: HSIZE_T = SELECTED_INT_KIND(R_LARGE)
INTEGER, PARAMETER :: HSSIZE_T = SELECTED_INT_KIND(R_LARGE)
INTEGER, PARAMETER :: HID_T = SELECTED_INT_KIND(R_INTEGER)
INTEGER, PARAMETER :: SIZE_T = SELECTED_INT_KIND(R_INTEGER)
!
! Some HDF5 FORTARN90 default values ( here for now 8/5/99 EIP )
!
INTEGER(SIZE_T), PARAMETER :: OBJECT_NAMELEN_DEFAULT_F = -1
END MODULE H5FORTRAN_TYPES
--
Summary: internal compiler error: backend decl for module
variable h5t_enum_f already exists
Product: gcc
Version: 4.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: David dot Webb at soc dot soton dot ac dot uk
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23642