Commit Graph

27336 Commits

Author SHA1 Message Date
Mark Mitchell
298d6f6099 cp-tree.h (IDENTIFIER_CTOR_OR_DTOR_P): New macro.
* cp-tree.h (IDENTIFIER_CTOR_OR_DTOR_P): New macro.
	(cp_tree_index): Add CPTI_PUSH_EXCEPTION_IDENTIFIER.
	(cp_push_exception_identifier): New macro.
	(DECL_COMPLETE_DESTRUCTOR_P): New macro.
	(DECL_BASE_DESTRUCTOR_P): Likewise.
	(DECL_DELETING_DESTRUCTOR_P): Likewise.
	(get_vtbl_decl_for_binfo): Fix formatting.
	(in_charge_arg_for_name): New macro.
	(maybe_build_cleanup_and_delete): Remove declaration.
	* call.c (build_field_call): Use IDENTIFIER_CTOR_OR_DTOR_P.
	(in_charge_arg_for_name): New function.
	(build_new_method_call): Use it.  Handle cloned destructors.
	(build_clone): Don't make the base constructor virtual.
	Automatically defer generated functions.
	(clone_function_decl): Handle destructors, too.
	(clone_constructors_and_destructors): Likewise.
	(create_vtable_ptr): Don't create a vtable entry for a cloned
	function.
	* decl.c (predefined_identifier): Add ctor_or_dtor_p.
	(initialize_predefined_identifiers): Update appropriately.
	(finish_destructor_body): Simplify.
	(maybe_build_cleanup_and_delete): Remove.
	* except.c (expand_throw): Handle new-ABI destructors.
	* init.c (expand_cleanup_for_base): Use base_dtor_identifier.
	(build_dtor_call): New function.
	(build_delete): Use it.  Simplify.
	* optimize.c (maybe_clone_body): Handle destructors.
	* search.c (lookup_field_queue_p): Use IDENTIFIER_CTOR_OR_DTOR_P.

From-SVN: r33096
2000-04-12 07:48:13 +00:00
Jeff Law
1ba82fb2c4 Daily bump.
From-SVN: r33095
2000-04-12 01:45:07 -06:00
Richard Henderson
7265c4202b * gcc.c-torture/execute/20000412-1.c: Reduce some more.
From-SVN: r33094
2000-04-12 00:42:56 -07:00
Richard Henderson
eb802827f4 * gcc.c-torture/execute/20000412-1.c: New test.
From-SVN: r33093
2000-04-12 00:37:30 -07:00
Jakub Jelinek
bcdb110625 objc-act.c: Include ggc.h.
* objc/objc-act.c: Include ggc.h.
	(objc_tree_index, objc_global_trees): Convert most of the
	static tree variables into a static array with previous names
	as defines.
	(objc_ellipsis_node): New variable.
	(lang_init): Call objc_act_parse_init and c_parse_init.
	Create objc_ellipsis_node.
	(build_selector_translation_table): Use objc_ellipsis_node instead
	of (tree)1.
	(hack_method_prototype): Likewise.
	(get_arg_type_list): Likewise.
	(start_method_def): Likewise.
	(continue_method_def): Likewise.
	(gen_method_decl): Likewise.
	(ggc_mark_imp_list): New function.
	(ggc_mark_hash_table): New function.
	(objc_act_parse_init): New function.
	* objc/objc-act.h (objc_ellipsis_node): Add extern variable.
	* c-parse.in (c_parse_init): For objc add roots of objc specific
	local tree variables.
	* objc/objc-parse.y: Rebuilt.
	* objc/objc-parse.c: Rebuilt.
	(opt_parm_list): Use objc_ellipsis_node instead of (tree)1.

	* Object.m (strlen): Provide prototype on all 64bit platforms,
	not only alpha.
	* sarray.c (memcpy): Likewise.
	* encoding.c (objc_layout_finish_structure): Don't use
	ROUND_TYPE_ALIGN on sparc.

From-SVN: r33092
2000-04-12 09:22:32 +02:00
John Wehle
e8019e47f6 cse.c (delete_trivially_dead_insns): Also delete insns that copy a register to itself where the destination is a...
* cse.c (delete_trivially_dead_insns): Also delete insns
	that copy a register to itself where the destination is
	a strict_low_part.

