philnik added a comment.

In D131963#3831786 <https://reviews.llvm.org/D131963#3831786>, @smeenai wrote:

> In D131963#3811811 <https://reviews.llvm.org/D131963#3811811>, @ldionne wrote:
>
>> I'd be fine with this as-is if it works in the CI.
>>
>> IIUC, the current blocker for this is that the `ClangConfig.cmake` installed 
>> by LLVM is not robust to the dev packages missing. If you do 
>> `find_package(Clang 16.0)`, it will error out if the dev packages are not 
>> present, since it will try to reference static libraries (and other 
>> artifacts) that don't exist and try to create IMPORTED targets for those. 
>> @smeenai @beanz do you know more about that, or do you know someone that 
>> does? Do you know who set up the CMake config files so that 
>> `find_package(Clang)` would work in the first place? I'd also welcome your 
>> input on the `ClangConfigVersion.cmake.in` changes.
>>
>> Just for the context, what we're trying to do here is simply use 
>> `clang-tidy`'s development packages from the libc++ build to add our own 
>> custom clang-tidy checks.
>>
>> Accepting because this LGTM, although we do have some stuff to resolve 
>> before this can be shipped.
>
> IIRC, the intended solution was to use `LLVM_DISTRIBUTION_COMPONENTS` 
> (https://llvm.org/docs/BuildingADistribution.html). When you use that option, 
> the generated CMake package files (at least in the install tree; I'm not sure 
> about the ones in the build tree) should only contain imported targets that 
> were part of your distribution. Multi-distribution support extends this even 
> further, where the file defining the imported targets for a distribution is 
> only imported if it's present, so things should work as expected both with 
> and without the dev packages. Is that workable for your use case?

That's a thing the vendor has to change, right? If we only get the targets 
which are actually available it should work just fine.



================
Comment at: libcxx/test/tools/clang_tidy_checks/robust_against_adl.cpp:22
+AST_MATCHER(clang::UnresolvedLookupExpr, isCustomizationPoint) {
+  // TODO: Are make_error_code and make_error_condition actually customization 
points?
+  return std::ranges::any_of(
----------------
jwakely wrote:
> jwakely wrote:
> > Mordante wrote:
> > > ldionne wrote:
> > > > This is funny, I actually saw a LWG issue about that go by a few weeks 
> > > > ago. I'll try to get more details.
> > > @ldionne @jwakely posted this bug report about it 
> > > https://github.com/llvm/llvm-project/issues/57614
> > They're definitely customization points. If they weren't, specializing 
> > `is_error_code_enum` and `is_error_condition_enum` would be completely 
> > useless and serve no purpose.
> > 
> > LWG confirmed that and [LWG 3629](https://wg21.link/lwg3629) is Tentatively 
> > Ready now.
> I created https://reviews.llvm.org/D134943 to fix those customization points.
Thanks for the info and patch @jwakely!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131963/new/

https://reviews.llvm.org/D131963

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to