aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin v. Löwis <loewis@informatik.hu-berlin.de>1998-06-03 21:35:57 -0400
committerJason Merrill <jason@gcc.gnu.org>1998-06-03 21:35:57 -0400
commit1813dd7bdda13acd52ff7856b6a3e200b28836d8 (patch)
tree6834c73215f73924f43925d5d7af0dcdabee3d0c
parent285baa062b5e9e5757e1dee8856af6b210918789 (diff)
downloadgcc-1813dd7bdda13acd52ff7856b6a3e200b28836d8.zip
gcc-1813dd7bdda13acd52ff7856b6a3e200b28836d8.tar.gz
gcc-1813dd7bdda13acd52ff7856b6a3e200b28836d8.tar.bz2
* decl2.c (arg_assoc_type): Process unknown_type_node and OFFSET_TYPE.
From-SVN: r20219
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/decl2.c10
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d14af59..edb5ac7 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -4,14 +4,12 @@
1998-06-04 Martin von Löwis <loewis@informatik.hu-berlin.de>
+ * decl2.c (arg_assoc_type): Process unknown_type_node and OFFSET_TYPE.
+
* tree.c (mapcar): Support NEW_EXPR.
* error.c (dump_expr): Support NEW_EXPR.
-1998-06-04 Jason Merrill <jason@yorick.cygnus.com>
-
- * decl2.c (arg_assoc_type): Return 0 for LANG_TYPE.
-
1998-06-03 Jason Merrill <jason@yorick.cygnus.com>
* method.c (make_thunk): Use overload machinery to make name.
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index dc800da..bc49bc3 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -4208,7 +4208,6 @@ arg_assoc_type (k, type)
case COMPLEX_TYPE:
case CHAR_TYPE:
case BOOLEAN_TYPE:
- case LANG_TYPE:
return 0;
case RECORD_TYPE:
if (TYPE_PTRMEMFUNC_P (type))
@@ -4221,6 +4220,11 @@ arg_assoc_type (k, type)
case UNION_TYPE:
case ENUMERAL_TYPE:
return arg_assoc_namespace (k, decl_namespace (TYPE_MAIN_DECL (type)));
+ case OFFSET_TYPE:
+ /* Pointer to member: associate class type and value type. */
+ if (arg_assoc_type (k, TYPE_OFFSET_BASETYPE (type)))
+ return 1;
+ return arg_assoc_type (k, TREE_TYPE (type));
case METHOD_TYPE:
/* Associate the class of the method. */
if (arg_assoc_type (k, TYPE_METHOD_BASETYPE (type)))
@@ -4232,6 +4236,10 @@ arg_assoc_type (k, type)
return 1;
/* Associate the return type. */
return arg_assoc_type (k, TREE_TYPE (type));
+ case LANG_TYPE:
+ if (type == unknown_type_node)
+ return 0;
+ /* else fall through */
default:
my_friendly_abort (390);
}