diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-16 18:23:00 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-16 18:23:00 +0000 |
commit | 805e22b2051e9c6a75377ea6599654d7415da483 (patch) | |
tree | c259697c448b0c6f548f153c48c46a8d7a75970f /gcc/cp/decl.c | |
parent | 2c27ce73ee2229b0871c4ccad2342d8a4be85eff (diff) | |
download | gcc-805e22b2051e9c6a75377ea6599654d7415da483.tar.gz |
Merge basic-improvements-branch to trunk
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60174 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r-- | gcc/cp/decl.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index e68c06447e1..e3f5b5a9f29 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -30,6 +30,8 @@ Boston, MA 02111-1307, USA. */ #include "config.h" #include "system.h" +#include "coretypes.h" +#include "tm.h" #include "tree.h" #include "rtl.h" #include "expr.h" @@ -9535,7 +9537,7 @@ tree build_ptrmemfunc_type (type) tree type; { - tree fields[4]; + tree field, fields; tree t; tree unqualified_variant = NULL_TREE; @@ -9561,10 +9563,14 @@ build_ptrmemfunc_type (type) /* ... and not really an aggregate. */ SET_IS_AGGR_TYPE (t, 0); - fields[0] = build_decl (FIELD_DECL, pfn_identifier, type); - fields[1] = build_decl (FIELD_DECL, delta_identifier, - delta_type_node); - finish_builtin_type (t, "__ptrmemfunc_type", fields, 1, ptr_type_node); + field = build_decl (FIELD_DECL, pfn_identifier, type); + fields = field; + + field = build_decl (FIELD_DECL, delta_identifier, delta_type_node); + TREE_CHAIN (field) = fields; + fields = field; + + finish_builtin_struct (t, "__ptrmemfunc_type", fields, ptr_type_node); /* Zap out the name so that the back-end will give us the debugging information for this anonymous RECORD_TYPE. */ |