[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-15 Thread Alexander Kornienko via Phabricator via cfe-commits
alexfh added a comment. In D111283#3786678 , @mizvekov wrote: > @alexfh This new revision that I just pushed should be good. > > Do you want to give it a look / test, or should we go ahead and merge it? Thanks for the fix! If it fixes the test case I

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-15 Thread David Rector via Phabricator via cfe-commits
davrec added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + aaronpuchert wrote: > mizvekov wrote: > >

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-14 Thread Aaron Puchert via Phabricator via cfe-commits
aaronpuchert added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + mizvekov wrote: > aaronpuchert wrote: >

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-14 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 460021. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-14 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 460010. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 459959. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. @vhscampos that issue should be fixed now as well, thanks for the report! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 ___

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 459946. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 459944. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + aaronpuchert wrote: > mizvekov wrote: > >

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Aaron Puchert via Phabricator via cfe-commits
aaronpuchert added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + mizvekov wrote: > davrec wrote: > >

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3786610 , @vhscampos wrote: > For reference, another small reproducer of the crash, but with a different > stack trace than the first example posted here: > > // Must compile with -std=c++03 to crash > #include

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. @alexfh This new revision that I just pushed should be good. Do you want to give it a look / test, or should we go ahead and merge it? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + davrec wrote: > mizvekov wrote: > > davrec

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Victor Campos via Phabricator via cfe-commits
vhscampos added a comment. For reference, another small reproducer of the crash, but with a different stack trace than the first example posted here: // Must compile with -std=c++03 to crash #include int main(int, char**) { int i[3] = {1, 2, 3}; int j[3] = {4, 5, 6};

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread David Rector via Phabricator via cfe-commits
davrec added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + mizvekov wrote: > davrec wrote: > > mizvekov

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + davrec wrote: > mizvekov wrote: > > davrec

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread David Rector via Phabricator via cfe-commits
davrec added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + mizvekov wrote: > davrec wrote: > > Could we

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 459726. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov edited the summary of this revision. mizvekov updated this revision to Diff 459725. Herald added subscribers: mstorsjo, arichardson. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files:

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + davrec wrote: > Could we just return `X`

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread David Rector via Phabricator via cfe-commits
davrec added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12367 + case Type::Class: \ +llvm_unreachable("Unexpected " Kind ": " #Class); + Could we just return `X` here? Would that

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. Even simpler: template using P = T; template void j(P, T, A...); template void j(P, T); void g() { j(P{}, int{}); } Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Alexander Kornienko via Phabricator via cfe-commits
alexfh added a comment. I've reverted d200db38637884fd0b421802c6094b2a03ceb29e in 637da9de4c6619c0e179c2c2f0dbfebd08ac2a0f . And a bit more compact test

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-13 Thread Alexander Kornienko via Phabricator via cfe-commits
alexfh added a comment. In D111283#3785259 , @alexfh wrote: > In D111283#3785240 , @alexfh wrote: > >> In D111283#3783627 , @alexfh wrote: >> >>> Hi Matheus, an early

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Alexander Kornienko via Phabricator via cfe-commits
alexfh added a comment. In D111283#3785240 , @alexfh wrote: > In D111283#3783627 , @alexfh wrote: > >> Hi Matheus, an early heads up: this commit is causing clang crashes on some >> of our code. I'll post more

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Alexander Kornienko via Phabricator via cfe-commits
alexfh added a comment. In D111283#3783627 , @alexfh wrote: > Hi Matheus, an early heads up: this commit is causing clang crashes on some > of our code. I'll post more details a bit later. The stack trace of the failure looks like this: #0

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Yuanfang Chen via Phabricator via cfe-commits
ychen added a comment. In D111283#3784702 , @mizvekov wrote: > In D111283#3784663 , @ychen wrote: > >> Thanks for the link. I'm not blocked by any of these patches, instead just >> trying to have a mental model

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3784663 , @ychen wrote: > Thanks for the link. I'm not blocked by any of these patches, instead just > trying to have a mental model of when to expect the sugared type :-). For > partial ordering, the

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Yuanfang Chen via Phabricator via cfe-commits
ychen added a comment. In D111283#3784648 , @mizvekov wrote: > In D111283#3784615 , @ychen wrote: > >> `A` is currently modeled as ElaboratedType. It was >> `TemplateSpecializationType` before. Reading comments

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3784615 , @ychen wrote: > `A` is currently modeled as ElaboratedType. It was > `TemplateSpecializationType` before. Reading comments for `ElaboratedType`, > it looks like sugar type might not be needed here? Ah you

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Yuanfang Chen via Phabricator via cfe-commits
ychen added a comment. In D111283#3783338 , @mizvekov wrote: > In D111283#3783250 , @ychen wrote: > >> Hi @mizvekov , I noticed that deduction for partial ordering also inherits >> this new behavior. Do you

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Alexander Kornienko via Phabricator via cfe-commits
alexfh added a comment. Hi Matheus, an early heads up: this commit is causing clang crashes on some of our code. I'll post more details a bit later. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3783250 , @ychen wrote: > Hi @mizvekov , I noticed that deduction for partial ordering also inherits > this new behavior. Do you think partial ordering could opt out of this, or is > it better for partial ordering

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-12 Thread Yuanfang Chen via Phabricator via cfe-commits
ychen added a comment. Hi @mizvekov , I noticed that deduction for partial ordering also inherits this new behavior. Do you think partial ordering could opt out of this, or is it better for partial ordering to deal with the new sugared types? Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-08 Thread Matheus Izvekov via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rGd200db386378: [clang] template / auto deduction deduces common sugar (authored by mizvekov). Changed prior to commit:

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-07 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3771900 , @erichkeane wrote: > Thanks for your patience, this was a sizable review that it took a while to > be able to make time for. A handful of non-functional reviews, but the > functionality looks fine.

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-07 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov marked an inline comment as done. mizvekov added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12139 +return X; + assert(declaresSameEntity(X, Y)); + for (const Decl *DX : X->redecls()) { erichkeane wrote: > As a nit, I'd prefer this

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-07 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov edited the summary of this revision. mizvekov updated this revision to Diff 458587. mizvekov marked 5 inline comments as done. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files:

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-06 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. Thanks for your patience, this was a sizable review that it took a while to be able to make time for. A handful of non-functional reviews, but the functionality looks fine. Comment at: clang/lib/AST/ASTContext.cpp:12139 +return X; +

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-05 Thread David Rector via Phabricator via cfe-commits
davrec accepted this revision. davrec added a comment. I hope I'm not stepping on any toes given the recent changes in code ownership, but I'm accepting this and D130308 because 1. They are a nice improvement to the AST that naturally follows from the earlier

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-01 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/include/clang/AST/ASTContext.h:2819-2823 + // For two canonically equal types, return a type which has + // the common sugar between them. If Unqualified is true, + // both types need only be the same unqualified type. + //

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-09-01 Thread Chuanqi Xu via Phabricator via cfe-commits
ChuanqiXu added inline comments. Comment at: clang/include/clang/AST/ASTContext.h:2819-2823 + // For two canonically equal types, return a type which has + // the common sugar between them. If Unqualified is true, + // both types need only be the same unqualified type. + //

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-28 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 456196. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-28 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. llvm-compile-time-tracker stats for this patch: http://llvm-compile-time-tracker.com/compare.php?from=f7a33090a91015836497c75f173775392ab0304d=771076b836b331f50f8a852fba1353aa60865e30=instructions For the next one on the stack, which hooks the new mechanism here to

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-21 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov edited the summary of this revision. mizvekov updated this revision to Diff 454303. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-18 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3733415 , @v.g.vassilev wrote: > Thanks for working on this! I left some comments. I did not look very deep in > the patch but it seems quite consistent to the rest of the code in Sema. Thanks! > Can you provide

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-18 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 453824. mizvekov marked an inline comment as done. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-18 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Thanks for working on this! I left some comments. I did not look very deep in the patch but it seems quite consistent to the rest of the code in Sema. Can you provide some performance numbers for this patch. I believe that the less confident reviewers will be more

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-18 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov marked 3 inline comments as done. mizvekov added a comment. In D111283#3721905 , @davrec wrote: > But instead of defining it and getting into details it might be clearer, and > certainly would have saved me the most time, for the description to

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-18 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov edited the summary of this revision. mizvekov updated this revision to Diff 453779. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-14 Thread David Rector via Phabricator via cfe-commits
davrec added a comment. > The second paragraph is talking about 'Canonical nodes', not 'Canonical > types'. > > A canonical node is a type node for which 'isSugared' method returns false. Thanks for the clarification, but note that that term is not in general use so far as I'm aware. But

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3716104 , @davrec wrote: > The first paragraph says X and Y must have the same canonical type, the > second suggests they need not. The first paragraph is talking about canonical equality, or if you take it that

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-11 Thread David Rector via Phabricator via cfe-commits
davrec added a comment. This part of the description is confusing: > We take two types, X and Y, which we wish to unify as input. > These types must have the same (qualified or unqualified) canonical > type. > > We dive down fast through top-level type sugar nodes, to the > underlying canonical

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3712348 , @erichkeane wrote: > This is a sizable patch, and it isn't really clear from context what I'm > looking at. Can you please improve the description/commit message to better > clarify what you are trying

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov edited the summary of this revision. mizvekov updated this revision to Diff 451799. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-08-10 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. This is a sizable patch, and it isn't really clear from context what I'm looking at. Can you please improve the description/commit message to better clarify what you are trying to do, what you did, and how you are trying to accomplish it? Repository: rG LLVM

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-27 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 447973. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-23 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 447086. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-18 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 445647. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp clang-tools-extra/clangd/unittests/HoverTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-18 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 445635. mizvekov marked an inline comment as done. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang-tools-extra/clangd/unittests/ASTTests.cpp

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-17 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:11578 + default: +return X; + } rsmith wrote: > mizvekov wrote: > > rsmith wrote: > > > For `TemplateArgument::ArgKind::Declaration`, I think it'd make sense to > > > take the common

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-17 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 445364. mizvekov marked 9 inline comments as done. Herald added subscribers: usaxena95, kadircet, arphaman. Herald added a project: clang-tools-extra. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-17 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 445358. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/Type.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov marked 2 inline comments as done. mizvekov added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12225-12227 +#define NON_CANONICAL_TYPE(Class, Base) UNEXPECTED_TYPE(Class, "non-canonical") +#define TYPE(Class, Base) +#include "clang/AST/TypeNodes.inc"

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3646066 , @Mordante wrote: > The libc++ build failures are due a broken libc++ HEAD. The current HEAD > should work again. Thanks for letting me know! Pushed my patches again just to have a look at the result,

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 444065. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/Type.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-12 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:12177 +return X; + assert(X->getCanonicalDecl() == Y->getCanonicalDecl()); + // FIXME: Could return the earliest declaration between those two. Comment at:

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-12 Thread Mark de Wever via Phabricator via cfe-commits
Mordante added a comment. The libc++ build failures are due a broken libc++ HEAD. The current HEAD should work again. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 443749. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/Type.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 443734. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/Type.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:11551-11552 +if (Unqualified && !Ctx.hasSameType(X, Y)) { + assert(Ctx.hasSameUnqualifiedType(X, Y)); + auto XQuals = X.getCVRQualifiers(), YQuals = Y.getCVRQualifiers(); +

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-07-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov edited the summary of this revision. mizvekov updated this revision to Diff 443731. mizvekov marked 2 inline comments as done. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files:

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-05-26 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 432339. mizvekov added a comment. - Just rebase, no review comments addressed yet. - One small churn in test/SemaCXX/deduced-return-void.cpp, which is new since last rebase. As this patch uses the template deduction machinery to also handle the mutiple

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2022-05-24 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Herald added a project: All. Comment at: clang/lib/AST/ASTContext.cpp:11551-11552 +if (Unqualified && !Ctx.hasSameType(X, Y)) { + assert(Ctx.hasSameUnqualifiedType(X, Y)); + auto XQuals = X.getCVRQualifiers(), YQuals =

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-11-16 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 387566. mizvekov added a comment. . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/Type.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-11-16 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 387554. mizvekov added a comment. - Fix rebuilding Template Specializations Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files:

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-11-15 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 387404. mizvekov added a comment. Herald added a project: libc++. Herald added a subscriber: libcxx-commits. Herald added a reviewer: libc++. - Add `libcxx/DELETE.ME` to trigger libcxx CI. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-31 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 383653. mizvekov added a comment. rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-21 Thread Louis Dionne via Phabricator via cfe-commits
ldionne added a comment. In D111283#3056748 , @rsmith wrote: > Do you have examples showing what this does in practice for errors in > real-world code? I'm concerned that stripping back to the common type sugar > may produce an unintuitive result in

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov marked 3 inline comments as done. mizvekov added inline comments. Comment at: clang/test/SemaCXX/sugared-auto.cpp:146 +return a; + return N(); // expected-error {{but deduced as 'SARS (*)() throw(Man, Vibrio)' (aka 'void (*)() throw(Man, Vibrio)')}} +}

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 379179. mizvekov added a comment. - Introduce TDK_ALreadyDiagnosed. Addresses rsmith's review comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files:

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-12 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D111283#3056748 , @rsmith wrote: > Do you have examples showing what this does in practice for errors in > real-world code? I'm concerned that stripping back to the common type sugar > may produce an unintuitive result in

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-11 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/test/SemaCXX/sugared-auto.cpp:146 +return a; + return N(); // expected-error {{but deduced as 'SARS (*)() throw(Man, Vibrio)' (aka 'void (*)() throw(Man, Vibrio)')}} +} rsmith wrote: > Why don't we get

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-11 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. Do you have examples showing what this does in practice for errors in real-world code? I'm concerned that stripping back to the common type sugar may produce an unintuitive result in some cases, although it certainly does seem at least theoretically nice to use a

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 378840. mizvekov added a comment. rebase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 378603. mizvekov added a comment. . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/Type.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 378600. mizvekov added a comment. - Handle different top level qualifiers in function parameters. - More test cases. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-10 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 378501. mizvekov added a comment. . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/Type.h

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-08 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 378406. mizvekov added a comment. - Tests and fix for dynamic exception spec corner case. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111283/new/ https://reviews.llvm.org/D111283 Files:

[PATCH] D111283: [clang] template / auto deduction deduces common sugar

2021-10-08 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 378388. mizvekov retitled this revision from "[clang] WIP: template / auto deduction deduces common sugar" to "[clang] template / auto deduction deduces common sugar". mizvekov edited the summary of this revision. mizvekov added a comment. - Add missing