Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 May 2023 13:16:09 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 271410] graphics/lcms2: enable CMS_NO_REGISTER_KEYWORD to avoid clang 16 issues
Message-ID:  <bug-271410-7788@https.bugs.freebsd.org/bugzilla/>

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

            Bug ID: 271410
           Summary: graphics/lcms2: enable CMS_NO_REGISTER_KEYWORD to
                    avoid clang 16 issues
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: sunpoet@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: sunpoet@FreeBSD.org
             Flags: maintainer-feedback?(sunpoet@FreeBSD.org)

In the exp-run bug 271047 for clang 16, there have been a bunch of failures
where C++ programs included <lcms2.h>, and then error'd due to the "registe=
r"
keyword being used, for example graphics/libfreehand:

https://pkg-status.freebsd.org/gohan05/data/mainamd64PR271047-default/2023-=
05-04_09h04m18s/logs/errors/libfreehand-0.1.2_25.log

  In file included from FreeHandDocument.cpp:14:
  In file included from ./FHParser.h:15:
  /usr/local/include/lcms2.h:1291:44: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
  typedef cmsInt32Number (* cmsSAMPLER16)   (CMSREGISTER const cmsUInt16Num=
ber
In[],
                                             ^~~~~~~~~~~~
  /usr/local/include/lcms2.h:158:23: note: expanded from macro 'CMSREGISTER'
  #  define CMSREGISTER register
                        ^

The lcms2.h header has a CMS_NO_REGISTER_KEYWORD define to disable usage of=
 the
"register" keyword, which has been unnecessary for decades now.

Unfortunately the lcms2 configure script has no option to enable this keywo=
rd,
so I would like to propose patching it in the post-patch stage.

Note that lcms2 is not broken with clang 16 at all, it builds just fine, but
applying this would prevent a number of other ports erroring out on the lcm=
s2.h
header in C++ mode.

--=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-271410-7788>