aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@deneb.cygnus.com>1994-07-17 04:12:39 +0000
committerJason Merrill <merrill@gnu.org>1994-07-17 04:12:39 +0000
commita5ef9010de813f2c72fe68873f9f214858118ab1 (patch)
treeedd1de50a54b0c1e960633681158c89d64a53e4e /gcc
parentd996122c30e9572f56f71ba19adfedb928596b0d (diff)
downloadgcc-a5ef9010de813f2c72fe68873f9f214858118ab1.zip
gcc-a5ef9010de813f2c72fe68873f9f214858118ab1.tar.gz
gcc-a5ef9010de813f2c72fe68873f9f214858118ab1.tar.bz2
*** empty log message ***
From-SVN: r7774
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/method.c12
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index aa6a19d..8a5d7fd 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
Wed Jul 13 03:57:54 1994 Jason Merrill (jason@deneb.cygnus.com)
+ * method.c (hack_identifier): Put back old code so lists of
+ non-functions will be handled properly.
+
* cp-tree.h (TYPE_NEEDS_CONSTRUCTING): #if 0 out; this macro is now
defined in the language-independent tree.h.
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index e5d72b5..f64a16a 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1458,7 +1458,7 @@ hack_identifier (value, name, yychar)
return build_component_ref (C_C_D, name, 0, 1);
}
- if (TREE_CODE (value) == TREE_LIST)
+ if (really_overloaded_fn (value))
{
tree t = get_first_fn (value);
while (t)
@@ -1468,6 +1468,16 @@ hack_identifier (value, name, yychar)
t = DECL_CHAIN (t);
}
}
+ else if (TREE_CODE (value) == TREE_LIST)
+ {
+ tree t = value;
+ while (t && TREE_CODE (t) == TREE_LIST)
+ {
+ assemble_external (TREE_VALUE (t));
+ TREE_USED (t) = 1;
+ t = TREE_CHAIN (t);
+ }
+ }
else
{
assemble_external (value);