On Thu, Jul 9, 2015 at 3:00 PM, Ian Lance Taylor <i...@golang.org> wrote:
> On Wed, Jul 1, 2015 at 3:07 AM, Uros Bizjak <ubiz...@gmail.com> 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  <ubiz...@gmail.com>

    * 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 */

Reply via email to