PR c++/55710
* semantics.c (maybe_add_lambda_conv_op): Mark static thunk
TREE_USED.
From-SVN: r196025
2013-02-13 Jason Merrill <jason@redhat.com>
+ PR c++/55710
+ * semantics.c (maybe_add_lambda_conv_op): Mark static thunk
+ TREE_USED.
+
PR c++/55879
* semantics.c (cxx_bind_parameters_in_call): Undo DECL_BY_REFERENCE.
body = begin_function_body ();
compound_stmt = begin_compound_stmt (0);
+ /* decl_needed_p needs to see that it's used. */
+ TREE_USED (statfn) = 1;
finish_return_stmt (decay_conversion (statfn, tf_warning_or_error));
finish_compound_stmt (compound_stmt);
--- /dev/null
+// PR c++/55710
+// { dg-do link { target c++11 } }
+
+template <class T>
+struct X {
+ static void (*code) ();
+};
+
+template <class T>
+void (*X<T>::code) () = []{}; // Line 7
+
+struct Y {
+ void (*code) () = []{} ; // Line 10
+ void operator()() { code(); }
+};
+
+int main () {
+ X<int>::code();
+ Y()();
+}