For PR61445 I removed this assert, but PR108242 demonstrated why it's still
useful; to avoid regressing the former testcase I check pattern_defined
in the assert.
This reverts r212524.
PR c++/61445
gcc/cp/ChangeLog:
* pt.cc (instantiate_decl): Assert !defer_ok for local
class members.
pattern_defined = ! DECL_EXTERNAL (code_pattern);
}
+ /* Any local class members should be instantiated from the TAG_DEFN
+ with defer_ok == 0. */
+ gcc_checking_assert (!defer_ok || !pattern_defined
+ || !decl_function_context (d)
+ || LAMBDA_TYPE_P (DECL_CONTEXT (d)));
+
/* We may be in the middle of deferred access check. Disable it now. */
push_deferring_access_checks (dk_no_deferred);