------- Comment #9 from hjl dot tools at gmail dot com 2010-04-29 19:16 -------
This patch
---
diff --git a/gcc/tree.c b/gcc/tree.c
index 8eeecff..0d79020 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -7937,7 +7937,8 @@ auto_var_in_fn_p (const_tree var, const_tree fn)
{
return (DECL_P (var) && DECL_CONTEXT (var) == fn
&& (((TREE_CODE (var) == VAR_DECL || TREE_CODE (var) == PARM_DECL)
- && ! TREE_STATIC (var))
+ && ! TREE_STATIC (var)
+ && ! TREE_PUBLIC (var))
|| TREE_CODE (var) == LABEL_DECL
|| TREE_CODE (var) == RESULT_DECL));
}
---
works for me.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43942