Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 May 2026 14:34:48 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Slawa Olhovchenkov <slw@zxy.spb.ru>, Dimitry Andric <dim@FreeBSD.org>
Cc:        dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: 700637cbb5e5 - main - Merge llvm-project main llvmorg-21-init-19288-gface93e724f4
Message-ID:  <6bc46845-abee-4393-a5a8-bce292b94b6e@yahoo.com>
In-Reply-To: <20260522163423.GA39748@zxy.spb.ru>
References:  <69eccd4e.36ab8.fd16100@gitrepo.freebsd.org> <20260522163423.GA39748@zxy.spb.ru>

index | next in thread | previous in thread | raw e-mail

On 5/22/26 09:34, Slawa Olhovchenkov wrote:
> On Sat, Apr 25, 2026 at 02:18:54PM +0000, Dimitry Andric wrote:
> 
>> The branch main has been updated by dim:
>>
>> URL: https://cgit.FreeBSD.org/src/commit/?id=700637cbb5e582861067a11aaca4d053546871d2
>>
>> commit 700637cbb5e582861067a11aaca4d053546871d2
>> Merge: 6243d755fb82 3f709e42e3be
>> Author:     Dimitry Andric <dim@FreeBSD.org>
>> AuthorDate: 2025-12-07 15:15:22 +0000
>> Commit:     Dimitry Andric <dim@FreeBSD.org>
>> CommitDate: 2026-04-25 14:08:55 +0000
>>
>>     Merge llvm-project main llvmorg-21-init-19288-gface93e724f4
>>     
>>     This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
>>     openmp to llvm-project main llvmorg-21-init-19288-gface93e724f4, the
>>     last commit before the upstream release/21.x branch was created.
>>     
>>     PR:             292067
>>     MFC after:      1 month
> 
> This is broke at least graphics/krita
> I mean __type_traits/is_integral.h is incorrect now: template <class
> _Tp> struct __libcpp_is_integral defined only for
> !__has_builtin(__is_integral)
> 
> 


Well, use of  non-public LLVM lib++ types are subject to upstream
removal or redesign at any LLVM update:

QUOTE
In file included from
/wrkdirs/usr/ports/graphics/krita/work/.build/libs/pigment/kritapigment_autogen/EWIEGA46WW/../../../../../krita-5.2.14/libs/pigment/KoColorSpaceMaths.h:109:
/wrkdirs/usr/ports/graphics/krita/work/krita-5.2.14/libs/global/KisHalfTraits.h:33:10:
error: no template named '__libcpp_is_integral'; did you mean
'__libcpp_is_final'?
   33 |   struct __libcpp_is_integral<half>
      |          ^~~~~~~~~~~~~~~~~~~~
      |          __libcpp_is_final
/usr/include/c++/v1/__type_traits/is_final.h:22:8: note:
'__libcpp_is_final' declared here
   22 | struct __libcpp_is_final : integral_constant<bool,
__is_final(_Tp)> {};
      |        ^
1 error generated.
END QUOTE

Where:

work/krita-5.2.14/libs/global/KisHalfTraits.h has:

QUOTE
#elif defined _LIBCPP_VERSION

template<>
  struct __libcpp_is_integral<half>
  : public false_type { };
END QUOTE

That __ prefix in the __libcpp_is_integral name indicates it is only for
internal LLVM libc++ use and is subject to removal or
incompatible-redesign updates or such between any 2 libc++ updates.

graphics/krita can not validly expect to be portable across LLVM
releases as written. It is actually in violation of the C++ standards
relative to its use of names with __ prefixes.


-- 
===
Mark Millard
marklmi at yahoo.com


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6bc46845-abee-4393-a5a8-bce292b94b6e>