[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-30 Thread Adam Czachorowski via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGfbfcfdbf6828: [clang] Fix assert() crash when checking undeduced arg alignment (authored by adamcz). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-30 Thread Adam Czachorowski via Phabricator via cfe-commits
adamcz updated this revision to Diff 341898. adamcz added a comment. typeof Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100667/new/ https://reviews.llvm.org/D100667 Files: clang/lib/Sema/SemaChecking.cpp clang/lib/Sema/SemaExpr.cpp clang/t

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-29 Thread Haojian Wu via Phabricator via cfe-commits
hokein accepted this revision. hokein added a comment. still LG Comment at: clang/test/SemaCXX/recovery-expr-type.cpp:29 // verify that "field has incomplete type" diagnostic is suppressed. - typeof(foo(42)) var; // expected-error {{no matching function}} + typeof(foo(42))

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-28 Thread Adam Czachorowski via Phabricator via cfe-commits
adamcz updated this revision to Diff 341244. adamcz added a comment. moved the test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100667/new/ https://reviews.llvm.org/D100667 Files: clang/lib/Sema/SemaChecking.cpp clang/lib/Sema/SemaExpr.cpp

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-27 Thread Haojian Wu via Phabricator via cfe-commits
hokein accepted this revision. hokein added a comment. This revision is now accepted and ready to land. Thanks! Comment at: clang/test/SemaCXX/cxx17-undeduced-alignment.cpp:19 +void baz() { + // S(123) is undeduced, but when passed to foo() via bar() it is wrapped in + // Sub

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-27 Thread Adam Czachorowski via Phabricator via cfe-commits
adamcz added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:19668 T = Context.DependentTy; + else if (const auto *U = T->getUnqualifiedDesugaredType()) +if (U->isUndeducedType()) hokein wrote: > I'm not sure we need this well. I think the abov

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-27 Thread Adam Czachorowski via Phabricator via cfe-commits
adamcz updated this revision to Diff 340802. adamcz marked 2 inline comments as done. adamcz added a comment. review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100667/new/ https://reviews.llvm.org/D100667 Files: clang/lib/Sema/SemaCh

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-27 Thread Haojian Wu via Phabricator via cfe-commits
hokein added a comment. thanks, I think we can simplify a bit more. Comment at: clang/lib/Sema/SemaChecking.cpp:4543 // getTypeAlignInChars requires complete types - if (ParamTy->isIncompleteType() || ArgTy->isIncompleteType() || - ParamTy->isUndeducedType() || ArgTy->

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-26 Thread Adam Czachorowski via Phabricator via cfe-commits
adamcz updated this revision to Diff 340527. adamcz added a comment. Added a fix in CreateRecoveryExpr Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100667/new/ https://reviews.llvm.org/D100667 Files: clang/lib/Sema/SemaChecking.cpp clang/lib/

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-26 Thread Adam Czachorowski via Phabricator via cfe-commits
adamcz added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:4543 // getTypeAlignInChars requires complete types - if (ParamTy->isIncompleteType() || ArgTy->isIncompleteType() || - ParamTy->isUndeducedType() || ArgTy->isUndeducedType()) + auto CheckTypeOK =

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-26 Thread Haojian Wu via Phabricator via cfe-commits
hokein added a comment. Thanks for tracking it down, and sorry for the delay. I thought the crash was fix in https://reviews.llvm.org/D99145. Thinking more about it, this is a recovery-expr crash, see my comment below. Comment at: clang/lib/Sema/SemaChecking.cpp:4543 // ge

[PATCH] D100667: [clang] Fix assert() crash when checking undeduced arg alignment

2021-04-16 Thread Adam Czachorowski via Phabricator via cfe-commits
adamcz created this revision. Herald added a subscriber: kristof.beyls. adamcz requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. There already was a check for undeduced and incomplete types, but it failed to trigger when outer type (SubstTemp