From-SVN: r33090
2000-04-12 05:03:32 +00:00
Richard Henderson
8e3f90945d flow.c (struct propagate_block_info): Add new_dead, new_live.
* flow.c (struct propagate_block_info): Add new_dead, new_live.
        (propagate_block): Initialize them.  Use them in parallel instead
        of one tmp variable, ie revert much of the 0408 and 0407 functional
        changes, but keep the structural changes.
        (mark_set_regs): Take new_dead from propagate_block_info instead.
        (mark_set_1, mark_set_reg): Likewise.
        (mark_used_regs): Likewise with new_live.
        (mark_used_reg): Likewise.  Revert 0408 change.

From-SVN: r33089
2000-04-11 18:38:15 -07:00
Alexandre Oliva
3460070159 oops, I had goofed in the installation date
From-SVN: r33088
2000-04-12 01:24:05 +00:00
Nick Clifton
61170c08de Remove Dwarf2 restriction on EH frame generation
From-SVN: r33086
2000-04-12 00:46:26 +00:00
Alexandre Oliva
85b0830b83 elfos.h (SELECT_SECTION): Decide whether to use a data or const section to output a CONSTRUCTOR based on...
* config/elfos.h (SELECT_SECTION): Decide whether to use a data or
const section to output a CONSTRUCTOR based on the same conditions
used for VAR_DECLs.

From-SVN: r33085
2000-04-12 00:29:43 +00:00
Mark Mitchell
db9b217498 cp-tree.h (cp_tree_index): Add CPTI_DTOR_IDENTIFIER.
* cp-tree.h (cp_tree_index): Add CPTI_DTOR_IDENTIFIER.
	(complete_dtor_identifier): New macro.
	(CLASSTYPE_FIRST_CONVERSION): Remove.
	(CLASSTYPE_CONSTRUCTOR_SLOT): New macro.
	(CLASSTYPE_DESTRUCTOR_SLOT): Likewise.
	(CLASSTYPE_FIRST_CONVERSION_SLOT): Likewise.
	(CLASSTYPE_CONSTRUCTORS): Likewise.
	(CLASSTYPE_DESTRUCTORS): Likewise.
	(lang_decl): Add cloned_function.
	(DECL_COMPLETE_CONSTRUCTOR_P): New macro.
	(DECL_BASE_CONSTRUCTOR_P): Likewise.
	(DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P): Likewise.
	(DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P): Likewise.
	(DECL_CLONED_FUNCTION_P): Likewise.
	(DECL_CLONED_FUNCTION): Likewise.
	(clone_function_decl): Declare.
	(maybe_clone_body): Likewise.
	* call.c (build_user_type_conversion_1): Call complete object
	constructors in the new ABI.
	(build_new_method_call): Don't add in-charge parameters under the
	new ABI.
	* class.c (add_method): Use DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P,
	DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P, CLASSTYPE_CONSTRUCTOR_SLOT, and
	CLASSTYPE_DESTRUCTOR_SLOT.
	(build_clone): New function.
	(clone_function_decl): Likewise.
	(clone_constructors_and_destructors): Likewise.
	(check_bases_and_members): Use it.
	* decl.c (iniitialize_predefined_identifiers): Initialize
	complete_dtor_identifier.
	(finish_function): Don't add extra code to a clone.
	(lang_mark_tree): Mark cloned_function.
	* decl2.c (mark_used): Don't bother trying to instantiate things
	we synthesized.
	* dump.c (dequeue_and_dump): Don't dump CP_DECL_CONTEXT twice.
	* method.c (set_mangled_name_for_decl): Don't treat clones as
	constructors.
	(synthesize_method): Sythesize cloned functions, not the clones.
	* optimize.c (inline_data): Update comment on ret_label.
	(remap_block): Don't assume DECL_INITIAL exists.
	(copy_body_r): Allow ret_label to be NULL.
	(maybe_clone_body): Define.
	* pt.c (tsubst_decl): Handle clones.
	(instantiate_clone): New function.
	(instantiate_template): Use it.
	(set_mangled_name_for_template_decl): Don't treat clones as
	constructors.
	* search.c (lookup_fnfields_1): Use CLASSTYPE_CONSTRUCTOR_SLOT,
	CLASSTYPE_DESTRUCTOR_SLOT, and CLASSTYPE_FIRST_CONVERSION_SLOT.
	* semantics.c (expand_body): Clone function bodies as necessary.

