1. 21 Jun, 2004 29 commits
    • re PR rtl-optimization/16114 (Hang in cse.c (flush_hash_table)) · a90fc8e0
              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
      Richard Henderson committed
    • c-common.def (RETURN_STMT): Remove. · 5088b058
              * 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
      Richard Henderson committed
    • c-decl.c (start_function): Don't call make_decl_rtl. · 0b4da8a1
      	* c-decl.c (start_function): Don't call make_decl_rtl.  Don't
      	look at TREE_ADDRESSABLE of symbol name.
      
      From-SVN: r83460
      Zack Weinberg committed
    • select_1.f90: Rename function to fix type error. · 63110e4e
      * 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
      Tobias Schlüter committed
    • re PR target/15551 (-mtune=pentium4 -O2 with sjlj EH breaks stack probe worker… · 8e2cd6dd
      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
      Kelley Cook committed
    • Fix whitespace from previous checking · f648d1e4
      From-SVN: r83457
      R. Kelley Cook committed
    • etime.c (etime_sub): Remove array rank check; Add check for sufficient space. · 0bf68c6e
      	* etime.c (etime_sub): Remove array rank check;
      	Add check for sufficient space.
      
      From-SVN: r83456
      Steven G. Kargl committed
    • re PR fortran/15511 (Warning about truncated lines does not follow the standard… · fa841200
      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
      Tobias Schlüter committed
    • New test, extracted from 15982 · 6263a8f6
      From-SVN: r83454
      Daniel Berlin committed
    • re PR tree-optimization/15982 (ICE in tree-ssa-pre due to GVN-PRE) · 56db793a
      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
      Daniel Berlin committed
    • i386.c: Include insn-codes.h · 8bc527af
      	* 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
      Steven Bosscher committed
    • Typo fix. · b16c5d49
      From-SVN: r83445
      Joern Rennecke committed
    • [multiple changes] · da28a3b9
      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
      Joern Rennecke committed
    • resolve.c (resolve_symbol): Add comment in function body. · f5e440e1
      * 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
      Tobias Schlüter committed
    • array.c (gfc_insert_constructor): Avoid redundant call to mpz_comp. · da4f9e3b
      * array.c (gfc_insert_constructor): Avoid redundant call to
      mpz_comp. Add 2004 to copyright years.
      
      From-SVN: r83442
      Tobias Schlüter committed
    • java-gimplify.c (java_gimplify_block): set TREE_USED on the new block. · 979bf9a1
      2004-06-21  Andrew Haley  <aph@redhat.com>
      
      	* java-gimplify.c (java_gimplify_block): set TREE_USED on the new
      	block.
      
      From-SVN: r83441
      Andrew Haley committed
    • ObjectOutputStream.java: Add DEBUG statements everywhere. · deb3d52f
      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
      Andrew Haley committed
    • Adding self to MAINTAINERS · 413ed876
      From-SVN: r83439
      Matthew Sachs committed
    • arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need not imply FPA. · de6f27a8
      	* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need
      	not imply FPA.
      
      From-SVN: r83434
      Paul Brook committed
    • fold-const.c (operand_equal_p): Pass flags in recursive calls for binary and relational operations. · 54d581a2
      
      	* 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
      Roger Sayle committed
    • rtlanal.c (may_trap_p): Mark LTGT as trapping. · 19aec195
      2004-06-21  Paolo Bonzini  <bonzini@gnu.org>
      
      	* rtlanal.c (may_trap_p): Mark LTGT as trapping.
      
      From-SVN: r83432
      Paolo Bonzini committed
    • tree-alias-common.h (struct tree_alias_ops): Change ip and ip_partial to unsigned int. · b40410b9
      	* 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
      Joseph Myers committed
    • c-common.c (verify_sequence_points): Export. · 3a5b9284
              * 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
      Richard Henderson committed
    • fold-const.c (fold_cond_expr_with_comparison): New function, extracted from fold. · 2c486ea7
      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
      Paolo Bonzini committed
    • * g++.dg/opt/placeholder1.C: New test. · 992d907d
      From-SVN: r83427
      Richard Sandiford committed
    • objc-act.h (get_object_reference): Rename to get_protocol_reference. · 5c234cd7
      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
      David Ayers committed
    • Daily bump. · 6687b0fc
      [[Split portion of a mixed commit.]]
      
      From-SVN: r83423.2
      GCC Administrator committed
    • Daily bump. · a763177b
      [[Split portion of a mixed commit.]]
      
      From-SVN: r83422.2
      GCC Administrator committed
  2. 20 Jun, 2004 11 commits
    • loop-invariant.c: New file. · 5e962776
      	* 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
      Zdenek Dvorak committed
    • arith.c (gfc_range_check): correct complex underflow. · 160874e4
      2004-06-20  Steven G. Kargl  <kargls@comcast.net>
      
      * arith.c (gfc_range_check): correct complex underflow.
      
      From-SVN: r83417
      Steven G. Kargl committed
    • stmt.c (warn_if_unused_value): Add locus argument. · b9861bff
              * 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
      Richard Henderson committed
    • re PR middle-end/16089 (unwind-dw2.c:1311: error: insn outside basic block) · 91278841
      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
      Andrew Pinski committed
    • i386.c (pentium4_cost): Increase "lea" cost from 1 to 3. · e0c00392
      
      	* 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
      Roger Sayle committed
    • struct-complex-1_x.c: Add dummy symbol. · ce70456b
      	* 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
      Eric Botcazou committed
    • decl.c (elaborate_expression, [...]): Arguments now bool instead of int. · c0e3aa48
      	* 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
      Richard Kenner committed
    • c-common.h (add_decl_stmt): Move to cp-tree.h. · 543a0daa
              * 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
      Richard Henderson committed
    • 3.cc: New. · aa33d725
      2004-06-20  Paolo Carlini  <pcarlini@suse.de>
      
      	* testsuite/27_io/basic_istream/ignore/char/3.cc: New.
      
      From-SVN: r83408
      Paolo Carlini committed
    • c-common.def (IF_STMT, [...]): Move to cp-tree.def. · 5a508662
              * 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
      Richard Henderson committed