Hi!

The brig FE doesn't build on i686-linux, because size_t arguments
get a warning there when used with %lu.  As %zu is not portable enough,
cast to ulong is what is generally used elsewhere.

Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk
as obvious.

2017-01-30  Jakub Jelinek  <ja...@redhat.com>

        * brigfrontend/brig-code-entry-handler.cc
        (brig_code_entry_handler::get_tree_cst_for_hsa_operand): For %lu
        cast size_t arguments to unsigned long.

--- gcc/brig/brigfrontend/brig-code-entry-handler.cc.jj 2017-01-26 
09:15:50.000000000 +0100
+++ gcc/brig/brigfrontend/brig-code-entry-handler.cc    2017-01-30 
17:16:58.721940087 +0100
@@ -606,8 +606,9 @@ brig_code_entry_handler::get_tree_cst_fo
          if (bytes_left < scalar_element_size * element_count)
            fatal_error (UNKNOWN_LOCATION,
                         "Not enough bytes left for the initializer "
-                        "(%lu need %lu).",
-                        bytes_left, scalar_element_size * element_count);
+                        "(%lu need %lu).", (unsigned long) bytes_left,
+                        (unsigned long) (scalar_element_size
+                                         * element_count));
 
          vec<constructor_elt, va_gc> *vec_els = NULL;
          for (size_t i = 0; i < element_count; ++i)
@@ -625,8 +626,8 @@ brig_code_entry_handler::get_tree_cst_fo
          if (bytes_left < scalar_element_size)
            fatal_error (UNKNOWN_LOCATION,
                         "Not enough bytes left for the initializer "
-                        "(%lu need %lu).",
-                        bytes_left, scalar_element_size);
+                        "(%lu need %lu).", (unsigned long) bytes_left,
+                        (unsigned long) scalar_element_size);
          cst = build_tree_cst_element (scalar_element_type, next_data);
          bytes_left -= scalar_element_size;
          next_data += scalar_element_size;

        Jakub

Reply via email to