From-SVN: r33084
2000-04-11 20:16:36 +00:00
Tom Tromey
c23c855f38 Vector.java (VectorEnumeration): Now `final'.
* java/util/Vector.java (VectorEnumeration): Now `final'.
	* java/util/Hashtable.java (HashtableEntry): Now `final'.
	(HashtableEnumeration): Likewise.
	* java/util/zip/ZipFile.java (ZipEnumeration): Now `final'.
	* java/text/RuleBasedCollator.java (RBCElement): Now `final'.

From-SVN: r33083
2000-04-11 20:02:48 +00:00
Jeffrey A Law
520babc783 long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64.
* pa/long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64.
	* pa/pa-protos.h (output_call): Add additional argument indicating
	if the call is a sibling/tail call.
	(compute_zdepdi_operands, output_64bit_and): Prototype new functions.
	(compute_64bit_ior, cmpib_comparison_operator): Likewise.
	(function_arg, function_arg_partial_nregs): Likewise
	* pa/pa.c (override_options): Always set flag_pic for TARGET_64BIT.
	(emit_move_sequence): Zero extend certain constants as needed
	for TARGET_64BIT.
	(compute_zdepdi_operands, output_64bit_and): New functions.
	(output_64bit_ior, function_arg): Likewise.
	(cmpib_comparison_operator, function_arg_partial_nregs): Likewise.
	(compute_frame_size, hppa_expand_prologue): Handle TARGET_64BIT.
	(hppa_expand_epilogue, return_addr_rtx, hppa_va_arg): Likewise.
	(hppa_builtin_saveregs, output_cbranch, output_bb): Likewise.
	(output_bvb): Likewise.
	(output_millicode_call): Return pointer is in %r2 for TARGET_64BIT.
	(output_call): New argument 'sibcall'.  Generate sibcall sequences
	as needed.
	(print_operand); Handle cases 'Q', 'p', and 'z' for TARGET_64BIT.  For
	(ouput_arg_descriptor): Do not emit argument descriptors for
	TARGET_64BIT.
	* pa/pa.h (TARGET_PA_11, TARGET_PA_20): Only define if not already
	defined.
	(TARGET_64BIT, PROMOTE_FUNCTION_RETURN): Define.
	(FUNCTION_OK_FOR_SIBALL): Define.
	(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC): Define.
	(CPP_CPU_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, EXTRA_SPECS): Likewise.
	(CPP_SPEC): Use new spec infrastructure.
	(BITS_PER_WORD, UNITS_PER_WORD): Handle TARGET_64BIT.
	(STACK_BOUNDARY, FUNCTION_BOUNDARY, PIC_OFFSET_TABLE_REGNUM): Likewise.
	(RETURN_IN_MEMORY, EXTRA_CONSTRAINT, FIRST_PARM_OFFSET): Likewise.
	(REG_PARM_STACK_SPACE, STACK_POINTER_OFFSET): Likewise.
	(STACK_DYNAMIC_OFFSET, FUNCTION_VALUE): Likewise.
	(FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Likewise.
	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
	(INITIALIZE_TRAMPOLINE, LEGITIMATE_CONSTANT_P): Likewise.
	(CONST_OK_FOR_LETTER_P, MOVE_RATIO): Likewise.
	(FUNCTION_ARG); Call out to C code.
	(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
	(MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define.
	(MIN_UNITS_PER_WORD): Likewise.
	* pa/pa.md (cmpdi): New expander.
	(scc patterns, movstrsi): Not available for TARGET_64BIT.
	(64bit conditional arithmetic): New patterns.
	(absdi2, smindi3, umindi3, smaxdi3, umaxdi3): New patterns.
	(movsicc): Not available if modes on all the operands to not match.
	(movdicc): New expander and associated patterns.
	(64bit branches): New patterns.
	(pre_load, post_store): Generate appropriate code for TARGET_64BIT.
	(pre_ldd, post_std): New patterns.
	(64bit addil, load low part): New patterns.
	(special movsf constant): Not available for TARGET_64BIT.
	(movsf, movdf expanders): Force constants into memory.
	(32bit movdf/movdi patterns): Disable for TARGET_64BIT.
	(64bit movdf/movdi patterns): New patterns.
	(zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New patterns
	for TARGET_64BIT.
	(extendqidi2, extendhidi2, extendsidi2): Similarly.
	(adddi3 expander): Allow "arith_operand" for second input.
	(32bit adddi3, subdi3, uaddcm): Disable for TARGET_64BIT.
	(64bit adddi3, subsi3, uaddcm): New patterns for TARGET_64BIT.
	(mulsi3 expander): Revamp slightly so it supports TARGET_64BIT too.
	(muldi3): New expander for TARGET_64BIT.
	(divsi3, udivsi3, modsi3, umodsi3): Fourth operand must be (reg:SI 2)
	for TARGET_64BIT.
	(32bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm): Disable
	patterns for TARGET_64BIT.
	(64bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm, shadd): New
	patterns for TARGET_64BIT.
	(64bit bit insertion/extractions): New patterns for TARGET_64BIT.
	(64bit shifts/rotates): New patterns/expanders for TARGET_64BIT.
	(sibcall_epilogue): New expander.
	(casesi): Tweak for TARGET_64BIT.
	(call expanders): Set & use the outgoing argument pointer.  Use the
	64bit call patterns as needed. Add additional arg to output_call.
	(call_internal_reg_64bit, call_value_internal_reg_64bit): New pattern.
	(sibcall, sibcall_internal_symref): New expanders.
	(sibcall_value, sibcall_value_internal_symref
	(interspace_jump): Turn into an expander + matching patterns.
	(canonicalize_funcptr_for_compare): Not needed for TARGET_64BIT.
	* pa/pa64-regs.h: Eliminate trigraph sequences.
	* pa/pa64-start.h (TARGET_PA_20): Fix typo.

From-SVN: r33082
2000-04-11 14:02:46 -06:00
Mark Mitchell
cba6a0b29f optimize.c (remap_decl): Avoid sharing structure for arrays whose size is only known at run-time.
* optimize.c (remap_decl): Avoid sharing structure for arrays
	whose size is only known at run-time.
	* tree.c (copy_tree_r): Don't copy PARM_DECLs.

From-SVN: r33081
2000-04-11 17:29:54 +00:00
Mark Mitchell
454fa7a7db cp-tree.h (lang_decl_flags): Rename constructor_for_vbase_attr to has_in_charge_parm_p.
* cp-tree.h (lang_decl_flags): Rename constructor_for_vbase_attr
	to has_in_charge_parm_p.
	(DECL_CONSTRUCTOR_FOR_VBASE_P): Rename to ...
	(DECL_HAS_IN_CHARGE_PARM_P): ... this.
	(DECL_COPY_CONSTRUCTOR_P): New macro.
	* call.c (add_function_candidate): Use DECL_HAS_IN_CHARGE_PARM_P.
	(build_user_type_conversion_1): Likewise.
	(convert_like_real): Likewise.
	(build_over_call): Likeiwse.  Use DECL_COPY_CONSTRUCTOR_P.
	* decl.c (grokdeclarator): Use DECL_HAS_IN_CHARGE_PARM_P.
	(copy_args_p): Likewise.
	(grok_ctor_properties): Likewise.
	(start_function): Likewise.
	* decl2.c (maybe_retrofit_in_charge): Likewise.  Set it.
	* error.c (dump_function_decl): Use DECL_HAS_IN_CHARGE_PARM_P.
	* init.c (emit_base_init): Use DECL_COPY_CONSTRUCTOR_P.
	* method.c (do_build_copy_constructor): Use
	DECL_HAS_IN_CHARGE_PARM_P.
	(synthesize_method): Likewise.
	* pt.c (instantiate_template): Remove goto.
	* tree.c (build_cplus_method_type): Remove mention of obstacks in
	comment.

From-SVN: r33080
2000-04-11 16:56:14 +00:00
Mark Mitchell
0acf7199cc cp-tre.h (finish_function): Change prototype.
* cp-tre.h (finish_function): Change prototype.
	* decl.c (end_cleanup_fn): Adjust caller.
	(finish_function): Take only one parameter.
	* decl2.c (finish_objects): Adjust caller.
	(finish_static_storage_duration_function): Likewise.
	* method.c (emit_thunk): Likewise.
	* parse.y: Likewise.
	* parse.c: Regenerated.
	* pt.c (instantiate_decl): Likewise.
	* rtti.c (synthesize_tinfo_fn): Likewise.
	* semantics.c (expand_body): Likewise.

	* cp-tree.h (copy_decl): New function.
	* class.c (finish_struct_1): Use it.
	* lex.c (copy_decl): Define it.
	* pt.c (tsubst_decl): Likewise.
	* tree.c (copy_template_template_parm): Likewise.

From-SVN: r33079
2000-04-11 16:27:42 +00:00
Nathan Sidwell
2133335f6a Restore accidentally nuked changelog entries Mon Apr 10 07:21:13 2000 Richard...
Restore accidentally nuked changelog entries
  Mon Apr 10 07:21:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  2000-04-10  Neil Booth  <NeilB@earthling.net>

From-SVN: r33078
2000-04-11 15:32:58 +00:00
Warren Levy
d0123c54ca ObjectStreamException.java: New file.
* java/io/ObjectStreamException.java: New file.
	* java/io/OptionalDataException.java: New file.
	* java/io/StreamCorruptedException.java: New file.
	* java/math/BigDecimal.java: New file.
	* java/sql/CallableStatement.java: New file.
	* java/sql/Connection.java: New file.
	* java/sql/DataTruncation.java: New file.
	* java/sql/DatabaseMetaData.java: New file.
	* java/sql/Date.java: New file.
	* java/sql/Driver.java: New file.
	* java/sql/DriverManager.java: New file.
	* java/sql/DriverPropertyInfo.java: New file.
	* java/sql/PreparedStatement.java: New file.
	* java/sql/ResultSet.java: New file.
	* java/sql/ResultSetMetaData.java: New file.
	* java/sql/SQLException.java: New file.
	* java/sql/SQLWarning.java: New file.
	* java/sql/Statement.java: New file.
	* java/sql/Time.java: New file.
	* java/sql/Timestamp.java: New file.
	* java/sql/Types.java: New file.
	* Makefile.am: Added above new files.
	* Makefile.in: Rebuilt.

	* mauve-libgcj: Turned on java.math, java.sql and java.security tests.
	* java/net/MulticastSocket.java (MulticastSocket): Pass values a la
	DatagramSocket constructor instead of null.

java.sql is JDK 1.1 Compliant

From-SVN: r33077
2000-04-11 09:21:53 +00:00
Zack Weinberg
3a2b2c7a20 cppexp.c, [...]: Replace cpp_token with cpp_ttype everywhere.
* cppexp.c, cpphash.c, cpphash.h, cpplex.c, cpplib.c,
	cpplib.h, cppmain.c, fix-header.c, scan-decls.c: Replace
	cpp_token with cpp_ttype everywhere.
	* cpperror.c, cpphash.c, cpplex.c, cpplib.c, scan-decls.c:
	Replace cpp_buf_line_and_col with CPP_BUF_LINE and/or
	CPP_BUF_COL.  Line and column numbers are unsigned int, not
	long.
	* cpplex.c (cpp_buf_line_and_col): Delete.
	* cpplib.h (struct cpp_buffer, struct cpp_reader): Change
	'long lineno' to 'unsigned int lineno'.
	(CPP_BUF_LINE, CPP_BUF_COL): New macros.

From-SVN: r33076
2000-04-11 08:29:34 +00:00
Jeff Law
6d8c68df38 Daily bump.
From-SVN: r33075
2000-04-11 01:45:07 -06:00
Mark Mitchell
5b0cec3b3f cp-tree.h (lang_type): Remove has_nonpublic_ctor and has_nonpublic_assign_ref.
* cp-tree.h (lang_type): Remove has_nonpublic_ctor and
	has_nonpublic_assign_ref.
	(TYPE_HAS_NONPUBLIC_CTOR): Don't declare.
	(TYPE_HAS_NONPUBLIC_ASSIGN_REF): Likewise.
	* class.c (finish_struct_methods): Don't set
	TYPE_HAS_NONPUBLIC_CTOR or TYPE_HAS_NONPUBLIC_ASSIGN_REF.
	(interface_only): Don't declare.
	(interface_unknown): Likewise.

From-SVN: r33074
2000-04-11 07:39:05 +00:00
Martin v. Löwis
34527c47b6 extend.texi: ISO C99 is not a draft anymore.
* extend.texi: ISO C99 is not a draft anymore.
	* invoke.texi: ISO C++ is not a draft anymore.
	* cpp.texi: __cplusplus is required by the ISO standard.

From-SVN: r33073
2000-04-11 07:20:47 +00:00
Martin v. Löwis
69942c2051 Add missing table start back in.
From-SVN: r33072
2000-04-11 06:06:22 +00:00
Martin v. Löwis
069cfbffbc extend.texi (-fthis-is-variable): Undocument.
* extend.texi (-fthis-is-variable): Undocument.
	* flags.h (warn_template_debugging): Remove declaration.
	* gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable,
	-Wenum-clash, -Wtemplate-debugging): Undocument.
	* cp/tree.h (HAVE_TEMPLATES): Remove definition.
	* cp/lang-options.h (-fthis-is-variable): Remove documentation.

From-SVN: r33071
2000-04-11 06:01:53 +00:00
David Edelsohn
f78c041b7c - Replace reference to newppc-branch ChangeLog with detailed entries.
From-SVN: r33070
2000-04-11 00:35:22 -04:00
Nick Clifton
e59512633b Fix compile time warnings for arm-pe target.
From-SVN: r33069
2000-04-11 03:08:01 +00:00
Jason Merrill
dc4a31ee33 note warnings
From-SVN: r33068
2000-04-10 21:11:58 -04:00
Jason Merrill
1c8d13fe19 just return failure
From-SVN: r33067
2000-04-10 21:11:27 -04:00
Jason Merrill
2bdb0643b3 class.c (instantiate_type): Handle object-relative template-id.
* class.c (instantiate_type): Handle object-relative template-id.

        * semantics.c (finish_expr_stmt): Call convert_to_void here.
        * decl.c (cplus_expand_expr_stmt): Not here.

        * rtti.c (build_dynamic_cast_1): Call non_lvalue.
        Initialize exprtype earlier.

        * parse.y (fn.def1): Check for defining types in return types.

        * decl.c (check_tag_decl): Notice extra fundamental types.
        Diagnose empty decls in classes, too.

        * decl.c (grokdeclarator): Don't override an anonymous name if no
        declarator was given.

        * cvt.c (convert_to_void): Call resolve_offset_ref.

        * typeck.c (build_x_function_call): Abort if we get an OFFSET_REF.

        * decl2.c (decl_namespace): Handle getting a type.

        * typeck.c (build_c_cast): Re-enable warning for cast between
        pointer and integer of different size.

From-SVN: r33066
2000-04-10 20:38:39 -04:00
Richard Kenner
a4ff8d98ba sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential of sequence point problems.
* sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential
	of sequence point problems.

From-SVN: r33064
2000-04-10 15:35:13 -04:00
Nathan Sidwell
96e1d96c91 * g++.old-deja/g++.eh/catchptr1.C: New test.
From-SVN: r33062
2000-04-10 16:22:52 +00:00
Nathan Sidwell
6d61f400fd cxxabi.h (__pointer_type_info): Add restrict and incomplete flags.
* inc/cxxabi.h (__pointer_type_info): Add restrict and
	incomplete flags.
	(__pointer_type_info::__pointer_catch): New virtual function.
	(__pointer_to_member_type_info): Derive from
	__pointer_type_info. Adjust.
	(__pointer_to_member_type_info::__do_catch): Remove.
	(__pointer_to_member_type_info::__is_pointer_p): Declare.
	(__pointer_to_member_type_info::__pointer_catch): Declare.
	* rtti.c (qualifier_flags): Add restrict flag.
	(ptmd_initializer): Reorder members.
	(create_tinfo_types): Expand comments. Reorder
	ptmd_desc_type_node members.
	* tinfo2.cc (__pointer_to_member_type_info::__is_pointer_p):
	Implement.
	(__pointer_type_info::__do_catch): Move specific code into
	__pointer_catch. Call it.
	(__pointer_type_info::__pointer_catch): Non-pointer-to-member
	specific catch checking. Fix void conversion check.
	(__pointer_to_member_type_info::__do_catch): Remove.
	(__pointer_to_member_type_info::__pointer_catch): Implement.

From-SVN: r33061
2000-04-10 16:21:28 +00:00
Nathan Sidwell
4b7ee6157a rtl.def (ASHIFT, [...]): Recomment.
* rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT):
	Recomment.
	* tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment.

From-SVN: r33060
2000-04-10 16:18:21 +00:00
Richard Kenner
08158df35a sbitmap.h: Whitespace changes and use upper-case macro args.
* sbitmap.h: Whitespace changes and use upper-case macro args.
	(struct simple_bitmap_def): All sizes now unsigned.
	(EXECUTE_IF_SET_IN_SBITMAP): Internal vars now _X instead of X_.
	* sbitmap.c (sbitmap_alloc): N_ELMS now unsigned; also local vars.
	(sbitmap_vector_alloc): Parms and local vars now unsigned.
	(sbitmap_zero): Cast bzero arg to PTR.
	(sbitmap_vector_zero, sbitmap_vector_one): Parm and Local var unsigned.
	(sbitmap_union_of_diffs): Change loop index to unsigned and rework
	loop to make structure clearer.
	(sbitmap_not, sbitmap_difference, sbitmap_a_and_b): Likewise.
	(sbitmap_a_or_b, sbitmap_a_subset_b_p, sbitmap_a_or_b_and_c): Likewise.
	(sbitmap_a_and_b_or_c): Likewise.
	(sbitmap_intersection_of_succs): Minor cleanups.
	(sbitmap_intersection_of_preds, sbitmap_union_of_succs): Likewise.
	(sbitmap_union_of_preds): Likewise.
	(sbitmap_first_set_bit, dump_sbitmap): Local variables now unsigned.
	(debug_sbitmap): New function.

From-SVN: r33059
2000-04-10 08:31:19 -04:00
Richard Kenner
98d64f692f c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE.
* c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE.
	* c-typeck.c (convert_for_assignment): Likewise.

From-SVN: r33058
2000-04-10 07:59:46 -04:00
Richard Kenner
29105cea6a expmed.c (init_expmed): Don't free objects we make.
* expmed.c (init_expmed): Don't free objects we make.
	* emit-rtl.c (gen_rtx_CONST_INT, init_emit_once): Minor cleanups.

From-SVN: r33057
2000-04-10 07:51:53 -04:00
Richard Kenner
7156dead87 expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases.
* expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases.
	(expand_expr, case CONVERT_EXPR): Pass proper alignment to store_field.

From-SVN: r33056
2000-04-10 07:46:08 -04:00
Richard Kenner
231a222692 Add missing blank
From-SVN: r33055
2000-04-10 07:40:06 -04:00
Richard Kenner
2e653e3965 gcse.c (expr_hash_table_size): Now unsigned.
* gcse.c (expr_hash_table_size): Now unsigned.
	(compute_ae_gen): Local variable `i' now unsigned.
	(compute_ae_kill, pre_insert_copies, pre_delete, pre_gcse): Likewise.
	(compute_transout, hoist_code): Likewise.
	(compute_local_properties): Likewise, also hash_table_size.
	(alloc_expr_hash_table): N_INSNS now unsigned.
	(delete_null_pointer_checks): Mark arg F as unused.

