Commit 051e4e1c by Paolo Carlini Committed by Paolo Carlini

re PR c++/79488 (ICE from lambda that has invalid return type)

2017-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79488
	* g++.dg/cpp0x/lambda/lambda-ice22.C: New.

From-SVN: r253270
parent 281e6c1d
2017-09-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79488
* g++.dg/cpp0x/lambda/lambda-ice22.C: New.
2017-09-28 Jakub Jelinek <jakub@redhat.com>
PR target/82342
......
// PR c++/79488
// { dg-do compile { target c++11 } }
int f();
static int g __attribute__((__weakref__("f")));
template <typename Fn> struct res {
static Fn val();
using type = decltype(val()()); // { dg-error "no match for call" }
};
template <typename Fn> struct A {
template <typename T> void set_result(T) {}
virtual void run() {
auto boundfn = []() -> typename res<Fn>::type{};
set_result(boundfn);
}
};
struct F {
void operator()() &;
};
A<F> t;
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