spirv_new: fix -Wformat warnings (#1933)

`log_error` was invoked from a template function, but the format
specifiers weren't adjusted for the template parameter types.  Use a
stringstream for printing instead.

Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
This commit is contained in:
Sven van Haastregt
2024-04-05 12:28:20 +02:00
committed by GitHub
parent 27e47e9e87
commit 5fe1cc01c0
2 changed files with 12 additions and 5 deletions

View File

@@ -439,9 +439,12 @@ int test_fp_rounding(cl_device_id deviceID,
{ {
if (h_res[i] != h_out[i]) if (h_res[i] != h_out[i])
{ {
log_error("Values do not match at location %d. Original :%lf, " std::stringstream sstr;
"Expected: %ld, Found %ld\n", sstr << "Values do not match at location " << i << ". "
i, h_in[i], h_out[i], h_res[i]); << "Original: " << h_in[i] << ", "
<< "Expected: " << h_out[i] << ", "
<< "Found: " << h_res[i];
log_error("%s\n", sstr.str().c_str());
return -1; return -1;
} }
} }

View File

@@ -14,6 +14,8 @@
// limitations under the License. // limitations under the License.
// //
#include <sstream>
#include "testBase.h" #include "testBase.h"
#include "types.hpp" #include "types.hpp"
@@ -63,8 +65,10 @@ int run_case(cl_device_id deviceID, cl_context context, cl_command_queue queue,
use_spec_constant ? reference = final_value : reference = init_buffer; use_spec_constant ? reference = final_value : reference = init_buffer;
if (device_results != reference) if (device_results != reference)
{ {
log_error("Values do not match. Expected %d obtained %d\n", reference, std::stringstream sstr;
device_results); sstr << "Values do not match. Expected " << reference << " obtained "
<< device_results;
log_error("%s\n", sstr.str().c_str());
err = -1; err = -1;
} }
return err; return err;