Perform lvalue conversions on the left of a pseudo-destructor call 'p->~T()'.
authorRichard Smith <richard@metafoo.co.uk>
Thu, 15 Oct 2020 05:05:30 +0000 (22:05 -0700)
committerRichard Smith <richard@metafoo.co.uk>
Thu, 15 Oct 2020 05:09:01 +0000 (22:09 -0700)
commit9dbb0886ea799061baf79d4dce3203524a8468cc
tree0e4f9e7cbcfbab0dc1be2ee9b4df7be200c0eab9
parent006519816689acef5fd971955e21b7ab17ae65d9
Perform lvalue conversions on the left of a pseudo-destructor call 'p->~T()'.

Previously we failed to convert 'p' from array/function to pointer type,
and to represent the load of 'p' in the AST. The latter causes problems
for constant evaluation.
clang/lib/Sema/SemaExprCXX.cpp
clang/test/SemaCXX/constant-expression-cxx2a.cpp
clang/test/SemaCXX/pseudo-destructors.cpp