From 930cd7963b4a8e30901950a1103c7a84257ee8db Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Sat, 28 Oct 2000 21:37:21 +0000 Subject: pt.c (instantiate_decl): Always instantiate static data members initialized in-class. * pt.c (instantiate_decl): Always instantiate static data members initialized in-class. From-SVN: r37107 --- gcc/cp/pt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'gcc/cp/pt.c') diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index f7e27ce..8ca2468 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -9614,12 +9614,6 @@ instantiate_decl (d, defer_ok) import_export_decl (d); } - /* Reject all external templates except inline functions. */ - if (DECL_INTERFACE_KNOWN (d) - && ! DECL_NOT_REALLY_EXTERN (d) - && ! (TREE_CODE (d) == FUNCTION_DECL && DECL_INLINE (d))) - goto out; - /* We need to set up DECL_INITIAL regardless of pattern_defined if the variable is a static const initialized in the class body. */ if (TREE_CODE (d) == VAR_DECL @@ -9627,6 +9621,11 @@ instantiate_decl (d, defer_ok) && DECL_INITIAL (d) == NULL_TREE && DECL_INITIAL (code_pattern) != NULL_TREE) ; + /* Reject all external templates except inline functions. */ + else if (DECL_INTERFACE_KNOWN (d) + && ! DECL_NOT_REALLY_EXTERN (d) + && ! (TREE_CODE (d) == FUNCTION_DECL && DECL_INLINE (d))) + goto out; /* Defer all other templates, unless we have been explicitly forbidden from doing so. We restore the source position here because it's used by add_pending_template. */ -- cgit v1.1