From-SVN: r33054
2000-04-10 07:33:18 -04:00
Richard Kenner
1a43c33f9c regrename.c: Minor cleanups, including changing some variables to unsigned int.
* regrename.c: Minor cleanups, including changing some variables
	to unsigned int.

From-SVN: r33053
2000-04-10 07:23:17 -04:00
Neil Booth
61474454b4 cpplex.c (skip_block_comment): Use pointer arithmetic rather than GETC ().
* cpplex.c (skip_block_comment): Use pointer arithmetic rather
	than GETC ().
	* cpphash.h: (CPP_BUMP_BUFFER_LINE_CUR, CPP_BUMP_LINE_CUR): New.

From-SVN: r33052
2000-04-10 11:08:12 +00:00
Martin v. Löwis
775afb2516 invoke.texi (-ansi): Remove -foperator-names from list of implied options.
* invoke.texi (-ansi): Remove -foperator-names from list of
	implied options. Do not call it ANSI C++.
	(-foperator-names): Document as -fno-operator-names.
	* cp/decl2.c (flag_operator_names): Default to 1.
	(lang_decode_option): Do not set it for -ansi.

From-SVN: r33051
2000-04-10 07:48:15 +00:00
Jeff Law
62e3806d3a Daily bump.
From-SVN: r33050
2000-04-10 01:45:07 -06:00
Martin v. Löwis
dd23571337 invoke.texi (-fno-gnu-keywords): Remove classof, headof, __classof__, and __headof__ from the list of gnu keywords.
* invoke.texi (-fno-gnu-keywords): Remove classof, headof,
	__classof__, and __headof__ from the list of gnu keywords.
	* cp/lex.c (init_parse): Remove traces of classof and headof.

