Skip to content

Compilation fails: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] #75

@yurivict

Description

@yurivict
 c++ -DHAVE_CONFIG_H -I. -I. -I.. -I./.. -I./../expression -I./../convex -I./../branch -I./../bound_tightening -I./../problem -I./../util -I/usr/local/include/coin -I/usr/local/include/coin-or/asl -I/usr/local/include/coin-or/mumps -I/usr/local/include/coin-or -I/usr/local/include/coin -I/usr/local/include/coin-or/asl -I/usr/local/include/coin-or/mumps -I/usr/local/include/coin-or -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DCOUENNE_BUILD -MT drawCuts.lo -MD -MP -MF .deps/drawCuts.Tpo -c drawCuts.cpp  -fPIC -DPIC -o .libs/drawCuts.o
rootQ.cpp:21:14: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
CouNumber Q (register int k, CouNumber x) {
             ^~~~~~~~~
rootQ.cpp:23:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  register CouNumber xp = x, Q = 1.;
  ^~~~~~~~~
rootQ.cpp:23:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  register CouNumber xp = x, Q = 1.;
  ^~~~~~~~~
rootQ.cpp:27:8: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  for (register int i=2; i<=k; i++) {
       ^~~~~~~~~
rootQ.cpp:47:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    register CouNumber 
    ^~~~~~~~~
rootQ.cpp:47:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    register CouNumber 
    ^~~~~~~~~
rootQ.cpp:47:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    register CouNumber 
    ^~~~~~~~~
rootQ.cpp:47:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    register CouNumber 
    ^~~~~~~~~
8 errors generated.
gmake[3]: *** [Makefile:420: rootQ.lo] Error 1
gmake[3]: *** Waiting for unfinished jobs....
In file included from drawCuts.cpp:13:
In file included from ./../problem/CouenneProblem.hpp:25:
./../expression/CouenneExpression.hpp:279:26: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
inline bool updateBound (register int sign, 
                         ^~~~~~~~~
./../expression/CouenneExpression.hpp:280:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
                         register CouNumber *dst, 
                         ^~~~~~~~~
./../expression/CouenneExpression.hpp:281:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
                         register CouNumber src) {
                         ^~~~~~~~~
./../expression/CouenneExpression.hpp:291:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  register double delta = (sign > 0) ? (*dst - src) : (src - *dst);
  ^~~~~~~~~
In file included from drawCuts.cpp:13:
In file included from ./../problem/CouenneProblem.hpp:28:
./../expression/CouenneDomain.hpp:84:25: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  inline CouNumber &x  (register int index) {return x_  [index];} ///< return current variable
                        ^~~~~~~~~
./../expression/CouenneDomain.hpp:85:25: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  inline CouNumber &lb (register int index) {return lb_ [index];} ///< return current lower bound
                        ^~~~~~~~~
./../expression/CouenneDomain.hpp:86:25: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  inline CouNumber &ub (register int index) {return ub_ [index];} ///< return current upper bound
                        ^~~~~~~~~
./../expression/CouenneDomain.hpp:156:25: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  inline CouNumber &x  (register int index) {return point_ -> x  (index);}   ///< current variable
                        ^~~~~~~~~
./../expression/CouenneDomain.hpp:157:25: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  inline CouNumber &lb (register int index) {return point_ -> lb (index);}   ///< current lower bound
                        ^~~~~~~~~
./../expression/CouenneDomain.hpp:158:25: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  inline CouNumber &ub (register int index) {return point_ -> ub (index);}   ///< current upper bound
                        ^~~~~~~~~
In file included from drawCuts.cpp:13:
./../problem/CouenneProblem.hpp:63:31: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    inline void color_vertex (register int k) {color = k;}
                              ^~~~~~~~~
./../problem/CouenneProblem.hpp:71:24: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    inline void bounds(register double a, register double b){ lb = a; ub = b;}
                       ^~~~~~~~~
./../problem/CouenneProblem.hpp:71:43: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    inline void bounds(register double a, register double b){ lb = a; ub = b;}
                                          ^~~~~~~~~

Version: 0.5.8
clang-16
FreeBSD 14

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions