[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-09-15 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D105756#3001045 , @NoQ wrote: > I guess I'm confused about the exact meaning of the AST. I'm not sure whether > it's actively incorrect or just changed meaning. I'll definitely be debugging > this further. > > My backstory h

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-09-14 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. In D105756#2990495 , @mizvekov wrote: > Hello! Thanks for reporting this. Thanks for fixing! In D105756#2990495 , @mizvekov wrote: > The double implicit lvalue-to-rvalue cast is an unfortun

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-09-11 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. @NoQ I have made a DR for that change: D109654 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105756/new/ https://reviews.llvm.org/D105756 ___

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-09-08 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added a comment. In D105756#2988022 , @NoQ wrote: > I don't think this is intended. @mizvekov, do you think you can add more hard > checks to make sure it's constrained to C++? (Or maybe there's another, more > precise solution?) Hello! Thanks

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-09-07 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. It looks like this commit causes unexpected changes in non-C++ code. Eg., in this tiny reproducer (that uses the non-standard "blocks" feature but is otherwise plain C): typedef struct { int x; } S; void foo() { ^{ S s; return s; }; } I'm

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-07-13 Thread Matheus Izvekov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG03282f2fe14e: [clang] C++98 implicit moves are back with a vengeance (authored by mizvekov). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105756/new/ https

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-07-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov added inline comments. Comment at: clang/test/SemaObjCXX/block-capture.mm:40 }; -TEST(CopyNoMove); // cxx11_2b-error {{call to deleted constructor}} +TEST(CopyNoMove); // cxx98_2b-error {{call to deleted constructor}} Quuxplusone wrote: > `cxx98_2b` i

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-07-13 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov updated this revision to Diff 358224. mizvekov edited the summary of this revision. mizvekov added a comment. - Fix minor nits. - Please Dijkstra. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105756/new/ https://reviews.llvm.org/D105756

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-07-10 Thread Arthur O'Dwyer via Phabricator via cfe-commits
Quuxplusone accepted this revision. Quuxplusone added a comment. This revision is now accepted and ready to land. It would be an excellent idea to try the libc++ test suite with this patch (make sure to pass `--param std=c++03`). Comment at: clang/lib/Sema/SemaStmt.cpp:3484 +

[PATCH] D105756: [clang] C++98 implicit moves are back with a vengeance

2021-07-10 Thread Matheus Izvekov via Phabricator via cfe-commits
mizvekov created this revision. mizvekov edited the summary of this revision. mizvekov edited the summary of this revision. mizvekov edited the summary of this revision. mizvekov updated this revision to Diff 357688. mizvekov added a comment. mizvekov updated this revision to Diff 357692. mizvekov