Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MMDevice: Allow compilation with C++17 #489

Merged
merged 1 commit into from
Sep 4, 2024

Conversation

marktsuchida
Copy link
Member

@marktsuchida marktsuchida commented Sep 4, 2024

This allows individual device adapters to be compiled with C++17 (as opposed to our current default of C++14) without encountering warnings or errors due to obsolete dynamic exception specifications (which we still keep for use by our SWIG Java bindings).

See #159 for more on C++17 support status.

  • Remove pointless throw () from two functions.

  • Wrap remaining dynamic exception specifications (2 occurrences) in a macro, which expands to nothing unless read by SWIG.

  • Removed the warning suppressions related to dynamic exception specifications.

  • Confirmed, using japicmp, that the MMCoreJ API did not change (tested with SWIG 3, Linux).

  • There is no C++ MMDevice ABI change because dynamic exception specifications are not part of the ABI (so no increment of device interface version).

- Remove pointless `throw ()` from two functions.

- Wrap remaining dynamic exception specifications (2 occurrences) in
  macro, which expands to nothing unless read by SWIG.

- Removed the warning suppressions related to dynamic exception
  specifications.

- Confirmed, using japicmp, that the MMCoreJ API did not change (tested
  with SWIG 3, Linux).

- There is no C++ MMDevice ABI change because dynamic exception
  specifications are not part of the ABI (so no increment of device
  interface version).
@marktsuchida marktsuchida merged commit 3db33f6 into main Sep 4, 2024
4 checks passed
@marktsuchida marktsuchida deleted the allow-cpp17-device-adapters branch September 4, 2024 22:36
@marktsuchida marktsuchida mentioned this pull request Sep 4, 2024
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant