@@ -21853,7 +21853,10 @@ instantiate_decl (tree d, int defer_ok,
else
{
deleted_p = false;
- pattern_defined = ! DECL_IN_AGGR_P (code_pattern);
+ if (DECL_CLASS_SCOPE_P (code_pattern))
+ pattern_defined = ! DECL_IN_AGGR_P (code_pattern);
+ else
+ pattern_defined = ! DECL_EXTERNAL (code_pattern);
}
/* We may be in the middle of deferred access check. Disable it now. */
new file mode 100644
@@ -0,0 +1,10 @@
+// PR c++/71630
+// { dg-do compile { target c++14 } }
+
+template <class T>
+extern T pi;
+
+int main()
+{
+ return pi<int>;
+}