[ET Trac] #2871: EOS_Omni's nuceos code used int to hold hid_t values

Roland Haas trac-noreply at einsteintoolkit.org
Thu May 15 15:32:59 CDT 2025


#2871: EOS_Omni's nuceos code used int to hold hid_t values

 Reporter: Roland Haas
   Status: new
Milestone: 
  Version: 
     Type: bug
 Priority: major
Component: EinsteinToolkit thorn

`EOS_Omni` contains this code:

```
// If on the IO proc (doIO == True) actually perform HDF5 IO, catch possible
// HDF5 errors
#define HDF5_DO_IO(fn_call)                                              \
  if(doIO) {                                                             \
    int _error_code = fn_call;                                           \
    if (_error_code < 0) {                                               \
      CCTK_VError(__LINE__, __FILE__, CCTK_THORNSTRING,                  \
                  "HDF5 call '%s' returned error code %d",               \
                  #fn_call, _error_code);                                \
    }                                                                    \
  }
```

to handle some HDF5 calls. This assigns the result of HDF5 calls \(typically a `hid_t` type\) to an int, which \(as of HDF5 1.10 or so\) is no longer correct since `hid_t` is now a 64 bit type. So this needs to be a `hid_t` or `long long int` \(and some compile time check that \`long long int\` actually can hold a \`hid\_t\`\) instead to handle the value and output via printf.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2871/eos_omnis-nuceos-code-used-int-to-hold
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einsteintoolkit.org/pipermail/trac/attachments/20250515/4408f512/attachment.htm>


More information about the Trac mailing list