erichkeane marked an inline comment as done. erichkeane added a comment. In D126907#3600876 <https://reviews.llvm.org/D126907#3600876>, @ChuanqiXu wrote:
> Great progress! > > In D126907#3599835 <https://reviews.llvm.org/D126907#3599835>, @erichkeane > wrote: > >> Note that the failure comes down to: >> >> template<typename T> concept C = T::f(); >> template<template<C> class P> struct S1{}; >> template<C> struct X{}; >> S1<X> s11; >> >> and requires the -frelaxed-template-template-args flag: >> >> [ekeane1@scsel-clx-24 build]$ ./bin/clang -cc1 -std=c++20 temp.cpp >> -frelaxed-template-template-args >> temp.cpp:5:4: error: template template argument 'X' is more constrained >> than template template parameter 'P' >> S1<X> s11; >> ^ >> temp.cpp:3:29: note: 'P' declared here >> template <template<C> class P> struct S1{}; >> ^ >> temp.cpp:4:20: note: 'X' declared here >> template<C> struct X{}; >> ^ >> 1 error generated. > > As far as I could tell, we could omit the diagnostic by deleting > https://github.com/llvm/llvm-project/blob/bc74bca5363270e987c2e3c263bfaaeb6ceab66f/clang/include/clang/Sema/SemaConcept.h#L45-L53 > > This change is obsolutely wrong but it shows the bug comes from > `ParameterMapping` so we could locate > https://github.com/llvm/llvm-project/blob/bc74bca5363270e987c2e3c263bfaaeb6ceab66f/clang/lib/Sema/SemaConcept.cpp#L723 > further. Thanks for the debugging help! I'm not sure what you mean by "Locating it further"? Best I can tell looking so far, is the fact that the 'depths' still point based on the 'root', but this is comparing thinking they are relative to the decl themselves. I see the 'SubstTemplateArguments' there that looks suspicious, so there is probably something about setting up my template parameters correctly there/the MLTAL. Thanks for the comments and debugging help again! ================ Comment at: clang/test/Driver/crash-report.cpp:28 +// RUNX: cat %t/crash-report-*.cpp | FileCheck --check-prefix=CHECKSRC %s +// RUNX: cat %t/crash-report-*.sh | FileCheck --check-prefix=CHECKSH %s ---------------- ChuanqiXu wrote: > What's the meaning of RUNX? Woops! I didn't add this test change to GIT, but it apparently still showed up with 'diff'. For some reason, once I switched to lldb the llvm-symbolizer takes a HUGE amount of time during this test when doing check-all, so I used the 'X' to disable the test locally. This is not intended to be committed. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126907/new/ https://reviews.llvm.org/D126907 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits