Commit 39344c99 by Paolo Carlini Committed by Paolo Carlini

re PR c++/58581 ([c++11] ICE with no-throw specification in deleted function)

/cp
2013-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58581
	* call.c (build_over_call): Check return value of mark_used.

/testsuite
2013-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58581
	* g++.dg/cpp0x/deleted1.C: New.

From-SVN: r204249
parent ce5d49a8
2013-10-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58581
* call.c (build_over_call): Check return value of mark_used.
2013-10-30 Jason Merrill <jason@redhat.com> 2013-10-30 Jason Merrill <jason@redhat.com>
* semantics.c (finish_compound_literal): Don't create a static variable * semantics.c (finish_compound_literal): Don't create a static variable
......
...@@ -7112,8 +7112,9 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) ...@@ -7112,8 +7112,9 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
mark_versions_used (fn); mark_versions_used (fn);
} }
if (!already_used) if (!already_used
mark_used (fn); && !mark_used (fn))
return error_mark_node;
if (DECL_VINDEX (fn) && (flags & LOOKUP_NONVIRTUAL) == 0 if (DECL_VINDEX (fn) && (flags & LOOKUP_NONVIRTUAL) == 0
/* Don't mess with virtual lookup in fold_non_dependent_expr; virtual /* Don't mess with virtual lookup in fold_non_dependent_expr; virtual
......
2013-10-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58581
* g++.dg/cpp0x/deleted1.C: New.
2013-10-31 Zhenqiang Chen <zhenqiang.chen@linaro.org> 2013-10-31 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.target/arm/lp1243022.c: New test. * gcc.target/arm/lp1243022.c: New test.
......
// PR c++/58581
// { dg-do compile { target c++11 } }
template<typename T> int foo(T) noexcept(T()) = delete;
int i = foo(0); // { dg-error "deleted" }
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