Remove dynamic exception specifiers#62
Conversation
This language feature was deprecated in C++11 and removed in C++17. Starting with gcc-11 and clang-12, the default C++ standard is C++17- preventing LaunchMON from being built with those compilers without forcing an earlier standard (e.g., -std=c++11).
|
@hainest: great to see you again obviously :-). So we never declared this code base support latest C++ like 17. So some questions when you remove |
There are two points to consider:
void do_call_noexcept(void (*)(int) noexcept) {}
void do_call(void (*)(int)) {}
void foo(int) {}
void bar(int) noexcept {}
int main() {
do_call(&foo); // compiles
do_call(&bar); // compiles
do_call_noexcept(&foo); // Error! type mismatch
do_call_noexcept(&bar); // compiles
}Neither of these is happening in the code base right now, but they are something to consider for the future. |
|
@lee218llnl Dong mentioned you would be a good contact for updates to this repo. Could you take a look at this? Thanks! |
|
@hainest and @dongahn, I'm not up to date on my C++ programming, so I'm not particularly qualified to review this. @mplegendre may also be able to lend an eye too. Otherwise, you'll have to wait for me to get time to catch up on C++ standards. |
|
@lee218llnl Not a problem. Let me know if you have any questions. |
This language feature was deprecated in C++11 and removed in C++17. Starting with gcc-11 and clang-12, the default C++ standard is C++17- preventing LaunchMON from being built with those compilers without forcing an earlier standard (e.g., -std=c++11).
Fixes #61
@dongahn It's me again! I'm working my way through the tools SDK.