diff options
author | Albert Cheng <acheng@hdfgroup.org> | 2004-05-21 18:50:04 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 2004-05-21 18:50:04 (GMT) |
commit | 7e5b1ce1856d546822d68ed52c46958d9180e0b2 (patch) | |
tree | 2b7ce34caaeba2a459af550319289a48c50f9811 /src/H5detect.c | |
parent | c385536b9e00d37d4806a6b53e19749875383d85 (diff) | |
download | hdf5-7e5b1ce1856d546822d68ed52c46958d9180e0b2.zip hdf5-7e5b1ce1856d546822d68ed52c46958d9180e0b2.tar.gz hdf5-7e5b1ce1856d546822d68ed52c46958d9180e0b2.tar.bz2 |
[svn-r8564] Purpose:
Improvement
Description:
Break up the C99 integer types detection into even smaller
sub-module routines. This has dropped the compile time (with
optimization) from 94 seconds to 6 seconds.
Platforms tested:
h5committested.
Misc. update:
Diffstat (limited to 'src/H5detect.c')
-rw-r--r-- | src/H5detect.c | 96 |
1 files changed, 93 insertions, 3 deletions
diff --git a/src/H5detect.c b/src/H5detect.c index 099163c..57b5444 100644 --- a/src/H5detect.c +++ b/src/H5detect.c @@ -100,6 +100,10 @@ static void detect_C89_integers(void); static void detect_C89_floats(void); static void detect_C99_integers(void); static void detect_C99_floats(void); +static void detect_C99_integers8(void); +static void detect_C99_integers16(void); +static void detect_C99_integers32(void); +static void detect_C99_integers64(void); static void detect_alignments(void); static size_t align_g[] = {1, 2, 4, 8, 16}; static jmp_buf jbuf_g; @@ -1140,9 +1144,9 @@ detect_C89_floats(void) /*------------------------------------------------------------------------- - * Function: detect_C99_integers + * Function: detect_C99_integers8 * - * Purpose: Detect C99 integer types + * Purpose: Detect C99 8 bit integer types * * Return: void * @@ -1154,7 +1158,7 @@ detect_C89_floats(void) *------------------------------------------------------------------------- */ static void -detect_C99_integers(void) +detect_C99_integers8(void) { #if H5_SIZEOF_INT8_T>0 DETECT_I(int8_t, INT8, d[nd]); nd++; @@ -1174,6 +1178,26 @@ detect_C99_integers(void) #if H5_SIZEOF_UINT_FAST8_T>0 DETECT_I(uint_fast8_t, UINT_FAST8, d[nd]); nd++; #endif +} + + +/*------------------------------------------------------------------------- + * Function: detect_C99_integers16 + * + * Purpose: Detect C99 16 bit integer types + * + * Return: void + * + * Programmer: Albert Cheng + * 2004/05/20 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static void +detect_C99_integers16(void) +{ #if H5_SIZEOF_INT16_T>0 DETECT_I(int16_t, INT16, d[nd]); nd++; #endif @@ -1192,6 +1216,26 @@ detect_C99_integers(void) #if H5_SIZEOF_UINT_FAST16_T>0 DETECT_I(uint_fast16_t, UINT_FAST16, d[nd]); nd++; #endif +} + + +/*------------------------------------------------------------------------- + * Function: detect_C99_integers32 + * + * Purpose: Detect C99 32 bit integer types + * + * Return: void + * + * Programmer: Albert Cheng + * 2004/05/20 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static void +detect_C99_integers32(void) +{ #if H5_SIZEOF_INT32_T>0 DETECT_I(int32_t, INT32, d[nd]); nd++; #endif @@ -1210,6 +1254,26 @@ detect_C99_integers(void) #if H5_SIZEOF_UINT_FAST32_T>0 DETECT_I(uint_fast32_t, UINT_FAST32, d[nd]); nd++; #endif +} + + +/*------------------------------------------------------------------------- + * Function: detect_C99_integers64 + * + * Purpose: Detect C99 64 bit integer types + * + * Return: void + * + * Programmer: Albert Cheng + * 2004/05/20 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static void +detect_C99_integers64(void) +{ #if H5_SIZEOF_INT64_T>0 DETECT_I(int64_t, INT64, d[nd]); nd++; #endif @@ -1245,6 +1309,32 @@ detect_C99_integers(void) /*------------------------------------------------------------------------- + * Function: detect_C99_integers + * + * Purpose: Detect C99 integer types + * + * Return: void + * + * Programmer: Albert Cheng + * 2004/05/20 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static void +detect_C99_integers(void) +{ + /* break it down to more subroutines so that each module subroutine */ + /* is smaller and takes less time to compile with optimization on. */ + detect_C99_integers8(); + detect_C99_integers16(); + detect_C99_integers32(); + detect_C99_integers64(); +} + + +/*------------------------------------------------------------------------- * Function: detect_C99_floats * * Purpose: Detect C99 floating point types |