On Thu, Jul 9, 2015 at 3:00 PM, Ian Lance Taylor <[email protected]> wrote:
> On Wed, Jul 1, 2015 at 3:07 AM, Uros Bizjak <[email protected]> wrote:
>>
>> This patch avoids "enum conversion when passing argument 1 of
>> ‘getrusage’ is invalid in C++" warning when compiling getruntime.c.
>> The condition is copied from sys/resource.h.
>
> Sorry, I've been on vacation.
>
> I think it would be a lot nicer to always use RUSAGE_SELF in the
> function, and earlier in the file write
>
> #ifndef RUSAGE_SELF
> #define RUSAGE_SELF 0
> #endif
Indeed, attached patch builds without warning.
2015-07-09 Uros Bizjak <[email protected]>
* getruntime.c (RUSAGE_SELF): Define if not already defined.
(get_runtime): Use RUSAGE_SELF as argument 1 of getrusage call.
Bootstrapped on x86_64-linux-gnu.
OK for mainline SVN?
Uros.
Index: getruntime.c
===================================================================
--- getruntime.c (revision 225610)
+++ getruntime.c (working copy)
@@ -65,6 +65,10 @@ Boston, MA 02110-1301, USA. */
#define CLOCKS_PER_SEC 1
#endif
+#ifndef RUSAGE_SELF
+#define RUSAGE_SELF 0
+#endif
+
#ifdef _SC_CLK_TCK
#define GNU_HZ sysconf(_SC_CLK_TCK)
#else
@@ -95,11 +99,7 @@ get_run_time (void)
#if defined (HAVE_GETRUSAGE) && defined (HAVE_SYS_RESOURCE_H)
struct rusage rusage;
-#if defined __USE_GNU && !defined __cplusplus
getrusage (RUSAGE_SELF, &rusage);
-#else
- getrusage (0, &rusage);
-#endif
return (rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec
+ rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec);
#else /* ! HAVE_GETRUSAGE */