From: Richard Henderson Date: Thu, 26 Feb 2004 01:24:37 +0000 (-0800) Subject: c-common.c (handle_alias_attribute): Reject the attribute if current_function_decl... X-Git-Tag: releases/gcc-4.0.0~9846 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6a76b9f5d22765d951ea7d92e7e24b6b54c7843;p=thirdparty%2Fgcc.git c-common.c (handle_alias_attribute): Reject the attribute if current_function_decl is set. * c-common.c (handle_alias_attribute): Reject the attribute if current_function_decl is set. From-SVN: r78472 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 284ef088d478..80a9c564d0c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-02-25 Richard Henderson + + * c-common.c (handle_alias_attribute): Reject the attribute if + current_function_decl is set. + 2004-02-25 Kelley Cook * config.gcc: Add comment describing extra_gcc_objs. diff --git a/gcc/c-common.c b/gcc/c-common.c index 3d9dbfa3297b..4c0ce271077c 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -4827,7 +4827,13 @@ handle_alias_attribute (tree *node, tree name, tree args, error ("%J'%D' defined both normally and as an alias", decl, decl); *no_add_attrs = true; } - else if (decl_function_context (decl) == 0) + + /* Note that the very first time we process a nested declaration, + decl_function_context will not be set. Indeed, *would* never + be set except for the DECL_INITIAL/DECL_EXTERNAL frobbery that + we do below. After such frobbery, pushdecl would set the context. + In any case, this is never what we want. */ + else if (decl_function_context (decl) == 0 && current_function_decl == NULL) { tree id;