Commit 0b50d7f1 by Mark Mitchell Committed by Mark Mitchell

decl.c (maybe_commonize_var): Make the code match the comments.

	* decl.c (maybe_commonize_var): Make the code match the comments.
	* pt.c (instantiate_decl): Move call to import_export_decl.

From-SVN: r66135
parent 32a61907
2003-04-27 Mark Mitchell <mark@codesourcery.com>
* decl.c (maybe_commonize_var): Make the code match the comments.
* pt.c (instantiate_decl): Move call to import_export_decl.
2003-04-26 Mark Mitchell <mark@codesourcery.com> 2003-04-26 Mark Mitchell <mark@codesourcery.com>
* decl2.c (finish_file): Fix merge botch. * decl2.c (finish_file): Fix merge botch.
......
...@@ -7337,11 +7337,14 @@ maybe_commonize_var (tree decl) ...@@ -7337,11 +7337,14 @@ maybe_commonize_var (tree decl)
if (TREE_STATIC (decl) if (TREE_STATIC (decl)
/* Don't mess with __FUNCTION__. */ /* Don't mess with __FUNCTION__. */
&& ! DECL_ARTIFICIAL (decl) && ! DECL_ARTIFICIAL (decl)
&& current_function_decl && DECL_FUNCTION_SCOPE_P (decl)
&& DECL_CONTEXT (decl) == current_function_decl /* Unfortunately, import_export_decl has not always been called
&& (DECL_DECLARED_INLINE_P (current_function_decl) before the function is processed, so we cannot simply check
|| DECL_TEMPLATE_INSTANTIATION (current_function_decl)) DECL_COMDAT. */
&& TREE_PUBLIC (current_function_decl)) && (DECL_COMDAT (decl)
|| ((DECL_DECLARED_INLINE_P (DECL_CONTEXT (decl))
|| DECL_TEMPLATE_INSTANTIATION (DECL_CONTEXT (decl)))
&& TREE_PUBLIC (DECL_CONTEXT (decl)))))
{ {
/* If flag_weak, we don't need to mess with this, as we can just /* If flag_weak, we don't need to mess with this, as we can just
make the function weak, and let it refer to its unique local make the function weak, and let it refer to its unique local
......
...@@ -10998,6 +10998,7 @@ instantiate_decl (d, defer_ok) ...@@ -10998,6 +10998,7 @@ instantiate_decl (d, defer_ok)
NULL); NULL);
/* Set up context. */ /* Set up context. */
import_export_decl (d);
start_function (NULL_TREE, d, NULL_TREE, SF_PRE_PARSED); start_function (NULL_TREE, d, NULL_TREE, SF_PRE_PARSED);
/* Create substitution entries for the parameters. */ /* Create substitution entries for the parameters. */
...@@ -11028,7 +11029,6 @@ instantiate_decl (d, defer_ok) ...@@ -11028,7 +11029,6 @@ instantiate_decl (d, defer_ok)
/* Finish the function. */ /* Finish the function. */
d = finish_function (0); d = finish_function (0);
import_export_decl (d);
expand_body (d); expand_body (d);
} }
......
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