Commit 0ec052fe by Jason Merrill Committed by Jason Merrill

re PR c++/64994 (Firefox build error: ICE: in cxx_eval_call_expression, at cp/constexpr.c:1353)

	PR c++/64994
	* constexpr.c (cxx_eval_call_expression): Walk the clone list.

From-SVN: r220589
parent 082908e3
2015-02-10 Jason Merrill <jason@redhat.com>
PR c++/64994
* constexpr.c (cxx_eval_call_expression): Walk the clone list.
2015-02-10 Jan Hubicka <hubicka@ucw.cz>
PR ipa/64982
......
......@@ -1348,8 +1348,12 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t,
if (DECL_SAVED_TREE (fun) == NULL_TREE
&& (DECL_CONSTRUCTOR_P (fun) || DECL_DESTRUCTOR_P (fun)))
/* The maybe-in-charge 'tor had its DECL_SAVED_TREE
cleared, try the first clone. */
fun = DECL_CHAIN (fun);
cleared, try a clone. */
for (fun = DECL_CHAIN (fun);
fun && DECL_CLONED_FUNCTION_P (fun);
fun = DECL_CHAIN (fun))
if (DECL_SAVED_TREE (fun))
break;
gcc_assert (DECL_SAVED_TREE (fun));
tree parms, res;
......
// PR c++/64994
// { dg-do compile { target c++11 } }
class TimeStamp {
public:
constexpr TimeStamp() : mValue() {}
int mValue;
};
class A {
class B;
A(bool);
};
class C {
TimeStamp mFadeBeginTime;
};
class A::B {
public:
B(int) {}
TimeStamp mPrevEventTime[1];
};
A::A(bool) {
new C;
B(0);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment