nir: Use PRIi64 and PRIu64 instead of %ld and %lu.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 4 Apr 2016 02:51:22 +0000 (19:51 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 4 Apr 2016 21:38:48 +0000 (14:38 -0700)
%ld and %lu aren't the right format specifiers for int64_t and uint64_t
on 32-bit (x86) systems.  They're %zu on Linux and %Iu on Windows.

Use the standard C99 macros in hopes that they work everywhere.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
src/compiler/nir/nir_search.c

index b915101ce32b00f8faf3ad1447451b69841435cc..3a65ab189285036cb5c4d7450d548390b4757afc 100644 (file)
@@ -25,6 +25,7 @@
  *
  */
 
+#include <inttypes.h>
 #include "nir_search.h"
 
 struct match_state {
@@ -494,7 +495,7 @@ construct_value(const nir_search_value *value,
          break;
 
       case nir_type_int:
-         load->def.name = ralloc_asprintf(load, "%ld", c->data.i);
+         load->def.name = ralloc_asprintf(load, "%" PRIi64, c->data.i);
          switch (bitsize->dest_size) {
          case 32:
             load->value.i32[0] = c->data.i;
@@ -508,7 +509,7 @@ construct_value(const nir_search_value *value,
          break;
 
       case nir_type_uint:
-         load->def.name = ralloc_asprintf(load, "%lu", c->data.u);
+         load->def.name = ralloc_asprintf(load, "%" PRIu64, c->data.u);
          switch (bitsize->dest_size) {
          case 32:
             load->value.u32[0] = c->data.u;