From-SVN: r33049
2000-04-10 07:43:45 +00:00
Mark Mitchell
144af36dbe cp-tree.h (struct lang_decl): Remove main_decl_variant.
* cp-tree.h (struct lang_decl): Remove main_decl_variant.
	(DECL_MAIN_VARIANT): Remove.
	* decl.c (duplicate_decls): Don't set it.
	(start_function): Likewise.
	(lang_mark_tree): Don't mark it.
	* decl2.c (defer_fn): Don't use it.
	* lex.c (retrofit_lang_decl): Don't set it.
	* pt.c (tsubst_decl): Likewise.
	* ptree.c (print_lang_decl): Don't print it.
	* typeck.c (mark_addressable): Don't use it.

From-SVN: r33048
2000-04-10 06:53:57 +00:00
Zack Weinberg
8c389f849a cpphash.c (timestamp): Delete.
* cpphash.c (timestamp): Delete.
	(del_HASHNODE): If type is T_MCONST, free value.cpval.
	(special_symbol): Remove unnecessary braces.  Remove
	T_VERSION.  Treat T_STDC like T_CONST unless
	STDC_0_IN_SYSTEM_HEADERS.  Render both __DATE__ and __TIME__
	when one is encountered, then convert them into T_MCONST
	nodes.
	* cppinit.c (builtin_array): version_string is T_MCONST.
	__STDC__ has a "1" in its cpval.  Don't have a terminator
	entry.  Clean up which entries are dumped.
	(initialize_builtins): Only __STDC__ gets the special
	-traditional treatment.  Count the length of builtin_array.
	Render version_string here.
	* cpphash.h: Remove T_VERSION.  Add T_MCONST.
	* cpplib.h (struct cpp_reader): Remove timebuf.

