c++17 compatibility
Submitted by G??bor Szalai
Link to original bug (#568000)
Description
The default c++ standard of the upcoming GCC11 will be c++17
Currently the Titan can't be compiled according to the c++17
problems:
- dynamic exception specifications deprecated in c++11 completely removed later
Example: new.cc:21:33: error: ISO C++1z does not allow dynamic exception specifications void *operator new(size_t size) throw (std::bad_alloc)
Solution remove the throw() from declaration.
Backward compatibility note: The feature was not used. Doesn't really limited the possible exceptions.
- register deprecated in c++11, removed in c++17. See: https://en.cppreference.com/w/cpp/language/storage_duration
It was a hint for the c++ compiler, but not guarantees anything. Any optimizer ignore it. Can be safely removed.
Solution: remove register keyword
Both solution are backward compatible.
Version: 7.1.0