Commit 22eadedb by Mark Mitchell Committed by Mark Mitchell

decl.c (pushdecl_class_level): Honor requests to bind names to OVERLOADs.

	* decl.c (pushdecl_class_level): Honor requests to bind names to
	OVERLOADs.

From-SVN: r56258
parent b2659518
2002-08-13 Mark Mitchell <mark@codesourcery.com>
* decl.c (pushdecl_class_level): Honor requests to bind names to
OVERLOADs.
2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* decl2.c (build_call_from_tree): Fix uninitialized variable.
......
......@@ -4259,13 +4259,13 @@ void
pushdecl_class_level (x)
tree x;
{
/* Don't use DECL_ASSEMBLER_NAME here! Everything that looks in class
scope looks for the pre-mangled name. */
register tree name;
tree name;
/* Get the name of X. */
if (TREE_CODE (x) == OVERLOAD)
x = OVL_CURRENT (x);
name = DECL_NAME (x);
name = DECL_NAME (get_first_fn (x));
else
name = DECL_NAME (x);
if (name)
{
......@@ -4275,11 +4275,12 @@ pushdecl_class_level (x)
}
else if (ANON_AGGR_TYPE_P (TREE_TYPE (x)))
{
/* If X is an anonymous aggregate, all of its members are
treated as if they were members of the class containing the
aggregate, for naming purposes. */
tree f;
for (f = TYPE_FIELDS (TREE_TYPE (x));
f;
f = TREE_CHAIN (f))
for (f = TYPE_FIELDS (TREE_TYPE (x)); f; f = TREE_CHAIN (f))
pushdecl_class_level (f);
}
}
......
2002-08-13 Mark Mitchell <mark@codesourcery.com>
* g++.dg/template/inherit3: New test.
2002-08-10 Nathan Sidwell <nathan@codesourcery.com>
* gcc.dg/bitfld-4.c: Add blank options.
......
template <typename T>
struct set {
void insert (const T&);
template <class X>
void insert (X, X);
};
struct C : public set<int> {
void f (const int i) {
insert (i);
}
};
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