From 992b0aa1cfe185d5666b5627087a830ebb93df24 Mon Sep 17 00:00:00 2001 From: Janne Blomqvist Date: Thu, 10 Nov 2011 19:08:24 +0200 Subject: Let the compiler decide whether to inline. 2011-11-10 Janne Blomqvist * intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining. * intrinsics/random.c (rnumber_4): Remove inline attribute. (rnumber_8, rnumber_10, rnumber_16): Likewise. * intrinsics/system_clock.c (gf_gettime_mono): Likewise. * intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro. (gf_cputime): Add inline attribute for MingW version. * io/format.c (format_hash): Remove inline attribute. * io/io.h (memset4): Inline function from transfer.c and write.c moved here. * io/transfer.c (min_off): Remove inline attribute. (memset4): Move to io.h. * io/write.c (memset4): Likewise. (memcpy4): Remove inline attribute. * io/write_float.def (calculate_exp): Likewise. From-SVN: r181260 --- libgfortran/intrinsics/cpu_time.c | 4 +--- libgfortran/intrinsics/random.c | 8 ++++---- libgfortran/intrinsics/system_clock.c | 2 +- libgfortran/intrinsics/time_1.h | 10 +--------- 4 files changed, 7 insertions(+), 17 deletions(-) (limited to 'libgfortran/intrinsics') diff --git a/libgfortran/intrinsics/cpu_time.c b/libgfortran/intrinsics/cpu_time.c index 619f8d2..94636c4 100644 --- a/libgfortran/intrinsics/cpu_time.c +++ b/libgfortran/intrinsics/cpu_time.c @@ -26,9 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "time_1.h" -static inline void __cpu_time_1 (long *, long *) ATTRIBUTE_ALWAYS_INLINE; - -static inline void +static void __cpu_time_1 (long *sec, long *usec) { long user_sec, user_usec, system_sec, system_usec; diff --git a/libgfortran/intrinsics/random.c b/libgfortran/intrinsics/random.c index 8c16b85..35576b8 100644 --- a/libgfortran/intrinsics/random.c +++ b/libgfortran/intrinsics/random.c @@ -74,7 +74,7 @@ static __gthread_mutex_t random_lock; correct offset. */ -static inline void +static void rnumber_4 (GFC_REAL_4 *f, GFC_UINTEGER_4 v) { GFC_UINTEGER_4 mask; @@ -89,7 +89,7 @@ rnumber_4 (GFC_REAL_4 *f, GFC_UINTEGER_4 v) *f = (GFC_REAL_4) v * GFC_REAL_4_LITERAL(0x1.p-32); } -static inline void +static void rnumber_8 (GFC_REAL_8 *f, GFC_UINTEGER_8 v) { GFC_UINTEGER_8 mask; @@ -106,7 +106,7 @@ rnumber_8 (GFC_REAL_8 *f, GFC_UINTEGER_8 v) #ifdef HAVE_GFC_REAL_10 -static inline void +static void rnumber_10 (GFC_REAL_10 *f, GFC_UINTEGER_8 v) { GFC_UINTEGER_8 mask; @@ -126,7 +126,7 @@ rnumber_10 (GFC_REAL_10 *f, GFC_UINTEGER_8 v) /* For REAL(KIND=16), we only need to mask off the lower bits. */ -static inline void +static void rnumber_16 (GFC_REAL_16 *f, GFC_UINTEGER_8 v1, GFC_UINTEGER_8 v2) { GFC_UINTEGER_8 mask; diff --git a/libgfortran/intrinsics/system_clock.c b/libgfortran/intrinsics/system_clock.c index f4bac07..6385c4f 100644 --- a/libgfortran/intrinsics/system_clock.c +++ b/libgfortran/intrinsics/system_clock.c @@ -75,7 +75,7 @@ static int weak_gettime (clockid_t, struct timespec *) Return value: 0 for success, -1 for error. In case of error, errno is set. */ -static inline int +static int gf_gettime_mono (time_t * secs, long * nanosecs) { int err; diff --git a/libgfortran/intrinsics/time_1.h b/libgfortran/intrinsics/time_1.h index 327f7cf..aaca56a 100644 --- a/libgfortran/intrinsics/time_1.h +++ b/libgfortran/intrinsics/time_1.h @@ -97,14 +97,6 @@ localtime_r (const time_t * timep, struct tm * result) #endif -#if defined (__GNUC__) && (__GNUC__ >= 3) -# define ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) -#else -# define ATTRIBUTE_ALWAYS_INLINE -#endif - -static inline int gf_cputime (long *, long *, long *, long *) ATTRIBUTE_ALWAYS_INLINE; - /* Helper function for the actual implementation of the DTIME, ETIME and CPU_TIME intrinsics. Returns 0 for success or -1 if no CPU time could be computed. */ @@ -114,7 +106,7 @@ static inline int gf_cputime (long *, long *, long *, long *) ATTRIBUTE_ALWAYS_I #define WIN32_LEAN_AND_MEAN #include -static int +static inline int gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec) { union { -- cgit v1.1