Commit Graph

59968 Commits

Author SHA1 Message Date
Mark Mitchell
90ea9897a0 cp-tree.h (IDENTIFIER_VALUE): Remove.
* cp-tree.h (IDENTIFIER_VALUE): Remove.
	(BINFO_PUSHDECLS_MARKED): Likewise.
	(maybe_inject_for_scope_var): Likewise.
	(push_class_decls): Likewise.
	* name-lookup.h (push_class_binding): Remove.
	(innermost_non_namespace_value): New function.
	(outer_binding): Likewise.
	* class.c (add_method): Push bindings before adding to
	TYPE_METHODS.
	(restore_class_cache): Do not restore class_shadowed.
	(pushclass): Do not add USING_DECLs.  Do not call
	push_class_decls.
	* config-lang.in (gtfiles): Remove $(srcdir)/cp/search.c.
	* decl.c (pushdecl): Use outer_binding.
	(poplevel): Set the scope for an out-of-scope for-loop declaration
	appropriately.
	(cp_finish_decl): Don't call maybe_inject_for_scope_var.
	* name-lookup.c (new_class_binding): New function.
	(push_binding): Use it.
	(pushdecl): Use innermost_non_namespace_value.
	(maybe_inject_for_scope_var): Remove.
	(push_class_binding): Remove.
	(set_inherited_value_binding_p): New function.
	(get_class_binding): New function.
	(push_class_level_binding): Assert that the current_class_type is
	being defined.
	(outer_binding): New function.
	(innermost_non_namespace_value): Likewise.
	(lookup_name_real): Use outer_binding.
	(lookup_name_current_level): Ignore out-of-scope variables.
	* pt.c (check_template_shadow): Use innermost_non_namespace_value.
	(lookup_template_class): Likewise.
	* search.c (dfs_push_type_decls): Remove.
	(dfs_push_decls): Likewise.
	(setup_class_bindings): Likewise.
	(lookup_field_1): Handle USING_DECLs from dependent scopes.
	(marked_pushdecls_p): Remove.
	(unmarked_pushdecls_p): Remove.
	(marked_identifiers): Remove.
	(setup_class_bindings): Remove.
	(dfs_push_type_decls): Remove.
	(dfs_push_decls): Remove.
	(push_class_decls): Remove.

From-SVN: r84689
2004-07-14 15:34:30 +00:00
David Edelsohn
9567481068 rs6000.c (function_arg_padding): Do not pad SFmode for TARGET_64BIT.
* config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmode
	for TARGET_64BIT.
	(rs6000_gimplify_va_arg): Use size_int instead of build_int_2.

From-SVN: r84688
2004-07-14 10:57:46 -04:00
Paolo Carlini
8063a3559d 12658_thread-1.cc, [...]: Use __gnu_test::try_named_locale.
2004-07-14  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/locale/cons/12658_thread-1.cc, 12658_thread-2.cc:
	Use __gnu_test::try_named_locale.

From-SVN: r84687
2004-07-14 14:01:45 +00:00
Roger Sayle
39cab01994 expmed.c (expand_sdiv_pow2): New function to expand signed division by a positive power of two...
* expmed.c (expand_sdiv_pow2): New function to expand signed division
	by a positive power of two, split out from expand_divmod.  Provide
	an alternate implementation when shifts are expensive.  Lower the
	threshold for using a branchless implementation to BRANCH_COST >= 2.
	(expand_divmod): Call expand_sdiv_pow2 for suitable divisions.

From-SVN: r84686
2004-07-14 13:50:39 +00:00
Paolo Bonzini
51a61243e7 tree-dfa.c (make_rename_temp): *Really* work just like create_tmp_var if called while outside SSA form.
2004-07-14  Paolo Bonzini  <bonzini@gnu.org>

	* tree-dfa.c (make_rename_temp): *Really* work just
	like create_tmp_var if called while outside SSA form.

From-SVN: r84685
2004-07-14 13:36:29 +00:00
Andreas Schwab
a1c7af8912 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
From-SVN: r84684
2004-07-14 13:09:43 +00:00
Ulrich Weigand
220a826e6d s390.md ("udivsi3"): Ensure trap is generated for division by zero.
gcc/ChangeLog:

	* config/s390/s390.md ("udivsi3"): Ensure trap is generated
	for division by zero.
	("umodsi3"): Likewise.

