diff options
author | Martin v. Löwis <loewis@informatik.hu-berlin.de> | 1998-06-03 21:35:57 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1998-06-03 21:35:57 -0400 |
commit | 1813dd7bdda13acd52ff7856b6a3e200b28836d8 (patch) | |
tree | 6834c73215f73924f43925d5d7af0dcdabee3d0c | |
parent | 285baa062b5e9e5757e1dee8856af6b210918789 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 10 |
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); } |