1. 21 Jun, 2004 11 commits
    • 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 16 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
    • Makefile.am: Add rule for .S files to fix bootstrap on solaris and alpha. · 500e1264
      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
      Andreas Tobler committed
    • c-common.h (has_c_linkage): New interface. · 84b8b0e0
      	* 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
      Zack Weinberg committed
    • builtins.c (fold_builtin_unordered_cmp): Take an EXP argument instead of both an… · 14f661f1
      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
      Roger Sayle committed
    • Daily bump. · 2ec5cdad
      [[Split portion of a mixed commit.]]
      
      From-SVN: r83402.2
      GCC Administrator committed
    • Daily bump. · c4b34849
      [[Split portion of a mixed commit.]]
      
      From-SVN: r83401.2
      GCC Administrator committed
  3. 19 Jun, 2004 13 commits