aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-08-11 20:40:11 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-08-11 20:40:11 +0000
commitc6a9738c04ca9e33fa1f6d22f566dbe3a996cf7d (patch)
tree94cd3fcc26732d99be8a6f9433efca5352434b8c
parentfd65a4c17f5b884bcf52f66d2b8bf515284b2c02 (diff)
downloadgcc-c6a9738c04ca9e33fa1f6d22f566dbe3a996cf7d.zip
gcc-c6a9738c04ca9e33fa1f6d22f566dbe3a996cf7d.tar.gz
gcc-c6a9738c04ca9e33fa1f6d22f566dbe3a996cf7d.tar.bz2
dump.c (queue): Be careful when computing bitmasks.
* dump.c (queue): Be careful when computing bitmasks. (dequeue_and_dump): Describe binfos as binfos, not as vectors. From-SVN: r28679
-rw-r--r--gcc/cp/ChangeLog129
-rw-r--r--gcc/cp/dump.c11
2 files changed, 137 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index bc2d0d4..1b07f59 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,132 @@
+1999-08-11 Mark Mitchell <mark@codesourcery.com>
+
+ * dump.c (queue): Be careful when computing bitmasks.
+ (dequeue_and_dump): Describe binfos as binfos, not as
+ vectors.
+
+ * parse.y (pedantic): Give it itype. Adjust usage accordingly
+ throughout.
+ * parse.c: Regenerated.
+
+ * Make-lang.in (CXX_SRCS): Remove sig.c.
+ * Makefile.in (CXX_OBJS): Remove sig.o.
+ (sig.o): Remove.
+ * cp-tree.h (CPTI_OPAQUE_TYPE): Remove.
+ (CPTI_SIGNATURE_TYPE): Likewise.
+ (CPTI_SIGTABLE_ENTRY_TYPE): Likewise.
+ (opaque_type_node): Likewise.
+ (signature_type_node): Likewise.
+ (sigtable_entry_type): Likewise.
+ (flag_handle_signatures): Likewise.
+ (lang_type): Remove is_signature, is_signature_pointer,
+ is_signature_reference, has_opaque_typedecls,
+ sigtables_has_been_generated. Adjust dummy. Remove signature,
+ signature_pointer_to, signature_reference_to.
+ (IS_SIGNATURE): Remove.
+ (SET_SIGNATURE): Remove.
+ (CLEAR_SIGNATURE): Remove.
+ (IS_SIGNATURE_POINTER): Remove.
+ (IS_SIGNATURE_REFERENCE): Remove.
+ (SIGNATURE_HAS_OPAQUE_TYPEDECLS): Remove.
+ (SIGTABLE_HAS_BEEN_GENERATED): Remove.
+ (CLASSTYPE_SIGNATURE): Remove.
+ (SIGNATURE_TYPE): Remove.
+ (SIGNATURE_METHOD_VEC): Remove.
+ (SIGNATURE_POINTER_TO): Remove.
+ (SIGNATURE_REFERENCE_TO): Remove.
+ (lang_decl_flags): Remove is_default_implementation. Rename
+ memfunc_pointer_to to saved_tree.
+ (IS_DEFAULT_IMPLEMENTATION): Remove.
+ (DECL_MEMFUNC_POINTER_TO): Remove.
+ (DECL_MEMFUNC_POINTING_TO): Remove.
+ (DECL_SAVED_TREE): Adjust definition.
+ (tag_types): Remove signature_type_node.
+ (SIGNATURE_FIELD_NAME): Remove.
+ (SIGNATURE_FIELD_NAME_FORMAT): Likewise.
+ (SIGNATURE_OPTR_NAME): Likewise.
+ (SIGNATURE_SPTR_NAME): Likewise.
+ (SIGNATURE_POINTER_NAME): Likewise.
+ (SIGNATURE_POINTER_NAME_FORMAT): Likewise.
+ (SIGNATURE_REFERENCE_NAME): Likewise.
+ (SIGNATURE_REFERNECE_NAME_FORMAT): Likewise.
+ (SIGTABLE_PTR_TYPE): Likewise.
+ (SIGTABLE_NAME_FORMAT): Likewise.
+ (SIGTABLE_NAME_FORMAT_LONG): Likewise.
+ (SIGTABLE_TAG_NAME): Likewise.
+ (SIGTABLE_VB_OFF_NAME): Likewise.
+ (SIGTABLE_VT_OFF_NAME): Likewise.
+ (finish_base_specifiers): Change prototype.
+ (build_signature_pointer_type): Remove.
+ (build_signature_reference_type): Remove.
+ (build_signature_pointer_constructor): Remove.
+ (build_signature_method_call): Remove.
+ (build_optr_ref): Likewise.
+ (append_signature_fields): Likewise.
+ (signature_error): Likewise.
+ * call.c (build_this): Remove signature support.
+ (build_over_call): Likewise.
+ (build_new_method_call): Likewise.
+ * class.c (add_implicitly_declared_members): Likewise.
+ (finish_struct_1): Likewise.
+ (finish_struct): Likewise.
+ * cvt.c (cp_convert_to_pointer): Likewise.
+ (convert_to_pointer_force): Likewise.
+ (ocp_convert): Likewise.
+ * decl.c (sigtable_decl_p): Remove.
+ (init_decl_processing): Remove support for signatures.
+ (cp_finish_decl): Likewise.
+ (grokdeclarator): Likewise.
+ (grokparms): Likewise.
+ (xref_tag): Likewise.
+ (start_function): Likewise.
+ (start_method): Likewise.
+ * decl2.c (finish_sigtable_vardecl): Remove.
+ (flag_handle_signatures): Remove.
+ (lang_f_options): Remove handle-signatures.
+ (grokfield): Remove support for signatures.
+ (grokbitfield): Likewise.
+ (finish_file): Likewise.
+ (reparse_absdcl_as_casts): Likewise.
+ * error.c (dump_type_real): Likewise.
+ (dump_function_decl): Likewise.
+ * friend.c (make_friend_class): Likewise.
+ * gxx.gperf: Remove __signature__, signature, __sigof__, sigof.
+ * hash.h: Regenerated.
+ * init.c (build_new_1): Remove support for signatures.
+ * lang-options.h: Remove -fhandle-signatures,
+ -fno-handle-signatures.
+ * lex.c (init_parse): Remove support for signatures.
+ (yyprint): Likewise.
+ * lex.h (rid): Remove RID_SIGNATURE.
+ * method.c (build_decl_overload_real): Remove support for
+ signatures.
+ (hack_identifier): Likewise.
+ * parse.y (base_class): Likewise.
+ (base_class.1): Likewise.
+ (access_specifier): Likewise.
+ * search.c (lookup_member): Likewise.
+ * semantics.c (finish_qualified_object_call_expr): Likewise.
+ (finish_template_type_parm): Likewise.
+ (begin_class_definition): Likewise.
+ (finish_base_specifier): Likewise.
+ * sig.c: Remove.
+ * tree.c (build_cplus_method_type): Remove support for signatures.
+ * typeck.c (require_complete_type): Likewise.
+ (c_sizeof): Likewise.
+ (c_alignof): Likewise.
+ (build_object_ref): Likewise.
+ (build_component_ref): Likewise.
+ (build_indirect_ref): Likewise.
+ (build_c_cast): Likewise.
+ (build_modify_expr): Likewise.
+ (convert_for_initialization): Likewise.
+ * typeck2.c (signature_error): Remove.
+ (store_init_value): Remove support for signatures.
+ (digest_init): Likewise.
+ (build_x_arrow): Likewise.
+ (build_functional_cast): Likewise.
+ * xref.c (GNU_xref_decl): Likewise.
+
1999-08-10 Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>
* lex.c (do_identifier): Remove unnecessary lookup of class field.
diff --git a/gcc/cp/dump.c b/gcc/cp/dump.c
index 9519e99..0ae83ef 100644
--- a/gcc/cp/dump.c
+++ b/gcc/cp/dump.c
@@ -120,8 +120,8 @@ queue (di, t, flags)
/* Create a new entry in the splay-tree. */
dni = (dump_node_info_p) xmalloc (sizeof (struct dump_node_info));
dni->index = index;
- dni->dump_children_p = flags & DUMP_CHILDREN;
- dni->binfo_p = flags & DUMP_BINFO;
+ dni->dump_children_p = ((flags & DUMP_CHILDREN) != 0);
+ dni->binfo_p = ((flags & DUMP_BINFO) != 0);
dq->node = splay_tree_insert (di->nodes, (splay_tree_key) t,
(splay_tree_value) dni);
@@ -291,6 +291,7 @@ dequeue_and_dump (di)
int dump_children_p;
enum tree_code code;
char code_class;
+ const char* code_name;
/* Get the next node from the queue. */
dq = di->queue;
@@ -310,7 +311,11 @@ dequeue_and_dump (di)
/* Print the node index. */
dump_index (di, index);
/* And the type of node this is. */
- fprintf (di->stream, "%-16s ", tree_code_name[(int) TREE_CODE (t)]);
+ if (dni->binfo_p)
+ code_name = "binfo";
+ else
+ code_name = tree_code_name[(int) TREE_CODE (t)];
+ fprintf (di->stream, "%-16s ", code_name);
di->column = 25;
/* Figure out what kind of node this is. */