re PR middle-end/16089 (unwind-dw2.c:1311: error: insn outside basic block)
[platform/upstream/gcc.git] / gcc / ChangeLog
index 22d6a04..744f396 100644 (file)
@@ -1,3 +1,114 @@
+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.
+
+2004-06-20  Roger Sayle  <roger@eyesopen.com>
+
+       * 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.
+
+2004-06-20  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+2004-06-20  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+2004-06-20  Zack Weinberg  <zack@codesourcery.com>
+
+       * 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.
+
+2004-06-19  Roger Sayle  <roger@eyesopen.com>
+
+       * 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.
+
+2004-06-19  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+2004-06-19  Richard Henderson  <rth@redhat.com>
+
+       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.
+
+2004-06-19  Richard Henderson  <rth@redhat.com>
+
+       PR target/15550
+       * ifcvt.c (noce_try_move): Recognize all generated instructions.
+
 2004-06-19  Jan Hubicka  <jh@suse.cz>
 
        * function.c (free_after_compilation): Do not free computed_goto_common*.
 
 2004-06-18  Richard Henderson  <rth@redhat.com>
 
-       PR c++/16036 
+       PR c++/16036
        * gimple-low.c (lower_function_body): Generate return statement for
        fall off the end of the function here ...
        * tree-cfg.c (make_edges): ... instead of here.
        UTAG_RETHROWEXC_VAR, UTAG_EVALONCE_VAR, struct val_stack,
        catch_count_stack, exc_binding_stack, if_nesting_count,
        blk_nesting_count, objc_enter_block, objc_exit_block,
-       objc_declare_variable, val_stack_push, val_stack_pop, 
+       objc_declare_variable, val_stack_push, val_stack_pop,
        objc_build_try_enter_fragment, objc_build_extract_expr,
        objc_build_try_exit_fragment, objc_build_extract_fragment,
-       objc_build_try_prologue, objc_build_try_epilogue, 
+       objc_build_try_prologue, objc_build_try_epilogue,
        objc_build_catch_stmt, objc_build_catch_epilogue,
        objc_build_finally_prologue, objc_build_finally_epilogue,
        objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
        * tree-ssa-operands.h (struct def_optype_d):  Change underlying type.
        (struct use_optype_d):  Change underlying type.
        (def_operand_p, use_operand_p):  New types for pointers to operands.
-       (USE_OP, DEF_OP, V_MAY_DEF_RESULT, V_MAY_DEF_OP, VUSE_OP, 
+       (USE_OP, DEF_OP, V_MAY_DEF_RESULT, V_MAY_DEF_OP, VUSE_OP,
        V_MUST_DEF_OP):  Use new pointer type instead of dereferencing directly.
-       (USE_FROM_PTR, DEF_FROM_PTR):  New macros to "dereference" operand 
+       (USE_FROM_PTR, DEF_FROM_PTR):  New macros to "dereference" operand
        pointer types.
        (SET_USE, SET_DEF):  New macros to set operands from their pointer.
        (SET_USE_OP, SET_DEF_OP, SET_V_MAY_DEF_RESULT, SET_V_MAY_DEF_OP,
        * tree.h (duplicate_ssa_name): Declare.
 
 2004-06-17  David Ayers  <d.ayers@inode.at>
+
        * c-parse.in: Unify Objective-C token names.
 
 2004-06-17  Zack Weinberg  <zack@codesourcery.com>