From-SVN: r33047
2000-04-10 03:27:21 +00:00
Richard Henderson
3a3677ff46 genrecog.c (pred): Update comparison_operator for the unordered operators.
* genrecog.c (pred): Update comparison_operator for the unordered
        operators.

        * config/i386/i386.c (no_comparison_operator): Disallow unordered
        operators.
        (fcmov_comparison_operator): Allow UNORDERED/ORDERED.
        (uno_comparison_operator): New.
        (put_condition_code): Handle UNORDERED/ORDERED.
        (unsigned_comparison): Likewise.
        (ix86_fp_compare_mode): Broken out of ix86_expand_fp_compare.
        (ix86_use_fcomi_compare, ix86_prepare_fp_compare_args): Likewise.
        (ix86_expand_fp_compare): Use them.  Take scratch as argument,
        update all callers.  Handle all 8 unordered operators.
        (ix86_expand_setcc): Lose the unordered argument, update all callers.
        (ix86_expand_branch): Likewise.  Don't fully expand fp branches.
        * config/i386/i386.h (PREDICATE_CODES): Update.
        * config/i386/i386-protos.h (ix86_expand_fp_compare): Declare.
        (ix86_expand_branch, ix86_expand_setcc): Update.
        * config/i386/i386.md (sunordered, sordered): New.
        (suneq, sunge, sungt, sunle, sunlt, sltgt): New.
        (bunordered, bordered): New.
        (buneq, bunge, bungt, bunle, bunlt, bltgt): New.
        (*fp_jcc_1, *fp_jcc_2, *fp_jcc_3, *fp_jcc_4): New.
        (*fp_jcc_5, *fp_jcc_6, and splitters): New.

From-SVN: r33046
2000-04-09 13:26:42 -07:00
Philip Blundell
00fdafefd6 Strip '*' prefix from label names.
From-SVN: r33045
2000-04-09 20:13:21 +00:00
John Wehle
46d21d2c82 i386.md (fix_truncsfhi2, [...]): New patterns.
* i386.md (fix_truncsfhi2, fix_truncdfhi2,
	fix_truncxfhi2): New patterns.
	* i386.c (output_fix_trunc): Handle converting to HImode.

From-SVN: r33044
2000-04-09 19:26:31 +00:00
Nathan Sidwell
e33c685bd6 * g++.old-deja/g++.abi/cxa_vec.C: New test.
From-SVN: r33043
2000-04-09 16:05:49 +00:00