Commit Graph

59227 Commits

Author SHA1 Message Date
GCC Administrator
b080e5a29e Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r83466.2
2004-06-22 00:16:42 +00:00
John David Anglin
cae80939b6 re PR rtl-optimization/14782 (produces an unaligned data access at -O2)
PR rtl-optimization/14782
	* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
	the address checks for secondary reloads for loads from and stores
	to floating-point registers.
	* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
	in the address check.  Move work around for ELF32 targets to
	GO_IF_LEGITIMATE_ADDRESS.
	(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
	correctly aligned for DImode loads and stores.  Don't allow long
	SFmode displacements on ELF32.

From-SVN: r83464
2004-06-21 23:49:04 +00:00
Richard Henderson
a90fc8e0f3 re PR rtl-optimization/16114 (Hang in cse.c (flush_hash_table))
PR rtl-opt/16114
        * cse.c (merge_equiv_classes): Also rehash in response to
        delete_reg_equiv changes.
        (rehash_using_reg): Don't exclude REGs from rehashing.

From-SVN: r83463
2004-06-21 16:39:26 -07:00
Richard Henderson
5088b05874 c-common.def (RETURN_STMT): Remove.
* c-common.def (RETURN_STMT): Remove.
        * c-common.h (RETURN_STMT_EXPR): Remove.
        (c_expand_return, build_return_stmt): Remove.
        (c_common_stmt_codes): Remove RETURN_STMT.
        * c-dump.c (dump_next_stmt): Remove.
        (c_dump_tree): Remove RETURN_STMT.
        * c-decl.c (finish_function): Use c_finish_return.
        * c-parse.in (stmt): Likewise.
        * c-gimplify.c (gimplify_return_stmt): Remove.
        (c_gimplify_expr): Remove RETURN_STMT.
        * c-pretty-print.c (pp_c_statement): Likewise.
        * c-semantics.c (build_return_stmt): Remove.
        * c-tree.h (c_finish_return): Declare.
        * c-typeck.c (c_finish_return): Rename from c_expand_return.
        Return void.  Build RETURN_EXPR directly.
        * tree-dump.h (dump_next_stmt): Remove.
cp/
        * dump.c (cp_dump_tree): Don't use dump_next_stmt.
        * parser.c (cp_parser_jump_statement): Update commentary.
        * pt.c (tsubst_expr): Use RETURN_EXPR.
        * semantics.c (finish_return_stmt): Likewise.
        (finalize_nrv_r): Likewise.
        * typeck.c, typeck2.c: Update file start commentary.

From-SVN: r83461
2004-06-21 16:30:30 -07:00
Zack Weinberg
0b4da8a182 c-decl.c (start_function): Don't call make_decl_rtl.
* c-decl.c (start_function): Don't call make_decl_rtl.  Don't
	look at TREE_ADDRESSABLE of symbol name.

From-SVN: r83460
2004-06-21 23:04:49 +00:00
Tobias Schlüter
63110e4e74 select_1.f90: Rename function to fix type error.
* gfortran.fortran-torture/execute/select_1.f90: Rename function
to fix type error.
* gfortran.fortran-torture/execute/intrinsic_associated.f90:
Remove trailing spaces.

From-SVN: r83459
2004-06-22 00:56:34 +02:00
Kelley Cook
8e2cd6dda7 re PR target/15551 (-mtune=pentium4 -O2 with sjlj EH breaks stack probe worker on windows32 targets)
2004-06-21  Kelley Cook  <kcook@gcc.gnu.org>

	PR target/15551
	* config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
	(allocate_stack_worker): Make unspec_volatile.
	(allocate_stack_worker_rex64):  Likewise.
	(allocate_stack_worker_postreload):  Likewise.
	(allocate_stack_worker_rex64_postreload):  Likewise.

From-SVN: r83458
2004-06-21 22:52:04 +00:00
R. Kelley Cook
f648d1e451 Fix whitespace from previous checking
From-SVN: r83457
2004-06-21 22:48:39 +00:00
Steven G. Kargl
0bf68c6eab etime.c (etime_sub): Remove array rank check; Add check for sufficient space.
* etime.c (etime_sub): Remove array rank check;
	Add check for sufficient space.

From-SVN: r83456
2004-06-21 22:25:12 +00:00
Tobias Schlüter
fa84120041 re PR fortran/15511 (Warning about truncated lines does not follow the standard gcc error message format)
PR fortran/15511
* scanner.c (load_line): Don't truncate preprocessor lines.
Reformat error message.
(preprocessor_line): Issue warning in case of malformed
preprocessor line.

From-SVN: r83455
2004-06-22 00:22:32 +02:00
Daniel Berlin
6263a8f6a5 New test, extracted from 15982
From-SVN: r83454
2004-06-21 21:59:38 +00:00
Daniel Berlin
56db793abf re PR tree-optimization/15982 (ICE in tree-ssa-pre due to GVN-PRE)
2004-06-21  Daniel Berlin  <dberlin@dberlin.org>

    Fix PR optimization/15982
    * tree-ssa-pre.c: Update a few comments and todos to
    reflect constants change.
    (get_value_handle): Constants now value number to themselves.
    (lookup): Constants lookup to themselves.
    (add_to_value): Adjust to always be on.
    (set_contains_value): Adjust for constants change.
    (find_leader): Ditto.
    (phi_translate): 'r' nodes are never ANTIC right now.
    (valid_in_set): Ditto.
    (get_expr_set): New function.
    (find_or_generate_expression): New function, broken out from
    insert_aux.
    (create_expression_by_pieces): Ditto, plus additional
    machinery to handle complex values.
    (compute_avail): Remove dead RETURN_EXPR handling.

From-SVN: r83453
2004-06-21 21:57:33 +00:00
Steven Bosscher
8bc527afe9 i386.c: Include insn-codes.h
* config/i386/i386.c: Include insn-codes.h
	* config/i386/i386.h (FLAGS_REG, FPSR_REG, DIRFLAG_REG): Don't
	define here.
	* config/i386/i386.md (BP_REG, SP_REG, FLAGS_REG, FPSR_REG,
	DIRFLAG_REG): New define_constants.  Use them everywhere.

From-SVN: r83451
2004-06-21 20:41:39 +00:00
Joern Rennecke
b16c5d49c4 Typo fix.
From-SVN: r83445
2004-06-21 20:11:23 +01:00
Joern Rennecke
da28a3b97d [multiple changes]
2004-06-21  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config/sh/t-linux (MULTILIB_OPTIONS): Remove.

2004-06-21  J"orn Rennecke <joern.rennecke@superh.com>

	* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
	(SUPPORT_SH4_SINGLE): Likewise.
	(TARGET_SWITCHES): Break out switches for cpu subtargets:
	(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
	(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
	(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
	(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
	(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
	(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
	(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
	(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
	(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
	(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
	(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
	(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
	(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
	* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
	(TARGET_DEFAULT): Likewise.
	* config/sh/t-elf: Amend comment.
	* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
	* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
	* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
	* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
	* config/sh/t-mlib-sh4-single: Likewise.
	* config/sh/t-mlib-sh4-single-only: Likewise.
	* config/sh/t-mlib-sh5-32media: Likewise.
	* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
	* config/sh/t-mlib-sh5-64media: Likewise.
	* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
	* config/sh/t-mlib-sh5-compact: Likewise.
	* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
	* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
	(MULTILIB_CPUS): Define.
	(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
	(MULTILIB_MATCHES): Use some shell code to calculate it.
	(MULTILIB_EXCEPTIONS): Change to ml/m1.
	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
	* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
	(LINK_DEFAULT_CPU_EMUL): Don't redefine.
	(NO_PROFILE_COUNTERS): Define to 1.
	* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
	(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
	* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
	(MULTILIB_MATCHES): Don't zap.
	(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
	* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
	(MULTILIB_RAW_DIRNAMES): Define.
	(MULTILIB_DIRNAMES): Use it.
	* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
	(sh*linux configurations): Merge into:
	(sh*elf / sh*kaos configurations).  Support --with-endian, --with-cpu,
	--with-multilib-list options.  Support sh-superh-elf configuration.
	(sh*-netbsd*): Use SELECT_SH* macros.
	(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
	Merge sh*-*-netbsd* configurations into sh-elf configurations.
	* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
	* config/sh/t-monolib: Likewise.

From-SVN: r83444
2004-06-21 19:18:40 +01:00
Tobias Schlüter
f5e440e11d resolve.c (resolve_symbol): Add comment in function body.
* resolve.c (resolve_symbol): Add comment in function body.
(check_data_variable): Change type of mark to ar_type, adapt code
accordingly.

From-SVN: r83443
2004-06-21 19:23:52 +02:00
Tobias Schlüter
da4f9e3b4d array.c (gfc_insert_constructor): Avoid redundant call to mpz_comp.
* array.c (gfc_insert_constructor): Avoid redundant call to
mpz_comp. Add 2004 to copyright years.

From-SVN: r83442
2004-06-21 19:16:25 +02:00
Andrew Haley
979bf9a120 java-gimplify.c (java_gimplify_block): set TREE_USED on the new block.
2004-06-21  Andrew Haley  <aph@redhat.com>

	* java-gimplify.c (java_gimplify_block): set TREE_USED on the new
	block.

From-SVN: r83441
2004-06-21 16:55:07 +00:00
Andrew Haley
deb3d52fec ObjectOutputStream.java: Add DEBUG statements everywhere.
2004-06-21  Andrew Haley  <aph@redhat.com>

	* java/io/ObjectOutputStream.java: Add DEBUG statements
	everywhere.
	(dumpElementln): New method.
	(depth): New field.
	* java/io/ObjectInputStream.java
	(currentClassLoader): Make native.
	(callersClassLoader): New field.
	(depth): New field.
	(readObject): ENDBLOCKDATA is generated if the class has a write
	method, not if it has a read method.
	(readObject): Save and restore this.currentObject and
	this.currentObjectStreamClass around calls to callReadMethod().
	* java/io/natObjectInputStream.cc (getCallersClassLoader): New
	method.

From-SVN: r83440
2004-06-21 16:52:14 +00:00
Matthew Sachs
413ed876c5 Adding self to MAINTAINERS
From-SVN: r83439
2004-06-21 16:47:49 +00:00
Nick Clifton
e7ebc32a80 * encoding.c (BITS_PER_UNIT): Define if a definition is not provided.
From-SVN: r83438
2004-06-21 16:39:21 +00:00
Paul Brook
de6f27a82e arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need not imply FPA.
* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need
	not imply FPA.

From-SVN: r83434
2004-06-21 13:32:09 +00:00
Roger Sayle
54d581a26e fold-const.c (operand_equal_p): Pass flags in recursive calls for binary and relational operations.
* fold-const.c (operand_equal_p): Pass flags in recursive calls for
	binary and relational operations.  Add support for TRUTH_ANDIF_EXPR,
	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR.
	* tree.c (commutative_tree_code): Also list UNORDERED_EXPR,
	ORDERED_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR
	and TRUTH_XOR_EXPR.

From-SVN: r83433
2004-06-21 12:59:58 +00:00
Paolo Bonzini
19aec19565 rtlanal.c (may_trap_p): Mark LTGT as trapping.
2004-06-21  Paolo Bonzini  <bonzini@gnu.org>

	* rtlanal.c (may_trap_p): Mark LTGT as trapping.

From-SVN: r83432
2004-06-21 12:51:37 +00:00
Joseph Myers
b40410b908 tree-alias-common.h (struct tree_alias_ops): Change ip and ip_partial to unsigned int.
* tree-alias-common.h (struct tree_alias_ops): Change ip and
	ip_partial to unsigned int.

fortran:
	* trans.h (stmtblock_t): Change has_scope to unsigned int.

java:
	* jcf.h (struct JCF): Change java_source, right_zip and finished
	to unsigned int.
	* lex.h (struct java_lexer): Change hit_eof, read_anything,
	byte_swap and use_fallback to unsigned int.
	* parse.h (struct _jdep): Change flag0 to unsigned int.

From-SVN: r83430
2004-06-21 13:37:46 +01:00
Richard Henderson
3a5b9284da c-common.c (verify_sequence_points): Export.
* c-common.c (verify_sequence_points): Export.
        (c_expand_expr_stmt): Move to c-typeck.c.
        * c-common.h (c_expand_expr_stmt): Remove.
        (verify_sequence_points): Declare.
        * c-mudflap.c (mflang_flush_calls): Use c_finish_expr_stmt.
        * c-parse.in (for_init_stmt, stmt): Likewise.
        * c-tree.h (c_finish_expr_stmt): Declare.
        (c_tree_expr_nonnegative_p): Remove.
        * c-typeck.c (c_tree_expr_nonnegative_p): Remove.
        (build_conditional_expr, build_binary_op): Use tree_expr_nonnegative_p.
        (emit_side_effect_warnings): New.
        (c_finish_expr_stmt): Rename from c_expand_expr_stmt.  Use it.
        (c_finish_stmt_expr): Work without EXPR_STMT.  Handle eh regions.
        Use emit_side_effect_warnings.
        (push_cleanup): Copy STATEMENT_LIST_STMT_EXPR.
        * fold-const.c (tree_expr_nonnegative_p): Handle TARGET_EXPR.
        * gimplify.c (gimplify_modify_expr): Don't discard TARGET_EXPR
        with void initializer.
        (gimplify_target_expr): Handle void BIND_EXPR initializer.
        * tree-inline.c (estimate_num_insns_1): Fix type lookup for
        INIT_EXPR and MODIFY_EXPR.
        * objc/objc-act.c (build_module_descriptor): Use add_stmt
        instead of c_expand_expr_stmt.
cp/
        * semantics.c (finish_expr_stmt): Call verify_sequence_points.
testsuite/
        * gcc.dg/tree-ssa/20030714-1.c: Rename variables to avoid
        merging && to BIT_FIELD_REF.

From-SVN: r83429
2004-06-21 02:15:29 -07:00
Paolo Bonzini
2c486ea78c fold-const.c (fold_cond_expr_with_comparison): New function, extracted from fold.
2004-06-21  Paolo Bonzini  <bonzini@gnu.org>

	* fold-const.c (fold_cond_expr_with_comparison):
	New function, extracted from fold.
	(fold): Extract code to fold A op B ? A : C, use
	it to fold A op B ? C : A.  Really optimize
	A & N ? N : 0 where N is a power of two.  Avoid
	relying on canonicalization and recursion for
	foldings of COND_EXPR to happen.

From-SVN: r83428
2004-06-21 08:34:12 +00:00
Richard Sandiford
992d907d5c * g++.dg/opt/placeholder1.C: New test.
From-SVN: r83427
2004-06-21 06:32:29 +00:00
David Ayers
5c234cd7f4 objc-act.h (get_object_reference): Rename to get_protocol_reference.
2004-06-20  David Ayers  <d.ayers@inode.at>

	* objc/objc-act.h (get_object_reference): Rename to
	get_protocol_reference.
	(super_type): Rename to objc_super_type.
	(selector_type): Rename to objc_selector_type.
	(id_type): Rename to objc_id_type.
	(instance_type): Rename to objc_instance_type.
	(protocol_type): Rename to objc_protocol_type.
	(IS_ID): Update reference to id_type.
	* objc/objc-act.c (get_object_reference): Rename to
	get_protocol_reference; add documentation; update references to
	id_type.
	(lookup_method_in_protocol_list): Rename class_meth to
	is_class; add documentation.
	(finish_message_expr): Rename is_class to class_tree.
	(synth_module_prologue, objc_is_object_ptr, objc_build_exc_ptr,
	next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
	build_next_objc_exception_stuff, get_arg_type_list,
	build_objc_method_call): Update references to id_type.
	(synth_module_prologue, build_objc_symtab_template,
	build_selector_reference_decl, build_selector,
	build_selector_translation_table, build_typed_selector_reference,
	get_arg_type_list, synth_self_and_ucmd_args, get_arg_type_list,
	synth_self_and_ucmd_args): Update references to selector_type.
	(build_private_template, build_ivar_reference):	Update references
	to instance_type.
	(synth_module_prologue, build_protocol_reference,
	build_protocol_expr, start_protocol): Update references to
	protocol_type.
	(synth_module_prologue, get_arg_type_list, build_objc_method_call):
	Update references to super_type.
	* c-parse.in: (typespec_nonreserved_nonattr): Update
	references to get_object_reference.
	* objc/objc-tree.def: Add C mode identifier sequence.

From-SVN: r83425
2004-06-21 01:50:18 +00:00
GCC Administrator
6687b0fc2a Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r83423.2
2004-06-21 00:16:16 +00:00
GCC Administrator
a763177b7b Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r83422.2
2004-06-21 00:16:11 +00:00
Zdenek Dvorak
5e96277660 loop-invariant.c: New file.
* loop-invariant.c: New file.
	* Makefile.in (loop-invariant.o): New.
	* cfgloop.h (global_cost_for_size, init_set_costs,
	move_loop_invariants): Declare.
	* cfgloopanal.c (seq_cost, init_set_costs, global_cost_for_size): New
	functions.
	(avail_regs, res_regs, small_cost, pres_cost, spill_cost): New
	variables.
	* common.opt (floop-optimize2, fmove-loop-invariants): New options.
	* loop-init.c (loop_optimizer_init): Call init_set_costs.
	* passes.c (rest_of_handle_loop2): Call move_loop_invariants.
	(rest_of_compilation): Check flag_loop_optimize2.
	* toplev.c (process_options): Handle flag_loop_optimize2.
	* doc/invoke.texi (-floop-optimize2, -fmove-loop-invariants): Document.
	* doc/passes.texi (loop-invariant.c): Document.

From-SVN: r83419
2004-06-20 21:31:32 +00:00
Zdenek Dvorak
2e24fa83ab * tree-ssa-pre.c (compute_antic): Keep BB_VISITED flag zeroed.
From-SVN: r83418
2004-06-20 21:12:55 +00:00
Steven G. Kargl
160874e4cd arith.c (gfc_range_check): correct complex underflow.
2004-06-20  Steven G. Kargl  <kargls@comcast.net>

* arith.c (gfc_range_check): correct complex underflow.

From-SVN: r83417
2004-06-20 20:34:25 +02:00
Richard Henderson
b9861bff6c stmt.c (warn_if_unused_value): Add locus argument.
* stmt.c (warn_if_unused_value): Add locus argument.
        * tree.h (warn_if_unused_value): Update decl.
        * c-typeck.c (internal_build_compound_expr): Update call.
        * c-gimplify.c (gimplify_expr_stmt): Likewise.

From-SVN: r83416
2004-06-20 10:16:27 -07:00
Andrew Pinski
9127884102 re PR middle-end/16089 (unwind-dw2.c:1311: error: insn outside basic block)
2004-06-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/16089
        * builtins.c (entry_of_function): Move to ...
        * cfgrtl.c (entry_of_function): Here and make non-static.
        * integrate.c (emit_initial_value_sets): Use entry_of_function.
        * rtl.h (entry_of_function): Prototype.

From-SVN: r83415
2004-06-20 10:03:04 -07:00
Roger Sayle
e0c003921f i386.c (pentium4_cost): Increase "lea" cost from 1 to 3.
* config/i386/i386.c (pentium4_cost): Increase "lea" cost from 1 to 3.
	(ix86_rtx_costs) <ASHIFT, PLUS>: Consider ix86_cost->lea even when
	TARGET_DECOMPOSE_LEA.

From-SVN: r83413
2004-06-20 15:10:34 +00:00
Eric Botcazou
ce70456bd6 struct-complex-1_x.c: Add dummy symbol.
* gcc.dg/compat/struct-complex-1_x.c: Add dummy symbol.
	* gcc.dg/compat/struct-complex-1_y.c: Likewise.
	* gcc.dg/compat/union-m128-1_x.c: Likewise.
	* gcc.dg/compat/union-m128-1_y.c: Likewise.

From-SVN: r83411
2004-06-20 12:46:33 +00:00
Richard Kenner
c0e3aa48e5 decl.c (elaborate_expression, [...]): Arguments now bool instead of int.
* decl.c (elaborate_expression, elaborate_expression_1): Arguments
	now bool instead of int.
	(gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
	* trans.c (gnu_switch_label_stack): New function.
	(gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
	elaboration of renamed entity returns.
	(gnat_to_gnu, case N_Case_Statement): Add branches to end label.
	(add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
	(gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
	(gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
	DECL_SIZE_UNIT and simplify variable-sized case.
	(gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
	Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
	(gnat_stabilize_reference): Add arg to COMPONENT_REF.
	(build_unit_elab): Disable for now.
	* utils.c (mark_visited): New function.
	(pushdecl): Walk tree to call it for global decl.
	(update_pointer_to): Update all variants of pointer and ref types.
	Add arg to COMPONENT_REF.
	(convert): Likewise.
	Move check for converting between variants lower down.
	* utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
	(build_allocator): Don't force type of MODIFY_EXPR.
	(gnat_mark_addressable, case VAR_DECL): Unconditionally call
	put_var_into_stack.

From-SVN: r83410
2004-06-20 07:19:47 -04:00
Richard Henderson
543a0daa84 c-common.h (add_decl_stmt): Move to cp-tree.h.
* c-common.h (add_decl_stmt): Move to cp-tree.h.
        * c-decl.c (finish_decl): Don't use add_decl_stmt.
        * c-parse.in: Likewise.
        * c-gimplify.c (gimplify_expr_stmt): Don't build CLEANUP_POINT_EXPR.
        (gimplify_c_loop, gimplify_return_stmt, gimplify_decl_stmt): Likewise.
        * c-semantics.c (add_decl_stmt): Move to cp/semantics.c.
cp/
        * cp-tree.h (add_decl_stmt): Declare.
        * pt.c (tsubst_copy): Abort for CLEANUP_POINT_EXPR.
        * semantics.c (maybe_cleanup_point_expr): New.
        (add_decl_stmt, finish_expr_stmt, finish_return_stmt,
        finish_for_expr, finish_switch_cond): Use it.
        (finalize_nrv_r): Don't build an EXPR_STMT.  Don't frob TREE_CHAIN.

From-SVN: r83409
2004-06-20 03:10:02 -07:00
Paolo Carlini
aa33d72501 3.cc: New.
2004-06-20  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/ignore/char/3.cc: New.

From-SVN: r83408
2004-06-20 09:42:39 +00:00
Richard Henderson
5a5086621e c-common.def (IF_STMT, [...]): Move to cp-tree.def.
* c-common.def (IF_STMT, CLEANUP_STMT): Move to cp-tree.def.
        * c-common.h (IF_COND, THEN_CLAUSE, ELSE_CLAUSE, CLEANUP_BODY,
        CLEANUP_EXPR, CLEANUP_DECL): Move to cp-tree.h.
        (c_common_stmt_codes): Remove IF_STMT, CLEANUP_STMT.
        * c-dump.c (c_dump_tree): Move IF_STMT, CLEANUP_STMT to cp_dump_tree.
        * c-pretty-print.c (pp_c_statement): Similarly.
        * c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts,
        gimplify_if_stmt): Move to cp-gimplify.c.
        (c_genericize, c_gimplify_expr): Don't call them.
        * c-semantics.c (push_cleanup): Move to cp/semantics.c.
        * c-typeck.c (push_cleanup): New.
        (c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_finish_else,
        c_finish_if_stmt): Use COND_EXPR.
        * tree.h (CLEANUP_EH_ONLY): Update documentation.
cp/
        * cp-tree.def (CLEANUP_STMT, IF_STMT): Move from c-common.def.
        * cp-gimplify.c (gimplify_if_stmt): Move from c-gimplify.c.
        (cp_gimplify_expr): Call it.
        (gimplify_cleanup_stmt): Move from c-gimplify.c.
        (cp_genericize): New.
        * decl.c (finish_function): Call it.
        * cp-tree.h (cp_stmt_codes): Add CLEANUP_STMT, IF_STMT.
        (CLEANUP_BODY, CLEANUP_EXPR, CLEANUP_DECL): Move from c-common.h.
        (IF_COND, THEN_CLAUSE, ELSE_CLAUSE): Likewise.
        (cp_genericize): Declare.
        * cxx-pretty-print.c (pp_cxx_statement): Add CLEANUP_STMT, IF_STMT.
        * dump.c (cp_dump_tree): Likewise.
        * semantics.c (push_cleanup): Move from c-semantics.c.

From-SVN: r83407
2004-06-20 02:18:13 -07:00
Andreas Tobler
500e12641f Makefile.am: Add rule for .S files to fix bootstrap on solaris and alpha.
2004-06-20  Andreas Tobler  <a.tobler@schweiz.ch>

	* Makefile.am: Add rule for .S files to fix bootstrap on
	solaris and alpha.
	* Makefile.in: Regenerate.

From-SVN: r83406
2004-06-20 11:14:17 +02:00
Zack Weinberg
84b8b0e04d c-common.h (has_c_linkage): New interface.
* c-common.h (has_c_linkage): New interface.
	* c-cppbuiltin.c: Include target.h.
	(c_cpp_builtins): Define __PRAGMA_REDEFINE_EXTNAME and
	__PRAGMA_EXTERN_PREFIX when appropriate.
	* c-pragma.c: Include target.h.
	Document clarified semantics of symbol-renaming #pragmas.
	(handle_pragma_redefine_extname, handle_pragma_extern_prefix)
	(maybe_apply_renaming_pragma): Rewrite according to clarified
	semantics.  Always recognize, but do not necessarily execute.
	(init_pragma): Unconditionally register symbol-renaming pragmas.
	* system.h: Poison HANDLE_PRAGMA_REDEFINE_EXTNAME
	and HANDLE_PRAGMA_EXTERN_PREFIX.
	* target.h (struct gcc_target): Add handle_pragma_redefine_extname
	and handle_pragma_extern_prefix flags.
	* target-def.h: Add defaults for TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME
	and TARGET_HANDLE_PRAGMA_EXTERN_PREFIX.
	* Makefile.in (c-pragma.o, c-cppbuiltin.o): Update dependencies.
	* config/sol2.h: Define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME,
	not HANDLE_PRAGMA_REDEFINE_EXTNAME.
	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_REDEFINE_EXTNAME.
	(TRANSFER_FROM_TRAMPOLINE): Prototype mprotect.
	* config/alpha/osf.h: Define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX,
	not HANDLE_PRAGMA_EXTERN_PREFIX.
	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_EXTERN_PREFIX.
	* doc/extend.texi (Solaris Pragmas, Tru64 Pragmas): Combine
	into one section "Symbol-Renaming Pragmas"; clarify; document
	adjusted semantics.

	* builtins.c (expand_builtin): Do not issue error for a builtin
	with no special case code and no DECL_ASSEMBLER_NAME; just do the
	library call.
	* c-decl.c (builtin_function): Don't call make_decl_rtl.
	* c-objc-common.c (has_c_linkage): Stub implementation.
	* cgraphunit.c (cgraph_expand_function)
	(cgraph_remove_unreachable_nodes): Don't clear DECL_ARGUMENTS.

cp:
	* cp-lang.c (has_c_linkage): Implement.

	* cp-tree.h (set_mangled_name_for_decl): Don't prototype.
	* decl.c (duplicate_decls): Use COPY_DECL_RTL.
	(builtin_function_1): Don't call make_decl_rtl.
	(build_cp_library_fn): Don't call set_mangled_name_for_decl.
	(grokvardecl): Don't call mangle_decl.
	* except.c (nothrow_libfn_p): Look at DECL_NAME, not
	DECL_ASSEMBLER_NAME.
	* method.c (set_mangled_name_for_decl): Delete.
	* name-lookup.c (pushdecl): When a local extern shadows a
	file-scope declaration of the same object, give both DECLs the
	same DECL_UID.
	* typeck.c (cxx_mark_addressable): Don't set TREE_ADDRESSABLE
	on DECL_ASSEMBLER_NAME.

testsuite:
	* g++.dg/expr/enum1.C, g++.dg/opt/const3.C: Declare abort with
	extern "C".
	* g++.dg/other/pragma-re-1.C: Add comments.

From-SVN: r83405
2004-06-20 08:34:54 +00:00
Roger Sayle
14f661f16c builtins.c (fold_builtin_unordered_cmp): Take an EXP argument instead of both an ARGLIST and a result TYPE.
* builtins.c (fold_builtin_unordered_cmp): Take an EXP argument
	instead of both an ARGLIST and a result TYPE.  Handle these C99
	comparison functions as "polymorphic" builtins.  Also handle
	lowering of BUILT_IN_ISUNORDERED to an UNORDERED_EXPR tree node.
	(fold_builtin_1): Update calls to fold_builtin_unordered_cmp.
	Move handling of BUILT_IN_ISUNORDERED from here to there.

From-SVN: r83404
2004-06-20 03:56:05 +00:00
GCC Administrator
2ec5cdadd4 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r83402.2
2004-06-20 00:16:17 +00:00
GCC Administrator
c4b3484922 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r83401.2
2004-06-20 00:16:13 +00:00
Alexander Malmberg
5520b936c8 Tidied up/fixed compilation of exception.c
From-SVN: r83399
2004-06-19 23:46:27 +00:00
Richard Henderson
7c34ced1a2 c-common.c, c-common.h (lang_gimplify_stmt): Remove.
* c-common.c, c-common.h (lang_gimplify_stmt): Remove.
        * c-gimplify.c: Remove unnecessary prototypes.
        (c_gimplify_stmt): Merge into ...
        (c_gimplify_expr): ... here.  Don't play with prep_stmt.
        * c-semantics.c (prep_stmt): Remove.
        * gimplify.c (annotate_one_with_locus): Break out from ...
        (annotate_all_with_locus): ... here.
        (gimplify_expr): Add locus to expressions even if pre/post queues
        are not present.
cp/
        * cp-gimplify.c: Remove unnecessary prototypes.
        (cp_gimplify_stmt): Merge into ...
        (cp_gimplify_expr): ... here.  Move to end of file.  Handle
        stmts_are_full_exprs_p frobbing.
        * cp-tree.h (cp_gimplify_stmt): Remove.
        * pt.c (tsubst_expr): Merge prep_stmt and unify.
        * tree.c (init_tree): Don't set lang_gimplify_stmt.

From-SVN: r83397
2004-06-19 12:34:23 -07:00
Richard Henderson
ebca59c355 re PR target/15941 (new fails gcc.dg/compat/struct-by-value-11 and gcc.dg/compat/struct-by-value-1)
PR target/15941
	* function.c (assign_parms): If not padding upward or intentionally
	forcing upward padding, take offset_rtx into account when determining
	the alignment for stack_parm.

From-SVN: r83396
2004-06-19 19:24:56 +00:00