[Bug 271415] net/norm: fix build with clang 16

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 14 May 2023 15:10:44 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271415

            Bug ID: 271415
           Summary: net/norm: 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: ports-bugs@FreeBSD.org
          Reporter: dim@FreeBSD.org
                CC: hd@oc.dk
             Flags: maintainer-feedback?(hd@oc.dk)
                CC: hd@oc.dk

Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because net/norm's build system does not explicitly set the C++
standard, this leads to several errors:

  ../src/common/normEncoderRS8.cpp:264:5: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
      USE_GF_MULC ;
      ^
  ../src/common/normEncoderRS8.cpp:136:21: note: expanded from macro
'USE_GF_MULC'
  #define USE_GF_MULC register gf * __gf_mulc_
                      ^
  ../src/common/normEncoderRS8.cpp:265:5: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
      register gf* dst = dst1;
      ^~~~~~~~~
  ../src/common/normEncoderRS8.cpp:266:5: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
      register gf* src = src1 ;
      ^~~~~~~~~

Add USE_CXXSTD=gnu++98 to compile for C++98 with GNU extensions instead,
as net/norm does not seem to use any C++11 or later constructs.

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