34b0bba842
Previously, the `VTKM_ALWAYS_EXPORT` and `VTKM_NEVER_EXPORT` macros used the gnu-specific `__attribute__` keyword. This change instead uses the C++11 standard method of using `[[ ]]` as attributes. Specifically, `__attribute(visibility("---"))` is changed to `[[gnu::visibility("--")]]`. The main impetus for this change is that `__attribute__` does not seem to work with `[[deprecated]]` on GCC compilers. (For sure on GCC 6. I didn't check all compiler versions.) This change was recommended from https://stackoverflow.com/questions/40886628/deprecated-attribute-visibility-default-in-gcc-6-2 This creates a minor backward incompatibility. We have always meant for these macros to be used before the return type when used with a function. However, GCC accepted placing `__attribute__` after the return type. The C++11 `[[ ]]` cannot be placed there, so some macros might have to be moved. Still, this was a broken use that happened to work. |
||
---|---|---|
.. | ||
internal | ||
CMakeLists.txt |