Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because math/coinutils's build infrastructure does not explicitly set
its C++ standard, this leads to several errors:
./CoinOslC.h:37:15: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
int c_ekkbtrn(register const EKKfactinfo *fact,
^~~~~~~~~
./CoinOslC.h:40:22: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
int c_ekkbtrn_ipivrw(register const EKKfactinfo *fact,
^~~~~~~~~
./CoinOslC.h:44:15: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
int c_ekketsj(register /*const*/ EKKfactinfo *fact,
^~~~~~~~
./CoinOslC.h:49:15: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
int c_ekkftrn(register const EKKfactinfo *fact,
^~~~~~~~~
./CoinOslC.h:53:18: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
int c_ekkftrn_ft(register EKKfactinfo *fact,
^~~~~~~~~
./CoinOslC.h:55:17: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
void c_ekkftrn2(register EKKfactinfo *fact, double *dwork1,
^~~~~~~~~
./CoinOslC.h:59:15: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
int c_ekklfct(register EKKfactinfo *fact);
^~~~~~~~~
./CoinOslC.h:60:15: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
int c_ekkslcf(register const EKKfactinfo *fact);
^~~~~~~~~
To work around the errors, define the register keyword away using
CPPFLAGS.
PR: 271870
Approved by: yuri (maintainer)
MFH: 2023Q2