diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2008-05-14 21:51:27 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2008-05-14 21:51:27 +0000 |
commit | 4b267817ff0af3f2d5ec219e57a5db5ddb345543 (patch) | |
tree | 4927e53c7e5dc8572ba91ace7e7dd690a041a236 /libgfortran/libgfortran.h | |
parent | c5fcd67041670039f624444358456f0a29c40b50 (diff) | |
download | gcc-4b267817ff0af3f2d5ec219e57a5db5ddb345543.zip gcc-4b267817ff0af3f2d5ec219e57a5db5ddb345543.tar.gz gcc-4b267817ff0af3f2d5ec219e57a5db5ddb345543.tar.bz2 |
libgfortran.h (gfc_char4_t): New type.
2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
* libgfortran.h (gfc_char4_t): New type.
(GFC_SIZE_OF_CHAR_KIND): New macro.
(compare_string): Adjust prototype.
(compare_string_char4): New prototype.
* gfortran.map (GFORTRAN_1.1): Add _gfortran_adjustl_char4,
_gfortran_adjustr_char4, _gfortran_compare_string_char4,
_gfortran_concat_string_char4, _gfortran_string_index_char4,
_gfortran_string_len_trim_char4, _gfortran_string_minmax_char4,
_gfortran_string_scan_char4, _gfortran_string_trim_char4 and
_gfortran_string_verify_char4.
* intrinsics/string_intrinsics_inc.c: New file from content of
string_intrinsics.c with types replaced by macros.
* intrinsics/string_intrinsics.c: Move content to
string_intrinsics_inc.c.
From-SVN: r135313
Diffstat (limited to 'libgfortran/libgfortran.h')
-rw-r--r-- | libgfortran/libgfortran.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h index c3c67a1..6ff9f4f 100644 --- a/libgfortran/libgfortran.h +++ b/libgfortran/libgfortran.h @@ -259,9 +259,20 @@ typedef GFC_INTEGER_4 GFC_IO_INT; by the compiler. */ /* The type used of array indices, amongst other things. */ typedef ssize_t index_type; + /* The type used for the lengths of character variables. */ typedef GFC_INTEGER_4 gfc_charlen_type; +/* Definitions of CHARACTER data types: + - CHARACTER(KIND=1) corresponds to the C char type, + - CHARACTER(KIND=4) corresponds to an unsigned 32-bit integer. */ +typedef GFC_UINTEGER_4 gfc_char4_t; + +/* Byte size of character kinds. For the kinds currently supported, it's + simply equal to the kind parameter itself. */ +#define GFC_SIZE_OF_CHAR_KIND(kind) (kind) + + /* This will be 0 on little-endian machines and one on big-endian machines. */ extern int l8_to_l4_offset; internal_proto(l8_to_l4_offset); @@ -1172,10 +1183,14 @@ internal_proto(spread_scalar_c16); /* string_intrinsics.c */ -extern int compare_string (GFC_INTEGER_4, const char *, - GFC_INTEGER_4, const char *); +extern int compare_string (gfc_charlen_type, const char *, + gfc_charlen_type, const char *); iexport_proto(compare_string); +extern int compare_string_char4 (gfc_charlen_type, const gfc_char4_t *, + gfc_charlen_type, const gfc_char4_t *); +iexport_proto(compare_string_char4); + /* random.c */ extern void random_seed_i4 (GFC_INTEGER_4 * size, gfc_array_i4 * put, |