[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-31 Thread Erich Keane via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe704aa4f254a: DR2303: Prefer 'nearer' base classes during template deduction. (authored by erichkeane). Herald added a project: clang. Changed prior to commit: https://reviews.llvm.org/D84048?vs=280101&

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-30 Thread Erich Keane via Phabricator via cfe-commits
erichkeane marked 2 inline comments as done. erichkeane added a comment. Thanks! I'm done for the day, so I'll push in the morning when I'll have a few hours to respond to build bots. Thanks again! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84048/new/ https://reviews.llvm.org/D840

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-30 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith accepted this revision. rsmith added a comment. This revision is now accepted and ready to land. Thanks, looks nice =) Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:1205 +/// Attempt to deduce the template arguments by checking the base types +/// according to (

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-27 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. Ping! I believe I've done all of the requested changes. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84048/new/ https://reviews.llvm.org/D84048 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://li

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-23 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 280101. erichkeane marked 9 inline comments as done. erichkeane added a comment. Fix all the things that @rsmith suggested. Thanks for the feedback, it is looking much better! I ended up using a MapVector instead of std::map for the RecordType*->SmallVec

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-22 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:1281 + "Base class that isn't a record?"); + ToVisit.push_back(Base.getType()->getAs()); +} erichkeane wrote: > rsmith wrote: > > It would be better to add the

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-22 Thread Erich Keane via Phabricator via cfe-commits
erichkeane marked 5 inline comments as done. erichkeane added a comment. Thanks for the review! I'll get this updated in the morning. I DO have a question on your suggestion for the ToVisit/Visited example, so if you could explain a little better, I'd be grateful. Comment a

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-22 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:1204-1205 +// Attempt to deduce the template arguments by checking the base types according +// to (C++ [temp.deduct.call] p4b3. +/// Missing `///` Comment at

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-22 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 279847. erichkeane marked an inline comment as done. erichkeane added a comment. As CWG seems unmoved by my argument as to why CWG2303 should change, I've opted to implement it as worded. As you can see, the implementation is somewhat more complicated, b

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Erich Keane via Phabricator via cfe-commits
erichkeane marked 2 inline comments as done. erichkeane added a comment. I'd attempted to regenerate the cxx_dr_status.html using make_cxx_dr_status, but I get a 'no such In D84048#2165080 , @rsmith wrote: > In D84048#2164950

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. In D84048#2164950 , @erichkeane wrote: > Additionally, I sent out a CWG message on the reflector about this: > https://godbolt.org/z/bEr61T > > My implementation has this as ambiguous, but the wording makes it well-formed > I thin

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 279609. erichkeane added a comment. Revert change to cxx_dr_status and update the test to have the right tag. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84048/new/ https://reviews.llvm.org/D84048 Files: clang/lib/Sema/SemaTemplateDeduction.

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno added a comment. > Ah, doh, I see a few now. Is that number the compiler version number? Yup CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84048/new/ https://reviews.llvm.org/D84048 ___ cfe-commits mailing list cfe-commits@lists

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno added a comment. In D84048#2165026 , @erichkeane wrote: > In D84048#2165023 , @riccibruno > wrote: > > > > Also make sure to update the the cxx_dr_status.html document. > > > > It is auto-generated. You

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In D84048#2165026 , @erichkeane wrote: > In D84048#2165023 , @riccibruno > wrote: > > > > Also make sure to update the the cxx_dr_status.html document. > > > > It is auto-generated. You

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In D84048#2165023 , @riccibruno wrote: > > Also make sure to update the the cxx_dr_status.html document. > > It is auto-generated. You need to tag the test case: `dr2303: 12`. > > Edit: And put it at the right place in the file

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno added a comment. > Also make sure to update the the cxx_dr_status.html document. It is auto-generated. You need to tag the test case: `dr2303: 12`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84048/new/ https://reviews.llvm.org/D84048 ___

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 279598. erichkeane added a comment. Also make sure to update the the cxx_dr_status.html document. Additionally, I sent out a CWG message on the reflector about this: https://godbolt.org/z/bEr61T My implementation has this as ambiguous, but the wording ma

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-21 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman removed a reviewer: aaron.ballman. aaron.ballman added a comment. While this looks reasonable to me, I don't feel comfortable signing off on it because Templates Are Complicated (switching myself to a subscriber instead). CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84048

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-17 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 278825. erichkeane added a comment. Woops, left in a TODO from when I was planning on how to do this patch. Should be ready now :) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84048/new/ https://reviews.llvm.org/D84048 Files: clang/lib/Sema

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-17 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. I added @rsmith directly, since I suspect he's the most knowledgeable in SemaTemplateDeduction.cpp, but if anyone knows of someone else who is a good fit for this review, please add them as well! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84048/new/ http

[PATCH] D84048: DR2303: Prefer 'nearer' base classes during template deduction.

2020-07-17 Thread Erich Keane via Phabricator via cfe-commits
erichkeane created this revision. erichkeane added reviewers: rsmith, rjmccall, aaron.ballman. DR2303 fixes the case where the derived-base match for template deduction is ambiguous if a base-of-base ALSO matches. The canonical example (as shown in the test) is just like the MSVC implementation of