SGL-UT / GPSTk

ATTENTION: This repository has been moved and is for archival purposes only. GPSTk toolkit has been renamed to GNSSTK and has been split into two new separate repositories. GNSSTK now only contains libraries while the other repository GNSSTK-APPS contains only applications. The rename and split into libraries and applications started with version v12.0.0 on September 2021. GPSTk --> GNSSTK at https://gitlab.com/sgl-ut/gnsstk --> GNSSTK-APPS at https://gitlab.com/sgl-ut/gnsstk-apps
Other
339 stars 182 forks source link

Doesn't compile in C++17 #55

Closed rconde01 closed 3 years ago

rconde01 commented 5 years ago

The use of dynamic exception specifications was removed in C++17:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html

Therefore to allow compilation with C++17, they should be removed.

rconde01 commented 5 years ago

There are a couple approaches that could be taken:

1) replace throw() with noexcept, and throw(...) with noexcept(false) 2) create something like a THROW_SPEC macro that expands to the current code or the above code depending on the detected CPP version (or additionally a user settable macros).

UT-dave commented 3 years ago

Closing this issue as unable to address -- for now. We plan to support C++17 features once g++ catches up with the standard.

rconde01 commented 3 years ago

I'm not sure what you mean? g++ supports C++17 for a very long time.

UT-dave commented 3 years ago

g++ has some C++17 support, but not the complete standard. Until they reach full compliance, we can't make the leap.

rconde01 commented 3 years ago

Here's the support table:

https://gcc.gnu.org/projects/cxx-status.html

What's missing?