Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Jun 2023 16:51:38 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 271870] math/coinutils: fix build with clang 16
Message-ID:  <bug-271870-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271870

            Bug ID: 271870
           Summary: math/coinutils: fix build with clang 16
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: yuri@freebsd.org
          Reporter: dim@FreeBSD.org
          Assignee: yuri@freebsd.org
             Flags: maintainer-feedback?(yuri@freebsd.org)

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 cl=
ass
specifier [-Wregister]
  int c_ekkbtrn(register const EKKfactinfo *fact,
                ^~~~~~~~~
  ./CoinOslC.h:40:22: error: ISO C++17 does not allow 'register' storage cl=
ass
specifier [-Wregister]
  int c_ekkbtrn_ipivrw(register const EKKfactinfo *fact,
                       ^~~~~~~~~
  ./CoinOslC.h:44:15: error: ISO C++17 does not allow 'register' storage cl=
ass
specifier [-Wregister]
  int c_ekketsj(register /*const*/ EKKfactinfo *fact,
                ^~~~~~~~
  ./CoinOslC.h:49:15: error: ISO C++17 does not allow 'register' storage cl=
ass
specifier [-Wregister]
  int c_ekkftrn(register const EKKfactinfo *fact,
                ^~~~~~~~~
  ./CoinOslC.h:53:18: error: ISO C++17 does not allow 'register' storage cl=
ass
specifier [-Wregister]
  int c_ekkftrn_ft(register EKKfactinfo *fact,
                   ^~~~~~~~~
  ./CoinOslC.h:55:17: error: ISO C++17 does not allow 'register' storage cl=
ass
specifier [-Wregister]
  void c_ekkftrn2(register EKKfactinfo *fact, double *dwork1,
                  ^~~~~~~~~
  ./CoinOslC.h:59:15: error: ISO C++17 does not allow 'register' storage cl=
ass
specifier [-Wregister]
  int c_ekklfct(register EKKfactinfo *fact);
                ^~~~~~~~~
  ./CoinOslC.h:60:15: error: ISO C++17 does not allow 'register' storage cl=
ass
specifier [-Wregister]
  int c_ekkslcf(register const EKKfactinfo *fact);
                ^~~~~~~~~

To work around the errors, define the register keyword away using
CPPFLAGS.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-271870-7788>