Since clang 16 (and gcc 11) the default C++ standard is now gnu++17. Because textproc/opensp's build infrastructure does not explicitly set its C++ standard, this leads to an error: Recognizer.cxx:42:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register const Trie *pos = trie_.pointer(); ^~~~~~~~~ To work around the error, define the register keyword away using CPPFLAGS.
Created attachment 242625 [details] textproc/opensp: fix build with clang 16
^Triage: reporter is committer, assign accordingly. LGTM
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=af011365cffd2b76bab3f514de664e803575fb1f commit af011365cffd2b76bab3f514de664e803575fb1f Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-06-05 21:00:15 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2023-06-06 16:58:39 +0000 textproc/opensp: fix build with clang 16 Since clang 16 (and gcc 11) the default C++ standard is now gnu++17. Because textproc/opensp's build infrastructure does not explicitly set its C++ standard, this leads to an error: Recognizer.cxx:42:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register const Trie *pos = trie_.pointer(); ^~~~~~~~~ To work around the error, define the register keyword away using CPPFLAGS. PR: 271851 Approved by: fernape MFH: 2023Q2 textproc/opensp/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)