Skip to content

C bindings fixes / updates

Podhorszki, Norbert requested to merge github/fork/germasch/c_bindings into master

Created by: germasch

Originally, this work had meant to do the same kind of type mapping as the cxx11 interface, that is, map, e.g., adios2_type_unsigned_long_long and adios2_type_unsigned_long (on Mac/Linux-64) to the same underlying uint64_t for core adios2.

That part is actually not needed anymore, since in master those primitive variable based types are mostly gone. So this is mostly some cleanup and consistency improvements.

  • fix the Matlab interface which got broken by changes in master that removed the primitive adios2_types (untested, though, and it looks like the CI doesn't build it, either.)
  • remove 'adios2_type_{un,}signed_char`, since all the other primitive types are already gone
  • get rid of the type-string to adios_type maps, which were at least slightly broken because of a hardcoded mapping of unsigned long to always uint64_t
       {"unsigned long int", {adios2_type_uint64_t}},
  • change the various macro if-loops to only iterate over the actual stdint-based types, rather than primitive types
  • reintroduce adios2_type_long_double. I'm not sure this was intended to be dropped, I don't personally care about it, but it's supported by core and cxx11, so why just drop it from the C interface?

Merge request reports