libjava/ChangeLog:

	* configure.host (DIVIDESPEC) [s390*-*-*]: Set to
	-fno-use-divide-subroutine.
	* include/s390-signal.h: Include <ucontext.h> and <limits.h>.
	(HANDLE_FPE): Define.
	(SIGNAL_HANDLER): Change third argument to ucontext_t *.
	(struct old_s390_kernel_sigaction): Likewise for k_sa_handler.
	(HANDLE_DIVIDE_OVERFLOW): Define.

From-SVN: r84683
2004-07-14 13:09:09 +00:00
Richard Sandiford
bb732af863 mips.c (mips_output_move): When generating mips16 code, force loads of negative constants to be split.
* config/mips/mips.c (mips_output_move): When generating mips16 code,
	force loads of negative constants to be split.
	* config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise.
	Generalize SImode li/neg splitter to cope with other modes.

From-SVN: r84680
2004-07-14 10:02:32 +00:00
Paolo Bonzini
96985307d9 expmed.c: Remove more references to QUEUED in the comments.
2004-07-14  Paolo Bonzini  <bonzini@gnu.org>

	* expmed.c: Remove more references to QUEUED in the comments.
	* expr.c: Likewise.

From-SVN: r84678
2004-07-14 08:49:30 +00:00
Richard Sandiford
e7407dec26 revert: mips.c (mips_pass_by_reference): Handle mode sizes correctly.
Revert:
	2004-07-13  Richard Henderson  <rth@redhat.com>
	* config/mips/mips.c (mips_pass_by_reference): Handle mode sizes
	correctly.

From-SVN: r84677
2004-07-14 07:35:44 +00:00
Paolo Bonzini
eda9caf678 tree-dfa.c (make_rename_temp): Work just like create_tmp_var when called outside SSA form.
2004-07-14  Paolo Bonzini  <bonzini@gnu.org>

	* tree-dfa.c (make_rename_temp): Work just like
	create_tmp_var when called outside SSA form.

From-SVN: r84676
2004-07-14 07:32:22 +00:00
Paolo Bonzini
ad76cef84c expr.c (enqueue_insn, [...]): Remove.
2004-07-14  Paolo Bonzini  <bonzini@gnu.org>

	* expr.c (enqueue_insn, finish_expr_for_function,
	protect_from_queue, queued_subexp_p, mark_queue,
	emit_insns_enqueued_after_mark, emit_queue,
	expand_increment): Remove.
	(store_constructor): Expand increment as an assignment.
	(expand_expr_real_1 <case PREINCREMENT_EXPR,
	case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR,
	case POSTDECREMENT_EXPR>): Abort.
	* expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY,
	QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function,
	protect_from_queue, emit_queue, queued_subexp_p): Remove.
	* function.h (pending_chain, x_pending_chain): Remove.
	* rtl.def (QUEUED): Remove.

	* emit-rtl.c (copy_insn_1, copy_most_rtx,
	set_used_flags, verify_rtx_sharing): Remove references to QUEUED.
	* genattrtab.c (attr_copy_rtx, clear_struct_flag,
	encode_units_mask): Likewise.
	* local-alloc.c (equiv_init_varies_p): Likewise.
	* rtl.c (copy_rtx): Likewise.
	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
	* simplify-rtx.c (simplify_gen_subreg): Likewise.
	* config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise.

	* builtins.c (expand_builtin, expand_builtin_apply,
	expand_builtin_mathfn, expand_builtin_mathfn_2,
	expand_builtin_mathfn_3, expand_builtin_setjmp_setup):
	Remove calls to emit_queue and protect_from_queue.
	* calls.c (expand_call, precompute_arguments,
	precompute_register_parameters, rtx_for_function_call,
	store_one_arg): Likewise.
	* dojump.c (do_compare_and_jump, do_jump): Likewise.
	* explow.c (memory_address): Likewise.
	* expmed.c (clear_by_pieces_1, clear_storage,
	clear_storage_via_libcall, emit_group_load,
	emit_group_store, emit_store_flag,
	expand_expr_real_1, store_by_pieces,
	store_constructor, store_expr, try_casesi,
	try_tablejump): Likewise.
	* function.c (expand_pending_sizes): Likewise.
	* optabs.c (emit_cmp_and_jump_insns,
	emit_conditional_add, emit_conditional_move,
	expand_fix, expand_float, prepare_cmp_insn): Likewise.
	* stmt.c (emit_case_bit_tests,
	expand_asm_expr, expand_computed_goto,
	expand_decl_init, expand_end_case_type,
	expand_end_stmt_expr, expand_expr_stmt_value,
	expand_return, expand_start_case,
	optimize_tail_recursion): Likewise.
	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
	* config/s390/s390.c (s390_expand_cmpmem): Likewise.

