From ad483becec8b3620df1543f81fd0c0a5ff1e8fcd Mon Sep 17 00:00:00 2001 From: Roy Stogner Date: Fri, 19 Feb 2021 10:53:10 -0600 Subject: [PATCH] decltype() for loop index iterators My compiler was only complaining about signed/unsigned warnings here, but for maximum forwards compatibility it might be best to insist on using the same data type for the index iterators as is being used for the index range. --- include/openmc/hdf5_interface.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/openmc/hdf5_interface.h b/include/openmc/hdf5_interface.h index ddb2319ae..88a73415a 100644 --- a/include/openmc/hdf5_interface.h +++ b/include/openmc/hdf5_interface.h @@ -212,7 +212,7 @@ read_attribute(hid_t obj_id, const char* name, std::vector& vec) // Read char data in attribute read_attr_string(obj_id, name, n, buffer); - for (int i = 0; i < m; ++i) { + for (decltype(m) i = 0; i < m; ++i) { // Determine proper length of string -- strlen doesn't work because // buffer[i] might not have any null characters std::size_t k = 0; @@ -478,7 +478,7 @@ write_dataset(hid_t obj_id, const char* name, // Copy data into contiguous buffer char* temp = new char[n*m]; std::fill(temp, temp + n*m, '\0'); - for (int i = 0; i < n; ++i) { + for (decltype(n) i = 0; i < n; ++i) { std::copy(buffer[i].begin(), buffer[i].end(), temp + i*m); }