------- 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