[gdb/build,c++17] Fix use of deprecated std::uncaught_exception
authorTom de Vries <tdevries@suse.de>
Sun, 5 Jul 2020 21:47:20 +0000 (23:47 +0200)
committerTom de Vries <tdevries@suse.de>
Sun, 5 Jul 2020 21:47:20 +0000 (23:47 +0200)
commit1e7c1b224272b7415ed053c29880b7b0329073b2
tree667a9ef7cd8ed955b27001e9646e27c3b1d2be7f
parent983d1fb49c531786021f5c649ac3cbf8e82db632
[gdb/build,c++17] Fix use of deprecated std::uncaught_exception

When compiling gdb with -std=gnu++17, we run into:
...
../../gdb/inferior.h: In member function ‘void \
  infcall_suspend_state_deleter::operator()(infcall_suspend_state*) const’:
../../gdb/inferior.h:83:12: error: ‘bool std::uncaught_exception()’ is \
  deprecated [-Werror=deprecated-declarations]
   83 |  if (!std::uncaught_exception ())
...

Fix this by rewriting using std::uncaught_exceptions.

Tested on x86_64-linux with gcc 9.3.1 and -std=gnu17/gnu++17.

Tested with test-case from RFC patch
https://sourceware.org/pipermail/gdb-patches/2020-June/169970.html.

gdb/ChangeLog:

2020-07-05  Tom de Vries  <tdevries@suse.de>

PR build/26187
* inferior.h (struct infcall_suspend_state_deleter): If available, use
std::uncaught_exceptions instead of deprecated
std::uncaught_exception.
gdb/ChangeLog
gdb/inferior.h