Bugzilla Automation <[email protected]> has asked freebsd-x11 (Nobody)
<[email protected]> for maintainer-feedback:
Bug 271533: x11/xorgproto: ensure Xos.h does not define index() as a macro
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271533
--- Description ---
During the exp-run for clang 16, it turned out that Xos.h defines
index() and rindex() as preprocessor macros, and this causes many
problems with libc++ headers [1]:
/usr/include/c++/v1/variant:532:39: error: too few arguments provided to
function-like macro invocation
return __at(__fmatrix, __vs.index()...)(
^
/usr/local/include/X11/Xos.h:67:12: note: macro 'index' defined here
# define index(s,c) (strchr((s),(c)))
^
/usr/include/c++/v1/variant:813:18: error: too few arguments provided to
function-like macro invocation
return index() == variant_npos;
^
/usr/local/include/X11/Xos.h:67:12: note: macro 'index' defined here
# define index(s,c) (strchr((s),(c)))
^
/usr/include/c++/v1/variant:817:25: error: expected ';' at end of declaration
list
constexpr size_t index() const noexcept {
^
/usr/include/c++/v1/variant:802:9: error: member initializer '__data' does
not name a non-static data member or base class
: __data(__tag), __index(__variant_npos<__index_t>) {}
^~~~~~~~~~~~~
/usr/include/c++/v1/variant:808:9: error: member initializer '__data' does
not name a non-static data member or base class
__data(in_place_index<_Ip>, _VSTD::forward<_Args>(__args)...),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/variant:920:23: error: too few arguments provided to
function-like macro invocation
__rhs.index(),
^
/usr/local/include/X11/Xos.h:67:12: note: macro 'index' defined here
# define index(s,c) (strchr((s),(c)))
^
Add defined(__FreeBSD__) to Xos.h's #if block to include <strings.h>
instead, so it will get our regular index() and rindex() declarations
instead. This has also been sent upstream [2].
[1]
<https://pkg-status.freebsd.org/gohan05/data/mainamd64PR271047-default/2023-05-
14_19h35m09s/logs/errors/scim-1.4.9_7.log>
[2] <https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/73>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.