Joerg Sonnenberger wrote:
On Wed, May 17, 2017 at 11:56:55PM -0000, Nick Lewycky via cfe-commits wrote:
Author: nicholas
Date: Wed May 17 18:56:54 2017
New Revision: 303317

URL: http://llvm.org/viewvc/llvm-project?rev=303317&view=rev
Log:
The constant expression evaluator should examine function arguments for 
non-constexpr function calls unless the EvalInfo says to stop.

Crashes with -std=c++11 on:

enum SizeHint { MinimumSize, MaximumSize };
class QSizeF {
public:
   constexpr QSizeF();
   QSizeF m_fn1(QSizeF);
   double wd;
   double ht;
};
constexpr QSizeF::QSizeF() : wd(), ht() {}
class A {
   void m_fn2();
   QSizeF m_fn3(SizeHint, const QSizeF&  = QSizeF());
};
void A::m_fn2() { m_fn3(MinimumSize).m_fn1(m_fn3(MaximumSize)); }

Did you run this with assertions disabled? This looks like another testcase for PR33140, but it should hit an assertion first.

Nick
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to