re PR c++/12795 (ICE with attribute __alias__)

PR c++/12795
	* name-lookup.c (pushdecl): Do not treated any functions as being
	"nested" in C++.

	PR c++/12795
	* g++.dg/ext/attrib10.C: New test.

From-SVN: r74849
This commit is contained in:
Mark Mitchell 2003-12-19 21:10:03 +00:00 committed by Mark Mitchell
parent 2dbd0234aa
commit 4656bc859d
4 changed files with 19 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2003-12-19 Mark Mitchell <mark@codesourcery.com>
PR c++/12795
* name-lookup.c (pushdecl): Do not treated any functions as being
"nested" in C++.
2003-12-19 Jason Merrill <jason@redhat.com>
PR c++/13371

View File

@ -562,7 +562,7 @@ pushdecl (tree x)
if (current_function_decl && x != current_function_decl
/* A local declaration for a function doesn't constitute
nesting. */
&& !(TREE_CODE (x) == FUNCTION_DECL && !DECL_INITIAL (x))
&& TREE_CODE (x) != FUNCTION_DECL
/* A local declaration for an `extern' variable is in the
scope of the current namespace, not the current
function. */

View File

@ -1,3 +1,8 @@
2003-12-19 Mark Mitchell <mark@codesourcery.com>
PR c++/12795
* g++.dg/ext/attrib10.C: New test.
2003-12-19 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/cleanup-10.c: New test.

View File

@ -0,0 +1,7 @@
// PR c++/12795
void foo()
{
extern void bar () __attribute__ ((__alias__ ("BAR")));
bar ();
}