From-SVN: r84675
2004-07-14 07:30:23 +00:00
Benjamin Kosnik
780028b6cf mt_allocator.html: Add docs for _Tune.
2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/ext/mt_allocator.html: Add docs for _Tune.
	* include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
	(__mt_alloc::_S_set_options): Same.
	Add to comments.

2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
	for linux.
	* configure: Regenerated.

From-SVN: r84674
2004-07-14 06:37:17 +00:00
Ben Elliston
70049c7ce2 * vec.h: Comment fix.
From-SVN: r84673
2004-07-14 16:31:03 +10:00
Richard Henderson
8cd5a4e07d target.h (struct gcc_target): Add calls.pass_by_reference.
* target.h (struct gcc_target): Add calls.pass_by_reference.
	* target-def.h (TARGET_PASS_BY_REFERENCE): New.
	* function.c (pass_by_reference): Use the hook.
	* system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison.
	* targhooks.c, targhooks.h (hook_pass_by_reference_false): New.
	(hook_pass_by_reference_must_pass_in_stack): New.
	* config/alpha/alpha.c (function_arg): Don't query pass-by-ref.
	(alpha_pass_by_reference): New.
	(TARGET_PASS_BY_REFERENCE): New.
	* config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/arc/arc.c (arc_pass_by_reference): New.
	(TARGET_PASS_BY_REFERENCE): New.
	* config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): True.
	* config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove.
	* config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New.
	(arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference.
	* config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/cris/cris.c (cris_pass_by_reference): New.
	(TARGET_PASS_BY_REFERENCE): New.
	* config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref.
	(FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise.
	(FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New.
	* config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill.
	* config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New.
	(frv_function_arg_pass_by_reference): Remove.
	* config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/i386/i386-protos.h (function_arg_pass_by_reference): Remove.
	* config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New.
	(ix86_pass_by_reference): Rename from function_arg_pass_by_reference.
	* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill.
	* config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New.
	(ia64_pass_by_reference): Rename from
	ia64_function_arg_pass_by_reference.
	* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill.
	* config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New.
	(iq2000_pass_by_reference): Rename from function_arg_pass_by_reference.
	* config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
	* config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove.
	* config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New.
	(m32r_pass_by_reference): Adjust prototype.  Make static.
	Handle mode sizes correctly.
	* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c
	(m68hc11_function_arg_pass_by_reference): Remove.
	* config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
	* config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New.
	* config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/mips/mips-protos.h (function_arg_pass_by_reference): Remove.
	* config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New.
	(mips_va_arg): Use pass_by_reference.
	(mips_pass_by_reference): Rename from function_arg_pass_by_reference.
	Handle mode sizes correctly.
	* config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
        (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
	* config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill.
	* config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New.
	(mmix_pass_by_reference): Rename from
	mmix_function_arg_pass_by_reference.
	* config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): True.
	* config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New.
	(mn10300_pass_by_reference): New.
	* config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): True.
	* config/pa/pa.c (pa_pass_by_reference): New.
	(TARGET_PASS_BY_REFERENCE): New.
	* config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
        (FUNCTION_ARG_CALLEE_COPIES): True.
	* config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill.
	* config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New.
	(rs6000_pass_by_reference): Rename from function_arg_pass_by_reference.
	* config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill.
	* config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New.
	(s390_pass_by_reference): Rename from
	s390_function_arg_pass_by_reference.
	(s390_function_arg_advance): Don't query pass-by-ref.
	(s390_function_arg): Likewise.
	(s390_gimplify_va_arg): Use pass_by_reference.
	(s390_call_saved_register_used): Likewise.
	* config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New.
	(shcompact_byref, sh_pass_by_reference): New.
	* config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(SHCOMPACT_BYREF): Remove.
	* config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill.
	* config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New.
	(sparc_pass_by_reference): Rename from function_arg_pass_by_reference.
	(sparc_gimplify_va_arg): Use pass_by_reference.
	* config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	* config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New.
	(v850_pass_by_reference): New.
	* config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
	(FUNCTION_ARG_CALLEE_COPIES): True.
	* doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from
	FUNCTION_ARG_PASS_BY_REFERENCE docs.

From-SVN: r84672
2004-07-13 23:24:27 -07:00
Richard Henderson
0310e5373b mips-protos.h (mips_va_arg): Delete.
* config/mips/mips-protos.h (mips_va_arg): Delete.
	* config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete.
	* config/mips/mips.c: Include tree-gimple.h.
	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
	(mips_arg_info): Remove special handling of must_pass_in_stck args.
	(mips_gimplify_va_arg_expr): Rewritten from mips_va_arg.
	(function_arg_pass_by_reference): Return true if must_pass_in_stack.

Co-Authored-By: Richard Sandiford <rsandifo@redhat.com>

From-SVN: r84671
2004-07-14 05:58:30 +00:00
Per Bothner
1cb6d0da5f java-tree.h (all_class_filename): Remove useless macro.
* java-tree.h (all_class_filename):  Remove useless macro.
	(enum java_tree_index):  Remove JTI_ALL_CLASS_FILENAME constant.
	(BUILD_FILENAME_IDENTIFIER_NODE):  Remove useless macro.
	* parse.y (java_parser_context_restore_global):  Replace
	BUILD_FILENAME_IDENTIFIER_NODE by plain get_identifier.
	* jcf-parse.c (read_class, java_parse_file):  Likewise.

From-SVN: r84667
2004-07-13 19:36:38 -07:00
GCC Administrator
bd09f5b8f1 Daily bump.
From-SVN: r84660
2004-07-14 00:16:12 +00:00
Bob Wilson
e231737afe xtensa.c (xtensa_gimplify_va_arg_expr): Swap arguments for COND_EXPR in big-endian adjustment code.
* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swap
	arguments for COND_EXPR in big-endian adjustment code.

From-SVN: r84655
2004-07-13 23:20:16 +00:00
John David Anglin
747e2d0e5f pa-64.h (ARG_POINTER_REGNUM, [...]): Delete.
* pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete.
	* pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64.
	* pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers.
	* pa64-regs.h (REG_ALLOC_ORDER): Likewise.

From-SVN: r84649
2004-07-13 22:17:11 +00:00
Michael Koch
c1b4f64d33 InputContext.java: Initialze in, line.
2004-07-14  Michael Koch  <konqueror@gmx.de>
            Matthias Klose  <doko@debian.org>

        * java/awt/im/InputContext.java: Initialze in, line.

Co-Authored-By: Matthias Klose <doko@debian.org>

From-SVN: r84648
2004-07-13 22:06:11 +00:00
Arnaud Charlet
a5cb3b3025 [multiple changes]
2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
	object type.
	(gnat_to_gnu_entity, case E_Record_Subtype): Properly set
	TYPE_STUB_DECL.

	* misc.c (gnat_types_compatible_p): New function.
	(LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
	(LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.

	* trans.c (gigi): Move processing of main N_Compilation_Unit here.
	(gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
	(add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
	(mark_visited): Don't mark dummy type.
	(tree_transform <N_Procedure_Call_Statement>): Unless this is an In
	parameter, we must remove any LJM building from GNU_NAME.
	(gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
	(pos_to_constructor): Use int_const_binop.
	(gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
	PARM_DECL.

	* utils.c (gnat_init_decl_processing): Don't make two "void" decls.
	(gnat_pushlevel): Set TREE_USE on BLOCK node.
	(gnat_install_builtins): Add __builtin_memset.

2004-07-13  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
	for a renaming, stabilize the initialization expression if we are at a
	local level.  At the local level, uses of the renaming may be performed
	by a direct dereference of the initializing expression, and we don't
	want possible variables there to be evaluated for every use.

	* trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
	Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
	them on the way.  Account for the fact that we may introduce side
	effects in the process.

From-SVN: r84647
2004-07-13 23:40:51 +02:00
Mark Mitchell
1ff3c0761f re PR c++/16518 (mutable specifier only applies to first item in declaration list)
PR c++/16518
	PR c++/16337
	* decl.c (grokvardecl): Make declspecs parameter const.
	(grokdeclarator): Likewise.  Adjust accordingly.
	* decl.h (grokdeclarator): Adjust declaration.
	* parser.c (cp_parser_init_declarator): Do not clear
	decl_specifiers->attributes.

	PR c++/16518
	* g++.dg/parse/mutable1.C: New test.

From-SVN: r84646
2004-07-13 21:11:52 +00:00
Ulrich Weigand
5549179ffb interpret.cc (run): Correctly access libffi return values of integral smaller-than-int type...
* interpret.cc (run): Correctly access libffi return values of
	integral smaller-than-int type; these are implicitly promoted.

From-SVN: r84645
2004-07-13 21:06:33 +00:00
Bryce McKinlay
6187fd28ad re PR libgcj/7587 (direct threaded interpreter not thread-safe)
2004-07-13  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/7587
	* interpret.cc (compile_mutex): New.
	(_Jv_InitInterpreter): New. Initialize compile_mutex.
	(run): Lock compile_mutex before calling compile() if compilation is
	required.
	* prims.cc (_Jv_CreateJavaVM): Call _Jv_InitInterpreter().
	* include/java-interp.h (_Jv_InitInterpreter): Declare.

From-SVN: r84644
2004-07-13 22:03:03 +01:00
Bernardo Innocenti
b6fa4f6e16 libiberty.h (XNEW, [...]): Move here from libcpp/internal.h.
* libiberty.h (XNEW, XCNEW, XNEWVEC, XCNEWVEC, XOBNEW): Move here from
	libcpp/internal.h.
	(XDELETE, XRESIZEVEC, XDELETEVEC, XNEWVAR, XCNEWVAR, XRESIZEVAR): New
	macros.

From-SVN: r84643
2004-07-13 22:59:09 +02:00
Bernardo Innocenti
5557e16d2a libiberty.h (ASTRDUP): Add casts required for stricter type conversion rules of C++.
* libiberty.h (ASTRDUP): Add casts required for stricter
	type conversion rules of C++.
	* obstack.h (obstack_free): Likewise.

From-SVN: r84642
2004-07-13 22:54:38 +02:00
Diego Novillo
ee536902d6 re PR tree-optimization/16443 (ICE during linux kernel compilation)
PR tree-optimization/16443
	* tree-ssa-alias.c: Add more description for
	CALL_CLOBBERED_VARS and ADDRESSABLE_VARS.
	* tree-ssa-operands.c (get_asm_expr_operands): Re-order the
	clobbering of call-clobbered and addressable variables.  If
	there are any before aliases have been computed, add them.

testsuite/ChangeLog

	PR tree-optimization/16443
	* gcc.dg/tree-ssa/20040713-1.c: New test.

From-SVN: r84641
2004-07-13 16:51:02 -04:00
Ulrich Weigand
a65ab52456 new2.C: Use first operand of type __SIZE_TYPE__ for operator new.
* g++.dg/lookup/new2.C: Use first operand of type __SIZE_TYPE__
	for operator new.

From-SVN: r84640
2004-07-13 20:46:01 +00:00
Diego Novillo
2aaf3dd5b4 tree-optimize.c (execute_todo): Flush DUMP_FILE before verification.
* tree-optimize.c (execute_todo): Flush DUMP_FILE before
	verification.

From-SVN: r84639
2004-07-13 16:39:09 -04:00
Ulrich Weigand
6c6dd4bd12 s390.c (s390_gimplify_va_arg): Use size_int instead of build_int_2.
* config/s390/s390.c (s390_gimplify_va_arg): Use size_int instead
	of build_int_2.  Convert both operands of PLUS_EXPR and MULT_EXPR
	to the same type.

From-SVN: r84632
2004-07-13 17:22:41 +00:00
Per Bothner
27605cbe23 * collect2.c (main): Handle --no-demangle and --demangle flags.
From-SVN: r84631
2004-07-13 10:19:14 -07:00
Sebastian Pop
56cf8686a1 Makefile.in (OBJS-common): Add tree-data-ref.o.
* Makefile.in (OBJS-common): Add tree-data-ref.o.
	(tree-scalar-evolution.o): Add missing dependences on tree-pass.h flags.h.
	(tree-data-ref.o): New rule.
	* lambda.h: New file.
	* tree-data-ref.c: New file.
	* tree-data-ref.h: New file.
	* tree.c (int_cst_value, tree_fold_gcd): New functions.
	* tree.h (int_cst_value, tree_fold_gcd): Declared here.

From-SVN: r84630
2004-07-13 16:43:32 +00:00
Mark Mitchell
39fb05d071 cp-tree.h (lang_identifier): Remove class_value.
* cp-tree.h (lang_identifier): Remove class_value.
	(IDENTIFIER_CLASS_VALUE): Remove.
	(pop_class_decls): Likewise.
	(init_search_processing): Likewise.
	* class.c (handle_using_decl): Use lookup_member, not
	IDENTIFIER_CLASS_VALUE.
	(restore_class_cache): New function, split out from ...
	(pushclass): ... here.  Do not call clear_identifier_class_values.
	(invalidate_class_lookup_cache): Do not clear
	IDENTIFIER_CLASS_VALUE.
	(popclass): Do not call pop_class_decls.
	(maybe_note_name_used_in_class): Do not save names looked up after
	the class is complete.  Use lookup_member, not
	IDENTIFIER_CLASS_VALUE.
	* config-lang.in (gtfiles): Add $(srcdir)/cp/search.c.
	* decl.c (cxx_init_decl_processing): Do not call
	init_search_processing.
	* method.c (do_build_copy_constructor): Remove unnecessary code.
	(do_build_assign_ref): Likewise.
	* name-lookup.c (pushdecl): Use lookup_member, not
	IDENTIFIER_CLASS_VALUE.
	(set_identifier_type_value_with_scope): Set TREE_TYPE on the
	type_shadowed list.
	(poplevel_class): Do not restore IDENTIFIER_CLASS_VALUE.
	(push_class_binding): Do not set it.
	(clear_identifier_class_values): Remove.
	(push_class_level_binding): Do not set IDENTIFIER_CLASS_VALUE.
	(store_binding): Do not save it.
	(pop_from_top_level): Do not restore it.
	* name-lookup.h (cxx_saved_binding): Remove class_value.
	(clear_identifier_class_values): Remove.
	* ptree.c (cxx_print_identifier): Do not print
	IDENTIFIER_CLASS_VALUE.
	* search.c (search_obstack): Remove.
	(push_stack_level): Remove.
	(pop_stack_level): Remove.
	(search_level): Remove.
	(search_stack): Remove.
	(lookup_member): Don't check IDENTIFIER_CLASS_VALUE.
	(setup_class_bindings): Use IDENTIFIER_MARKED, not
	IDENTIFIER_CLASS_VALUE.
	(marked_identifiers): New variable.
	(push_class_decls): Clear IDENTIFIER_MARKED.
	(pop_class_decls): Don't call pop_search_level.
	(init_search_processing): Remove.

From-SVN: r84629
2004-07-13 16:22:06 +00:00
David Billinghurst
6aa57acc95 README: New file
2004-07-13  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/README: New file
	* gfortran.dg/g77/19981216-0.f:  Copy from
	g77.f-torture/noncompile.  Add "dg-do compile" and
	dg-error as required.
	* gfortran.dg/g77/19990218-1.f: Likewise
	* gfortran.dg/g77/19990905-1.f: Likewise
	* gfortran.dg/g77/9263.f: Likewise
	* gfortran.dg/g77/980615-0.f: Likewise
	* gfortran.dg/g77/980616-0.f: Likewise
	* gfortran.dg/g77/check0.f: Likewise
	* gfortran.dg/g77/select_no_compile.f: Likewise

From-SVN: r84622
2004-07-13 13:27:52 +00:00
Eric Botcazou
1b3c2c2d72 re PR target/13926 (GCC generates jumps that are too large to fit in word displacement field)
PR target/13926
	* config/sparc/sparc-protos.h (output_ubranch): New prototype.
	* config/sparc/sparc.c (output_ubranch): New function.
	* config/sparc/sparc.md (jump pattern): Use it.

From-SVN: r84621
2004-07-13 13:14:06 +00:00
Eric Botcazou
883d9e0c3f re PR target/16494 ([3.3.2/3.4/3.5] Pessimization with FP conditional branches)
PR target/16494
	* config/sparc/sparc.c (output_cbranch): Properly guard
	the code handling far branches with TARGET_V9.
	* config/sparc/sparc.md (length attribute): Document the
	side-effect of having a length greater or equal to 3.

From-SVN: r84618
2004-07-13 12:08:56 +00:00
Eric Botcazou
aeb29bae3d re PR target/15186 (-compat-bsd -m64 does not pick up the 64bit libraries)
PR target/15186
	* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
	/usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.

Co-Authored-By: Lloyd Parkes <lloyd@must-have-coffee.gen.nz>

From-SVN: r84615
2004-07-13 11:16:33 +00:00
Eric Botcazou
6bfb2f933c re PR target/12602 (-pthreads and -threads undocumented for Solaris/SPARC)
PR target/12602
	* doc/invoke.texi (SPARC options): Document -threads
	and -pthreads on Solaris.

Co-Authored-By: Martin Sebor <sebor@roguewave.com>

From-SVN: r84612
2004-07-13 10:36:29 +00:00
Paolo Carlini
9a2ba7af2c 12658_thread.cc: Move/rename to 12658_thread-1.cc and xfail.
2004-07-13  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
	to 12658_thread-1.cc and xfail.
	* testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
	simpler version of 12658_thread-1.cc, still failing on 3_3 and
	not failing on 3_4/mainline - both on single processor and
	multiprocessor machines.

From-SVN: r84610
2004-07-13 09:08:21 +00:00
Nick Clifton
8f36864ec5 oops - forgot to commit ChangeLog entry for sh-symbianelf patch
From-SVN: r84609
2004-07-13 08:57:01 +00:00
Richard Henderson
af064de51e builtins.c (std_gimplify_va_arg_expr): Handle types passed by reference.
* builtins.c (std_gimplify_va_arg_expr): Handle types passed
        by reference.
        (ind_gimplify_va_arg_expr): Remove.
        * tree.h (ind_gimplify_va_arg_expr): Remove.
        * config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it.
        * config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow
        argsp to be null.

        * config/arc/arc.c (arc_gimplify_va_arg_expr): Remove.
        (TARGET_GIMPLIFY_VA_ARG_EXPR): Remove.
        * config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c,
        config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c,
        config/mn10300/mn10300.c, config/v850/v850.c: Similarly.

From-SVN: r84608
2004-07-13 01:43:41 -07:00
Richard Henderson
0976078c73 function.c (pass_by_reference): New.
* function.c (pass_by_reference): New.
        (assign_parm_find_data_types): Use it.
        * calls.c (initialize_argument_information): Likewise.
        (emit_library_call_value_1): Likewise.
        * expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
        * function.h (pass_by_reference): Declare.
ada/
        * misc.c (default_pass_by_ref): Use pass_by_reference.

From-SVN: r84607
2004-07-13 01:22:03 -07:00
Richard Henderson
fe9841365e target-def.h (TARGET_MUST_PASS_IN_STACK): New.
* target-def.h (TARGET_MUST_PASS_IN_STACK): New.
	* target.h (struct gcc_target): Add calls.must_pass_in_stack.
	* expr.h (MUST_PASS_IN_STACK): Remove.
	* system.h (MUST_PASS_IN_STACK): Poison.
	* tree.h (must_pass_in_stack_var_size): Declare.
	(must_pass_in_stack_var_size_or_pad): Declare.
	* calls.c (must_pass_in_stack_var_size): New.
	(must_pass_in_stack_var_size_or_pad): Rename from
	default_must_pass_in_stack.
	* config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
	(TARGET_MUST_PASS_IN_STACK): New.
	* config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove.
	* config/fr30/fr30.c (fr30_must_pass_in_stack): New.
	(TARGET_MUST_PASS_IN_STACK): New.
	* config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove.
	* config/frv/frv.c (frv_must_pass_in_stack): New.
	(TARGET_MUST_PASS_IN_STACK): New.
	* config/frv/frv.h (MUST_PASS_IN_STACK): Remove.
	* config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove.
	* config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New.
	(ix86_must_pass_in_stack): Make static.
	* config/i386/i386.h (MUST_PASS_IN_STACK): Remove.
	* config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove.
	* config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove.
	* config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove.
	* config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New.
	(mcore_must_pass_on_stack): Remove.
	* config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove.
	* config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove.
	* config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/pa/pa.h (MUST_PASS_IN_STACK): Remove.
	* config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove.
	* config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove.
	* config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New.
	(TARGET_MUST_PASS_IN_STACK): New.
	* config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/sh/sh.h (MUST_PASS_IN_STACK): Remove.
	* config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove.
	* config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New.
	* config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove.
	* doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from
	MUST_PASS_IN_STACK.

	* calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h,
	config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c,
	config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h,
	config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c,
	config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c,
	config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c,
	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
	config/xtensa/xtensa.c: Use target hook.

From-SVN: r84606
2004-07-13 00:45:09 -07:00
David Billinghurst
29f1711877 Copy files from g77.f-torture/compile.
2004-07-13  David Billinghurst (David.Billinghurst@riotinto.com)

	Copy files from g77.f-torture/compile.
	Add "{ dg-do compile}".  Other changes as noted
	* gfortran.dg/g77/19990905-0.f: XFAIL PR 16511
	* gfortran.dg/g77/20010519-1.f: Add dg-warning as required
	* gfortran.dg/g77/20030115-1.f: Add dg-warning as required
	* gfortran.dg/g77/20030326-1.f: XFAIL PR 16511
	* gfortran.dg/g77/970125-0.f: Add dg-excess-errors.
	* gfortran.dg/g77/980519-2.f: Declare hd_S,hd_Z,hd_T
	* gfortran.dg/g77/990115-1.f: Declare RANK as INTEGER
	* gfortran.dg/g77/alpha1.f: Separate declaration and DATA
	statement to conform to standard.  Append alpha1.x for reference.
	* gfortran.dg/g77/xformat.f: Add dg-warning

From-SVN: r84605
2004-07-13 07:08:22 +00:00
Anthony Heading
ecb0ccbcbd configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
2004-07-13  Anthony Heading  <aheading@jpmorgan.com>

	* configure.ac (gcc_cv_as_offsetable_lo10: Fix a typo.
	* configure: Rebuilt.

From-SVN: r84603
2004-07-13 08:57:13 +02:00
Richard Sandiford
5b9cc93eb5 invoke.texi: Remove documentation for MIPS -mrnames option.
* doc/invoke.texi: Remove documentation for MIPS -mrnames option.
	* config/mips/mips.h (mips_reg_names): Don't declare.
	(MASK_NAME_REGS): Delete.  Shuffle other MASK_* values down.
	(TARGET_NAME_REGS): Delete.
	(TARGET_SWITCHES): Remove -mrnames.
	(REGISTER_NAMES): Initialise with the old contents of mips_reg_names[].
	(ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned
	in REGISTER_NAMES.
	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete.
	(override_options): Remove handling of TARGET_NAME_REGS.

From-SVN: r84602
2004-07-13 06:50:27 +00:00
Richard Sandiford
40a350c903 * config/mips/mips.h (TARGET_*): Boolify.
From-SVN: r84601
2004-07-13 05:53:28 +00:00
James E Wilson
f6a874ac42 Fix NM/AR propagation from toplevel for recursive makes.
* Makefile.in (AR): Use @AR@ not ar.
(NM): New.
(AR_FOR_TARGET): Use $(AR) not ar for native.
(NM_FOR_TARGET): Use $(NM) not nm for native.
* configure.ac: Add AC_CHECK_PROG calls for NM and AR.
* configure: Regenerate.

From-SVN: r84600
2004-07-12 19:21:30 -07:00
David S. Miller
d7ae4c28e0 sparc.md (ashlsi3): Eliminate const 1 special case.
2004-07-12  David S. Miller  <davem@nuts.davemloft.net>

	* config/sparc/sparc.md (ashlsi3): Eliminate const 1
	special case.
	(ashldi3_sp64): Likewise.

From-SVN: r84599
2004-07-12 18:36:38 -07:00