On Apr 3, 2016 7:51 PM, "Kenneth Graunke" <kenn...@whitecape.org> wrote:
>
> %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 <kenn...@whitecape.org>
> ---
>  src/compiler/nir/nir_search.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/compiler/nir/nir_search.c b/src/compiler/nir/nir_search.c
> index 6e63063..c17d47b 100644
> --- a/src/compiler/nir/nir_search.c
> +++ b/src/compiler/nir/nir_search.c
> @@ -25,6 +25,7 @@
>   *
>   */
>
> +#include <inttypes.h>
>  #include "nir_search.h"
>
>  struct match_state {
> @@ -483,7 +484,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);

Another option is to simply use lld and llu.  That should be 64-bits on all
the platforms we care about.

>           switch (bitsize->dest_size) {
>           case 32:
>              load->value.i32[0] = c->data.i;
> @@ -497,7 +498,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;
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to