OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago* config/h8300/h8300.c (h8300_init_once): Default to
dj [Tue, 13 Jul 2010 19:43:30 +0000 (19:43 +0000)]
* config/h8300/h8300.c (h8300_init_once): Default to
-fstrict_volatile_bitfields.

* config/sh/sh.c (sh_override_options): Default to
-fstrict_volatile_bitfields.

* config/rx/rx.c (rx_option_override): New.

* config/m32c/m32c.c (m32c_override_options): Default to
-fstrict_volatile_bitfields.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162149 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
froydnj [Tue, 13 Jul 2010 18:46:25 +0000 (18:46 +0000)]
gcc/
* tree.h (build_function_call_expr): Delete.
(build_call_expr_loc_array): New function.
(build_call_expr_loc_vec): New function.
* tree-flow.h (struct omp_region): Change type of ws_args field
to a VEC.
* builtins.c (build_function_call_expr): Delete.
(build_call_expr_loc_array): New function.
(build_call_expr_loc): Call it.  Use XALLOCAVEC.
(build_call_expr): Likewise.
(build_call_expr_loc_vec): New function.
* cgraphunit.c (build_cdtor): Call build_call_expr instead of
build_function_call_expr.
* expr.c (emutls_var_address): Likewise.
* varasm.c (emutls_common_1): Likewise.
* omp-low.c (expand_omp_atomic_mutex): Likewise.
(expand_omp_taskreg): Adjust for new type of region->ws_args.
(get_ws_args_for): Return a VEC instead of a tree.
(expand_parallel_call): Call build_call_expr_loc_vec instead of
build_function_call_expr.
* stor-layout.c (self_referential_size): Likewise.

gcc/fortran/
* trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
instead of build_function_call_expr.
* trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162148 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-13 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 13 Jul 2010 17:26:02 +0000 (17:26 +0000)]
2010-07-13  Tobias Burnus  <burnus@net-b.de>
            Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/43665
        * trans.h (gfc_build_library_function_decl_with_spec): New
        prototype.
        * trans-decl.c (gfc_build_library_function_decl_with_spec):
        Removed static.
        * trans-io (gfc_build_io_library_fndecls): Add "fn spec"
        annotations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162147 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-13 Laurent GUERBY <laurent@guerby.net>
guerby [Tue, 13 Jul 2010 15:59:20 +0000 (15:59 +0000)]
2010-07-13  Laurent GUERBY  <laurent@guerby.net>

        PR bootstrap/44458
        * gcc-interface/targtyps.c: Include tm_p.h.
        * gcc-interface/Make-lang.in: Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162146 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR objc/44488
iains [Tue, 13 Jul 2010 15:20:21 +0000 (15:20 +0000)]
PR objc/44488
* lib/objc-torture.exp (objc-set-runtime-options): Base runtime list
on the target.  Make sure that we can assemble the emitted asm when
the test type is 'compile'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162144 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR testsuite/44701
jakub [Tue, 13 Jul 2010 14:03:49 +0000 (14:03 +0000)]
PR testsuite/44701
* recog.c (constrain_operands): Allow side-effects in memory
operands if either < or > constraint is used, rather than if
both < and > is used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162142 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Jul 2010 13:31:26 +0000 (13:31 +0000)]
2010-07-13  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/36960
* g++.dg/torture/pr36960.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162141 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-13 Daniel Franke <franke.daniel@gmail.com>
burnus [Tue, 13 Jul 2010 13:20:52 +0000 (13:20 +0000)]
2010-07-13  Daniel Franke  <franke.daniel@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/43665
        * trans-decl.c (gfc_build_intrinsic_function_decls): Add
        noclobber/noescape annotations to function calls.
        (gfc_build_builtin_function_decls): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162140 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agocp/
paolo [Tue, 13 Jul 2010 11:47:58 +0000 (11:47 +0000)]
cp/
2010-07-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44908
* call.c (convert_like_real): Adjust convert_ptrmem call, pass
complain argument.
* typeck.c (get_delta_difference): Update prototype, add a
tsubst_flags_t parameter; update get_delta_difference_1 calls and
add checks for error_mark_node.
(get_delta_difference_1): Update prototype, add a tsubst_flags_t
parameter; update lookup_base call.
(build_ptrmemfunc): Update prototype, add a tsubst_flags_t
parameter; update get_delta_difference call and add check for
error_mark_node.
(convert_ptrmem): Update prototype, add a tsubst_flags_t
parameter; update get_delta_difference call and add check for
error_mark_node;  update build_ptrmemfunc call.
(build_static_cast_1): Adjust convert_ptrmem call.
(expand_ptrmemfunc_cst): Adjust get_delta_difference call.
(cp_build_unary_op): Adjust build_ptrmemfunc call.
* cvt.c (cp_convert_to_pointer, convert_force): Adjust convert_ptrmem
and build_ptrmemfunc calls.
* cp-tree.h: Update build_ptrmemfunc and convert_ptrmem prototypes.

testsuite/
2010-07-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44908
* g++.dg/template/sfinae21.C: New.
* g++.dg/template/sfinae22.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162138 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-13 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 13 Jul 2010 11:18:50 +0000 (11:18 +0000)]
2010-07-13  Richard Guenther  <rguenther@suse.de>

PR middle-end/44911
* tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
MEM_REF pointer type dumping.  Avoid recursing for TYPE_DECLs
without name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162137 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.c-torture/execute/pr44683.x: New.
kkojima [Tue, 13 Jul 2010 10:43:52 +0000 (10:43 +0000)]
* gcc.c-torture/execute/pr44683.x: New.
* gcc.dg/torture/builtin-cproj-1.c: Add dg-add-options ieee.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162136 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/44761
kkojima [Tue, 13 Jul 2010 10:41:15 +0000 (10:41 +0000)]
PR target/44761
* mode-switching.c (optimize_mode_switching): Add ATTRIBUTE_UNUSED
to variable emited.
* config/sh/sh.c (sh_expand_epilogue): Remove unused variable.
* config/sh/sh.md (symGOT_load): Likewise.
(symDTPOFF2reg): Likewise.
(symTPOFF2reg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162135 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
ramana [Tue, 13 Jul 2010 09:48:58 +0000 (09:48 +0000)]
2010-07-13  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
* expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162133 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
ro [Tue, 13 Jul 2010 09:10:09 +0000 (09:10 +0000)]
* config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
explanation.
Find ucontext_t * on Solaris 11.
(x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
Handle new Solaris 11 __sighndlr patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162129 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR debug/44901
jakub [Tue, 13 Jul 2010 06:59:56 +0000 (06:59 +0000)]
PR debug/44901
* vec.h (VEC_block_remove): Fix comment.
* tree-ssa-live.c (remove_unused_locals): Don't use
VEC_unordered_remove on local_decls, instead replace a single
vector element in each iteration if at least one element had
to be removed and VEC_truncate at the end.
* omp-low.c (expand_omp_taskreg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162126 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-13 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 13 Jul 2010 06:57:17 +0000 (06:57 +0000)]
2010-07-13  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44434
PR fortran/44565
PR fortran/43945
PR fortran/44869
* gfortran.h (gfc_find_derived_vtab): Modified prototype.
* class.c (gfc_build_class_symbol): Modified call to
'gfc_find_derived_vtab'.
(add_proc_component): Removed, moved code into 'add_proc_comp'.
(add_proc_comps): Renamed to 'add_proc_comp', removed treatment of
generics.
(add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'.
Removed treatment of generics.
(copy_vtab_proc_comps): Removed unnecessary argument 'resolved'.
Call 'add_proc_comp' instead of duplicating code.
(add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved'
and 'declared'.
(add_generic_specifics,add_generics_to_declared_vtab): Removed.
(gfc_find_derived_vtab): Removed unnecessary argument 'resolved'.
Removed treatment of generics.
* iresolve.c (gfc_resolve_extends_type_of): Modified call to
'gfc_find_derived_vtab'.
* resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
Removed treatment of generics.
(resolve_select_type,resolve_fl_derived): Modified call to
'gfc_find_derived_vtab'.
* trans-decl.c (gfc_get_symbol_decl): Ditto.
* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
Ditto.
* trans-stmt.c (gfc_trans_allocate): Ditto.

2010-07-13  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44434
PR fortran/44565
PR fortran/43945
PR fortran/44869
* gfortran.dg/dynamic_dispatch_1.f03: Fixed invalid test case.
* gfortran.dg/dynamic_dispatch_2.f03: Ditto.
* gfortran.dg/dynamic_dispatch_3.f03: Ditto.
* gfortran.dh/typebound_call_16.f03: New.
* gfortran.dg/typebound_generic_6.f03: New.
* gfortran.dg/typebound_generic_7.f03: New.
* gfortran.dg/typebound_generic_8.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162125 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 13 Jul 2010 02:16:29 +0000 (02:16 +0000)]
2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/37077
* gfortran.dg/char4_iunit_1.f03: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162124 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 13 Jul 2010 02:12:08 +0000 (02:12 +0000)]
2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/37077
* io/read.c: Fix comment.
* io/io.h (is_char4_unit): New macro.
* io/unit.c (get_internal_unit): Call new function open_internal4.
* io/unix.c (mem_alloc_r4): New function. (mem_alloc_w4): New function.
(mem_read4): New function, temporary stub. (mem_write4): New function.
(open_internal4): New function to set stream pointers to use the new
mem functions.
* io/transfer.c (write_block): Use new mem_alloc_w4 to access internal
units of kind=4.
* io/unix.h: Add prototypes for open_internal4, mem_alloc_w4, and
mem_alloc_r4.
* io/write.c (memset4): New helper function. (memcpy4): New helper
function. (write_default_char4): Use new helper functions.
(write_a): Likewise. (write_l): Likewise. (write_boz): Likewise.
(write_decimal): Likewise. (write_x): Likewise.
(write_integer): Likewise.
* io/write_float.def (output_float): Add code blocks to handle internal
unit kind=4 output utilizing gfc_char4_t pointers. (write_infnan): Use
new helper functions. (OUTPUT_FLOAT_FMT_G): Update this macro likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162123 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 13 Jul 2010 02:07:48 +0000 (02:07 +0000)]
2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/37077
* trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
internal unit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162122 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Tue, 13 Jul 2010 01:40:22 +0000 (01:40 +0000)]
2010-07-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-decl.c (finish_function): Fix typo in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162121 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoSilence gcc warning on min_regno.
hjl [Tue, 13 Jul 2010 00:51:43 +0000 (00:51 +0000)]
Silence gcc warning on min_regno.

2010-07-12  H.J. Lu  <hongjiu.lu@intel.com>

PR bootstrap/44921
* postreload.c (move2add_use_add3_insn): Silence gcc warning
on min_regno.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162120 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Tue, 13 Jul 2010 00:17:03 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162119 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-vrp.c (simplify_bit_ops_using_ranges): New function.
jakub [Mon, 12 Jul 2010 22:11:27 +0000 (22:11 +0000)]
* tree-vrp.c (simplify_bit_ops_using_ranges): New function.
(simplify_stmt_using_ranges): Use it.

* gcc.dg/tree-ssa/vrp53.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162115 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
uweigand [Mon, 12 Jul 2010 21:06:06 +0000 (21:06 +0000)]
* config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
member.  Do not mark as GTY(()).
* config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
(spu_builtin_decls): New static variable.
(spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
(spu_init_builtins): Likewise.
(spu_builtin_mul_widen_even): Likewise.
(spu_builtin_mul_widen_odd): Likewise.
(spu_builtin_mask_for_load): Likewise.
(spu_builtin_vec_perm): Likewise.
* config/spu/spu-c.c: Include "target.h".
(spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
of using spu_builtins[].fndecl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162114 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
paolo [Mon, 12 Jul 2010 19:59:31 +0000 (19:59 +0000)]
/cp
2010-07-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44907
* call.c (build_temp): Add tsubst_flags_t complain parameter;
adjust build_special_member_call call, pass complain.
(convert_like_real): Adjust build_temp call, pass complain.

/testsuite
2010-07-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44907
* g++.dg/template/sfinae19.C: New.
* g++.dg/template/sfinae20.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162113 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:09:35 +0000 (19:09 +0000)]
gcc/
* config/mips/mips.c (mips_override_options): Make -mflip-mips16
imply -minterlink-mips16.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162112 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:04:36 +0000 (19:04 +0000)]
gcc/
* config/mips/mips.h (mips16_globals): Declare.
(SWITCHABLE_TARGET): Define.
* config/mips/mips.c: Include target-globals.h.
(mips16_globals): New variable.
(mips_set_mips16_mode): Use save_target_globals and
restore_target_globals instead of target_reinit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162111 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:04:21 +0000 (19:04 +0000)]
gcc/
* reginfo.c (init_reg_sets): Don't zero globals here.  Update comment
to say that the function can be called more than once.
* target-globals.c (save_target_globals): Call init_reg_sets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162110 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:04:11 +0000 (19:04 +0000)]
gcc/
* Makefile.in (bb-reorder.o, target-globals.o): Depend on bb-reorder.h
* bb-reorder.h: New file.
* bb-reorder.c (default_target_bb_reorder): New variable.
(this_target_bb_reorder): New conditional variable.
(uncond_jump_length): Redefine as a macro.
* target-globals.h (this_target_bb_reorder): Declare.
(target_globals): Add a bb_reorder field.
(restore_target_globals): Copy the bb_reorder field to
this_target_bb-reorder.
* target-globals.c: Include bb-reorder.h.
(default_target_globals): Initialize the bb_reorder field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162109 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:04:03 +0000 (19:04 +0000)]
gcc/
* Makefile.in (gcse.o, target-globals.o): Depend on gcse.h..
* gcse.h: New file.
* gcse.c: Include gcse.h.
(default_target_gcse): New variable.
(this_target_gcse): New conditional variable.
(can_copy): Redefine as a macro.
(can_copy_init_p): New macro.
(can_copy_p): Remove can_copy_init_p.
* target-globals.h (this_target_gcse): Declare.
(target_globals): Add a gcse field.
(restore_target_globals): Copy the gcse field to
this_target_gcse.
* target-globals.c: Include gcse.h.
(default_target_globals): Initialize the gcse field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162108 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:03:50 +0000 (19:03 +0000)]
gcc/
* ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs
and x_ira_prohibited_mode_move_regs_initialized_p.
(ira_prohibited_mode_move_regs): Redefine as a macro.
* ira.c (ira_prohibited_mode_move_regs): Delete.
(ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162107 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:03:43 +0000 (19:03 +0000)]
gcc/
* reload.h (target_reload): Add x_cached_reg_save_code and
x_cached_reg_restore_code.
* caller-save.c (cached_reg_save_code, cached_reg_restore_code):
Redefine as macros.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162106 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:03:35 +0000 (19:03 +0000)]
gcc/
* Makefile.in (target-globals.o): Depend on builtins.h.
* builtins.h: New file.
* builtins.c: Include builtins.h.
(default_target_builtins): New variable.
(this_target_builtins): New conditional variable.
(apply_args_mode, apply_result_mode): Redefine as macros.
* target-globals.h (this_target_builtins): Declare.
(target_globals): Add a builtins field.
(restore_target_globals): Copy the builtins field to
this_target_builtins.
* target-globals.c: Include builtins.h.
(default_target_globals): Initialize the builtins field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162105 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:03:25 +0000 (19:03 +0000)]
gcc/
* expmed.h (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST)
(algorithm, alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved
from expmed.c.
(target_expmed): Add x_alg_hash and x_alg_hash_used_p.
(alg_hash, alg_hash_used_p): New macros.
* expmed.c (init_expmed): Clear alg_hash if reinitializing.
(alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST, algorithm)
(alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved to expmed.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162104 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:03:15 +0000 (19:03 +0000)]
gcc/
* ira-int.h (target_ira_int): Add x_max_struct_costs_size, x_init_cost,
x_temp_costs, x_op_costs, x_this_op_costs and x_cost_classes.
* ira-costs.c (max_struct_costs_size, init_cost, temp_costs, op_costs)
(this_op_costs, costs_classes): Redefine as macros.
(record_reg_classes): Don't take op_costs as a parameter.
(record_operand_costs): Likewise.  Update calls to record_reg_classes.
(scan_one_insn): Update call to record_operand_costs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162103 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:03:06 +0000 (19:03 +0000)]
gcc/
* Makefile.in (target-globals.o): Depend on $(IRA_INT_H).
* ira-int.h (ira_max_nregs, ira_important_class_nums): Delete.
(target_ira_int): New structure.
(default_target_ira_int): Declare.
(this_target_ira_int): Declare as a variable or define as a macro.
(ira_reg_mode_hard_regset, ira_register_move_cost)
(ira_may_move_in_cost, ira_may_move_out_cost, ira_class_subset_p)
(ira_non_ordered_class_hard_regs, ira_class_hard_reg_index)
(prohibited_class_mode_regs, ira_important_classes_num)
(ira_important_classes, ira_reg_class_intersect)
(ira_reg_classes_intersect_p, ira_reg_class_super_classes)
(ira_reg_class_union): Redefine as macros.
* ira.h (target_ira): New structure.
(default_target_ira): Declare.
(this_target_ira): Declare as a variable or define as a macro.
(ira_available_class_regs, ira_hard_regno_cover_class)
(ira_reg_class_cover_size, ira_reg_class_cover, ira_class_translate)
(ira_reg_class_nregs, ira_memory_move_cost, ira_class_hard_regs)
(ira_class_hard_regs_num): Redefine as macros.
* ira.c (default_target_ira, default_target_ira_int): New variables.
(this_target_ira, this_target_ira_int): New conditional variables.
(ira_reg_mode_hard_regset, ira_memory_move_cost)
(ira_register_move_cost, ira_may_move_in_cost, ira_may_move_out_cost)
(ira_class_subset_p): Delete.
(no_unit_alloc_regs): Redefine as a macro.
(ira_class_hard_regs, ira_non_ordered_class_hard_regs)
(ira_class_hard_regs_num, ira_class_hard_reg_index)
(ira_available_class_regs): Delete.
(alloc_reg_class_subclasses): Redefine as a macro.
(ira_reg_class_cover_size, ira_reg_class_cover)
(ira_important_classes_num, ira_important_classes)
(ira_important_class_nums, ira_class_translate): Delete.
(cover_class_order): Document the variable's lifetime.
(reorder_important_classes): Don't set ira_important_class_nums.
(ira_reg_class_intersect, ira_reg_classes_intersect_p)
(ira_reg_class_super_classes, ira_reg_class_union)
(ira_hard_regno_cover_class, ira_reg_class_nregs, ira_max_nregs):
Delete.
(setup_reg_class_nregs): Don't set ira_max_regs.
(prohibited_class_mode_regs): Delete.
* target-globals.h (this_target_ira, this_target_ira_int): Declare.
(target_globals): Add ira and ira_int fields.
(restore_target_globals): Copy the ira field to this_target_ira
and the ira_int field to this_target_ira_int.
* target-globals.c: Include ira-int.h.
(default_target_globals): Initialize the ira and ira_int fields.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162102 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 19:02:55 +0000 (19:02 +0000)]
gcc/
* Makefile.in (target-globals.o): Depend on $(CFGLOOP_H).
* cfgloop.h (target_cfgloop): New structure.
(default_target_cfgloop): Declare.
(this_target_cfgloop): Declare as a variable or define as a macro.
(target_avail_regs, target_clobbered_regs, target_res_regs)
(target_reg_cost, target_spill_cost): Redefine as macros.
* cfgloopanal.c (default_target_cfgloop): New variable.
(this_target_cfgloop): New conditional variable.
(target_avail_regs, target_clobbered_regs, target_res_regs)
(target_reg_cost, target_spill_cost): Delete.
* target-globals.h (this_target_cfgloop): Declare.
(target_globals): Add a cfgloop field.
(restore_target_globals): Copy the cfgloop field to
this_target_cfgloop.
* target-globals.c: Include cfgloop.h.
(default_target_globals): Initialize the cfgloop field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162101 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:55:57 +0000 (18:55 +0000)]
gcc/
* regs.h (target_regs): Add x_direct_load, x_direct_store and
x_float_extend_from_mem.
(direct_load, direct_store, float_extend_from_mem): New macros.
* expr.c (direct_load, direct_store, float_extend_from_mem): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162100 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:55:48 +0000 (18:55 +0000)]
gcc/
* Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H).
(target-globals.o): Depend on $(LIBFUNCS_H).
* libfuncs.h: Include hashtab.h.
(libfunc_entry): Moved from optabs.c.
(target_libfuncs): New structure.
(default_target_libfuncs): Declare.
(this_target_libfuncs): Declare as a variable or define as a macro.
(libfunc_table): Redefine as a macro.
* optabs.c (default_target_libfuncs): New variable.
(this_target_libfuncs): New conditional variable.
(libfunc_table): Delete.
(libfunc_entry): Moved to optabs.h.
(libfunc_hash): Redefine as a macro.
(hash_libfunc, eq_libfunc): Fix comments.
(init_optabs): Use libfunc_hash to detect cases where the function
has already been called.  Clear the hash table instead of
recreating it.
* target-globals.h (this_target_libfuncs): Declare.
(target_globals): Add a libfuncs field.
(restore_target_globals): Copy the libfuncs field to
this_target_libfuncs.
* target-globals.c: Include libfuncs.h.
(default_target_globals): Initialize the libfuncs field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162099 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:55:34 +0000 (18:55 +0000)]
gcc/
* Makefile.in (LIBFUNCS_H): New variable.  Use instead of libfuncs.h
in all dependency lists.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162098 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:54:35 +0000 (18:54 +0000)]
gcc/
* Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
* optabs.h (target_optabs): New structure.
(default_target_optabs): Declare.
(this_target_optabs): Declare as a variable or define as a macro.
(optab_table, convert_optab_table, direct_optab_table): Redefine
as macros.
* optabs.c (default_target_optabs): New variable.
(this_target_optabs): New conditional variable.
(optab_table, convert_optab_table, direct_optab_table): Delete.
* target-globals.h (this_target_optabs): Declare.
(target_globals): Add a optabs field.
(restore_target_globals): Copy the optabs field to
this_target_optabs.
* target-globals.c: Include expr.h and optabs.h.
(default_target_globals): Initialize the optabs field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162097 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:54:26 +0000 (18:54 +0000)]
gcc/
* flags.h (target_flagstate): Add x_flag_excess_precision.
(flag_excess_precision): Redefine as a macro.
* toplev.c (flag_excess_precision): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162096 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:54:17 +0000 (18:54 +0000)]
gcc/
* defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
* libgcc2.c (MIN_UNITS_PER_WORD): Delete.
* hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
(no_caller_save_reg_set): Redefine as a macro.
* reload.h (target_reload): Add x_caller_save_initialized_p and
x_regno_save_mode.
(caller_save_initialized_p): Redefine as a macro.
* caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
(MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
(regno_save_mode): Redefine as a macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162095 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:54:08 +0000 (18:54 +0000)]
gcc/
* Makefile.in (expmed.o, target-globals.o): Depend on expmed.h.
* expmed.h: New file.
* expmed.c (default_target_costs): New variable.
(this_target_costs): New conditional variable.
(sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, neg_cost)
(shift_cost, shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost)
(sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete.
* target-globals.h (this_target_expmed): Declare.
(target_globals): Add a expmed field.
(restore_target_globals): Copy the expmed field to
this_target_expmed.
* target-globals.c: Include expmed.h.
(default_target_globals): Initialize the expmed field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162094 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:53:59 +0000 (18:53 +0000)]
gcc/
* Makefile.in (target-globals.o): Depend on reload.h.
* reload.h (target_reload): New structure.
(default_target_reload): Declare.
(this_target_reload): Declare as a variable or define as a macro.
(indirect_symref_ok, double_reg_address_ok): Redefine as macros.
* reload1.c (default_target_reload): New variable
(this_target_reload): New conditional variable.
(indirect_symref_ok, double_reg_address_ok): Delete.
(spill_indirect_levels): Redefine as a macro.
* target-globals.h (this_target_reload): Declare.
(target_globals): Add a reload field.
(restore_target_globals): Copy the reload field to
this_target_reload.
* target-globals.c: Include hard-reg-set.h.
(default_target_globals): Initialize the reload field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162093 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:53:49 +0000 (18:53 +0000)]
gcc/
* rtl.h (target_rtl): Add x_static_reg_base_value.
* alias.c (static_reg_base_value): Redefine as a macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162092 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:53:42 +0000 (18:53 +0000)]
gcc/
* Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
(GTFILES): Remove reginfo.c.
* rtl.h (target_rtl): Add x_top_of_stack.
(top_of_stack): New macro.
* reginfo.c: Don't include ggc.h or gt-reginfo.h.
(top_of_stack): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162091 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:53:33 +0000 (18:53 +0000)]
gcc/
* regs.h (target_regs): Add x_hard_regs_of_mode, x_contains_reg_of_mode,
x_move_cost, x_may_move_in_cost, x_may_move_out_cost and
x_last_mode_for_init_move_cost.
(have_regs_of_mode, contains_reg_of_mode, move_cost)
(may_move_in_cost, may_move_out_cost): Redefine as macros.
* reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)
(may_move_in_cost, may_move_out_cost): Delete.
(last_mode_for_init_move_cost): Redefine as a macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162090 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:53:25 +0000 (18:53 +0000)]
gcc/
* hard-reg-set.h (target_hard_regs): New structure.
(default_target_hard_regs): Declare.
(this_target_hard_regs): Declare as a variable or define as a macro.
(fixed_regs, fixed_reg_set, call_used_regs, call_really_used_regs)
(call_used_reg_set, call_fixed_reg_set, regs_invalidated_by_call)
(reg_alloc_order, inv_reg_alloc_order, reg_class_contents)
(reg_class_size, reg_class_subclasses, reg_class_subunion)
(reg_class_superunion, reg_names): Redefine as macros.
* reginfo.c (fixed_regs, fixed_reg_set, call_used_regs)
(call_used_reg_set, call_really_used_regs, call_fixed_reg_set)
(regs_invalidated_by_call, reg_alloc_order, inv_reg_alloc_order)
(reg_class_contents, reg_class_size, reg_class_subclasses)
(reg_class_subunion, reg_class_superunion, reg_names): Delete.
(default_target_hard_regs): New variable
(this_target_hard_regs, initial_call_really_used_regs)
(initial_reg_alloc_order): New conditional variables.
(initial_reg_names): New variable.
(init_reg_sets): Assert that initial_call_really_used_regs,
initial_reg_alloc_order and initial_reg_names
are all the same size as their variable counterparts.  Use them to
initialize those counterparts.
* target-globals.h (this_target_hard_regs): Declare.
(target_globals): Add a hard_regs field.
(restore_target_globals): Copy the hard_regs field to
this_target_hard_regs.
* target-globals.c: Include hard-reg-set.h.
(default_target_globals): Initialize the hard_regs field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162089 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:53:17 +0000 (18:53 +0000)]
gcc/
* Makefile.in (target-globals.o): Depend on $(RTL_H).
* rtl.h: (target_rtl): New structure.
(default_target_rtl): Declare.
(this_target_rtl): Declare as a variable or define as a macro.
(global_rtl, pic_offset_table_rtx, return_address_pointer_rtx):
Redefine as macros.
* emit-rtl.c (default_target_rtl): New variable.
(this_target_rtl): New conditional variable.
(global_rtl, static_regno_reg_rtx, pic_offset_table_rtx)
(return_address_pointer_rtx): Delete.
(initial_regno_reg_rtx): New macro.
(init_emit): Use initial_regno_reg_rtx instead of static_regno_reg_rtx.
(init_emit_regs): Likewise.
* target-globals.h (this_target_rtl): Declare.
(target_globals): Add a rtl field.
(restore_target_globals): Copy the rtl field to this_target_rtl.
* target-globals.c: Include rtl.h.
(default_target_globals): Initialize the rtl field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162088 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:53:08 +0000 (18:53 +0000)]
gcc/
* Makefile.in (target-globals.o): Depend on $(REGS_H).
* regs.h (target_reg_modes): New structure.
(default_target_reg_modes): Declare.
(this_target_reg_modes): Declare as a variable or define as a macro.
(hard_regno_nregs, reg_raw_mode): Redefine as macros.
* reginfo.c (default_target_reg_modes): New variable.
(this_target_reg_modes): New conditional variable.
(hard_regno_nregs, reg_raw_mode): Delete.
* target-globals.h (this_target_regs): Declare.
(target_globals): Add a regs field.
(restore_target_globals): Copy the regs field to this_target_regs.
* target-globals.c: Include regs.h.
(default_target_globals): Initialize the regs field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162087 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Mon, 12 Jul 2010 18:53:01 +0000 (18:53 +0000)]
gcc/
* doc/tm.texi.in (SWITCHABLE_TARGET): Document.
* doc/tm.texi: Regenerate.
* Makefile.in (OBJS-common): Add target-globals.o.
(gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
and target-globals.h.
(target-globals.o): New rule.
(GTFILES): Include $(srcdir)/target-globals.h.
* defaults.h (SWITCHABLE_TARGET): Define.
* gengtype.c (open_base_files): Add target-globals.h to the
list of includes.
* target-globals.h: New file.
* target-globals.c: Likewise.

* Makefile.in (target-globals.o): Depend on $(FLAGS_H).
* flags.h (target_flag_state): New structure.
(default_target_flag_state): Declare.
(this_target_flag_state): Declare as a variable or define as a macro.
(align_loops_log): Redefine as a macro.
(align_loops_max_skip, align_jumps_log): Likewise.
(align_jumps_max_skip, align_labels_log): Likewise.
(align_labels_max_skip, align_functions_log): Likewise.
* toplev.c (default_target_flag_state): New variable.
(this_target_flag_state): New conditional variable.
(align_loops_log): Delete.
(align_loops_max_skip, align_jumps_log): Likewise.
(align_jumps_max_skip, align_labels_log): Likewise.
(align_labels_max_skip, align_functions_log): Likewise.
* target-globals.h (this_target_flag_state): Declare.
(target_globals): Add a flag_state field.
(restore_target_globals): Copy the flag_state field to
this_target_flag_state.
* target-globals.c: Include flags.h.
(default_target_globals): Initialize the flag_state field.
(save_target_globals): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162086 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * postreload.c (reg_symbol_ref[]): New.
jiez [Mon, 12 Jul 2010 17:22:48 +0000 (17:22 +0000)]
* postreload.c (reg_symbol_ref[]): New.
(move2add_use_add2_insn): New.
(move2add_use_add3_insn): New.
(reload_cse_move2add): Handle SYMBOL + OFFSET case.
(move2add_note_store): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162085 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix comment typo.
amylaar [Mon, 12 Jul 2010 17:17:47 +0000 (17:17 +0000)]
Fix comment typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162084 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR rtl-optimization/44752
amylaar [Mon, 12 Jul 2010 17:16:38 +0000 (17:16 +0000)]
PR rtl-optimization/44752
* genautomata.c (main): Don't emit an empty file even if there
is no automaton.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162083 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
ro [Mon, 12 Jul 2010 15:30:50 +0000 (15:30 +0000)]
* config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
ix86_solaris_return_in_memory.
* config/i386-protos.h: Reflect this.
* config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
* config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
Move ...
* config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162082 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-12 Mikael Morin <mikael@gcc.gnu.org>
mikael [Mon, 12 Jul 2010 14:31:00 +0000 (14:31 +0000)]
2010-07-12  Mikael Morin  <mikael@gcc.gnu.org>

* expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
* resolve.c (build_default_init_expr): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162081 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * inclhack.def (solaris_cond_init): New fix.
ro [Mon, 12 Jul 2010 14:29:50 +0000 (14:29 +0000)]
* inclhack.def (solaris_cond_init): New fix.
* fixincl.x: Regenerate.
* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: New test.
[SOLARIS_MUTEX_INIT_2_CHECK]: Adapt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162080 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
jiez [Mon, 12 Jul 2010 14:02:08 +0000 (14:02 +0000)]
* config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
align the stack when it's going to be saved.

testsuite/
* gcc.target/arm/interrupt-1.c: New test.
* gcc.target/arm/interrupt-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162078 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.dg/pr42427.c: Require c99_runtime.
ro [Mon, 12 Jul 2010 12:21:10 +0000 (12:21 +0000)]
* gcc.dg/pr42427.c: Require c99_runtime.
* gcc.target/i386/avx-cmpsd-1.c: Use dg-require-effective-target
c99_runtime.
* gcc.target/i386/avx-cmpss-1.c: Likewise.
* gcc.target/i386/avx-vcmppd-1.c: Likewise.
* gcc.target/i386/avx-vcmppd-256-1.c: Likewise.
* gcc.target/i386/avx-vcmpps-1.c: Likewise.
* gcc.target/i386/avx-vcmpps-256-1.c: Likewise.
* gcc.target/i386/avx-vcmpsd-1.c: Likewise.
* gcc.target/i386/avx-vcmpss-1.c: Likewise.
* gcc.target/i386/sse-cmpss-1.c: Likewise.
* gcc.target/i386/sse2-cmpsd-1.c: Likewise
* gcc.target/i386/pr37275.c: Require visibility support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162075 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR pch/14940
ro [Mon, 12 Jul 2010 11:57:16 +0000 (11:57 +0000)]
PR pch/14940
* config/host-solaris.c (mmap_fixed): New function.
(sol_gt_pch_get_address): Use it.
(sol_gt_pch_use_address): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162074 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago gcc:
ro [Mon, 12 Jul 2010 11:32:42 +0000 (11:32 +0000)]
gcc:
* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
pentiumpro on Solaris 8 and 9/x86.
* doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
Document SSE/SSE2 support.
* doc/sourcebuild.texi (Effective-Target Keywords): Document sse.

gcc/testsuite:
* lib/target-supports.exp (check_effective_target_sse): New proc.
* gcc.target/i386/sol2-check.h: New file.
* gcc.target/i386/sse-check.h (ILL_INSN, ILL_INSN_LEN): Define.
Include sol2-check.h.
(main) Only run do_test () if sol2_check ().
* gcc.target/i386/sse2-check.h: Likewise.
* gcc.target/i386/sse3-check.h: Likewise.
* gcc.dg/vect/tree-vect.h (check_vect) [__i386__ || __x86_64__]
[__sun__ && __svr4__]: Execute SSE2 instruction.
* gcc.target/i386/math-torture/math-torture.exp: Only add options
with -msse to MATH_TORTURE_OPTIONS if check_effective_target_sse.
* g++.dg/debug/dwarf2/const2b.C: Use dg-require-effective-target sse.
* g++.dg/ext/vector14.C: Likewise.
* g++.dg/other/mmintrin.C: Likewise.
* gcc.dg/20020418-1.c: Likewise.
* gcc.dg/debug/dwarf2/const-2b.c: Likewise.
* gcc.dg/format/ms_unnamed-1.c: Likewise.
* gcc.dg/format/unnamed-1.c: Likewise.
Adapt dg-warning line number.
* gcc.dg/graphite/pr40281.c: Likewise.
* gcc.dg/pr32176.c: Likewise.
* gcc.dg/pr40550.c: Likewise.
* gcc.dg/prefetch-loop-arrays-1.c: Likewise.
* gcc.dg/torture/pr36891.c: Likewise.
* gcc.target/i386/20020218-1.c: Likewise.
* gcc.target/i386/20020523.c: Likewise.
* gcc.target/i386/abi-1.c: Likewise.
* gcc.target/i386/brokensqrt.c: Likewise.
* gcc.target/i386/fastcall-sseregparm.c: Likewise.
* gcc.target/i386/pr13366.c: Likewise.
* gcc.target/i386/pr13685.c: Likewise.
* gcc.target/i386/pr24306.c: Likewise.
* gcc.target/i386/pr31486.c: Likewise.
* gcc.target/i386/pr32065-1.c: Likewise.
* gcc.target/i386/pr32065-2.c: Likewise.
* gcc.target/i386/pr32389.c: Likewise.
* gcc.target/i386/pr38824.c: Likewise.
* gcc.target/i386/pr38931.c: Likewise.
* gcc.target/i386/pr39592-1.c: Likewise.
* gcc.target/i386/pr43766.c: Likewise.
* gcc.target/i386/recip-divf.c: Likewise.
* gcc.target/i386/recip-sqrtf.c: Likewise.
* gcc.target/i386/recip-vec-divf.c: Likewise.
* gcc.target/i386/recip-vec-sqrtf.c: Likewise.
* gcc.target/i386/sse-1.c: Likewise.
* gcc.target/i386/sse-16.c: Likewise.
* gcc.target/i386/sse-2.c: Likewise.
* gcc.target/i386/sse-20.c: Likewise.
* gcc.target/i386/sse-3.c: Likewise.
* gcc.target/i386/sse-7.c: Likewise.
* gcc.target/i386/sse-9.c: Likewise.
* gcc.target/i386/sse-addps-1.c: Likewise.
* gcc.target/i386/sse-addss-1.c: Likewise.
* gcc.target/i386/sse-andnps-1.c: Likewise.
* gcc.target/i386/sse-andps-1.c: Likewise.
* gcc.target/i386/sse-cmpss-1.c: Likewise.
* gcc.target/i386/sse-comiss-1.c: Likewise.
* gcc.target/i386/sse-comiss-2.c: Likewise.
* gcc.target/i386/sse-comiss-3.c: Likewise.
* gcc.target/i386/sse-comiss-4.c: Likewise.
* gcc.target/i386/sse-comiss-5.c: Likewise.
* gcc.target/i386/sse-comiss-6.c: Likewise.
* gcc.target/i386/sse-copysignf-vec.c: Likewise.
* gcc.target/i386/sse-cvtsi2ss-1.c: Likewise.
* gcc.target/i386/sse-cvtsi2ss-2.c: Likewise.
* gcc.target/i386/sse-cvtss2si-1.c: Likewise.
* gcc.target/i386/sse-cvtss2si-2.c: Likewise.
* gcc.target/i386/sse-cvttss2si-1.c: Likewise.
* gcc.target/i386/sse-cvttss2si-2.c: Likewise.
* gcc.target/i386/sse-divps-1.c: Likewise.
* gcc.target/i386/sse-divss-1.c: Likewise.
* gcc.target/i386/sse-init-v4hi-1.c: Likewise.
* gcc.target/i386/sse-init-v4sf-1.c: Likewise.
* gcc.target/i386/sse-maxps-1.c: Likewise.
* gcc.target/i386/sse-maxss-1.c: Likewise.
* gcc.target/i386/sse-minps-1.c: Likewise.
* gcc.target/i386/sse-minss-1.c: Likewise.
* gcc.target/i386/sse-movaps-1.c: Likewise.
* gcc.target/i386/sse-movaps-2.c: Likewise.
* gcc.target/i386/sse-movhlps-1.c: Likewise.
* gcc.target/i386/sse-movhps-1.c: Likewise.
* gcc.target/i386/sse-movhps-2.c: Likewise.
* gcc.target/i386/sse-movlhps-1.c: Likewise.
* gcc.target/i386/sse-movmskps-1.c: Likewise.
* gcc.target/i386/sse-movntps-1.c: Likewise.
* gcc.target/i386/sse-movss-1.c: Likewise.
* gcc.target/i386/sse-movss-2.c: Likewise.
* gcc.target/i386/sse-movss-3.c: Likewise.
* gcc.target/i386/sse-movups-1.c: Likewise.
* gcc.target/i386/sse-movups-2.c: Likewise.
* gcc.target/i386/sse-mulps-1.c: Likewise.
* gcc.target/i386/sse-mulss-1.c: Likewise.
* gcc.target/i386/sse-orps-1.c: Likewise.
* gcc.target/i386/sse-rcpps-1.c: Likewise.
* gcc.target/i386/sse-recip-vec.c: Likewise.
* gcc.target/i386/sse-recip.c: Likewise.
* gcc.target/i386/sse-rsqrtps-1.c: Likewise.
* gcc.target/i386/sse-set-ps-1.c: Likewise.
* gcc.target/i386/sse-sqrtps-1.c: Likewise.
* gcc.target/i386/sse-subps-1.c: Likewise.
* gcc.target/i386/sse-subss-1.c: Likewise.
* gcc.target/i386/sse-ucomiss-1.c: Likewise.
* gcc.target/i386/sse-ucomiss-2.c: Likewise.
* gcc.target/i386/sse-ucomiss-3.c: Likewise.
* gcc.target/i386/sse-ucomiss-4.c: Likewise.
* gcc.target/i386/sse-ucomiss-5.c: Likewise.
* gcc.target/i386/sse-ucomiss-6.c: Likewise.
* gcc.target/i386/sse-unpckhps-1.c: Likewise.
* gcc.target/i386/sse-unpcklps-1.c: Likewise.
* gcc.target/i386/sse-xorps-1.c: Likewise.
* gcc.target/i386/ssefn-1.c: Likewise.
* gcc.target/i386/ssefn-3.c: Likewise.
* gcc.target/i386/sseregparm-1.c: Likewise.
* gcc.target/i386/stackalign/return-3.c: Likewise.
* gcc.target/i386/vectorize1.c: Likewise.
* gcc.target/i386/vperm-v4sf-1.c: Likewise.
* gcc.target/i386/xorps-sse.c: Likewise.
* gfortran.dg/pr28158.f90: Likewise.
* gfortran.dg/pr30667.f: Likewise.
* gnat.dg/loop_optimization7.adb: Likewise.
* gnat.dg/sse_nolib.adb: Likewise.

libgfortran:
* config/fpu-387.h [__sun__ && __svr4__] Include <signal.h>,
<ucontext.h>.
(sigill_caught): New.
(sigill_hdlr): New function
(has_sse) [__sun__ && __svr4__]: Check if SSE instruction causes
SIGILL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162073 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-12 Andi Kleen <ak@linux.intel.com>
rguenth [Mon, 12 Jul 2010 08:35:08 +0000 (08:35 +0000)]
2010-07-12  Andi Kleen  <ak@linux.intel.com>

        * lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error
        instead of gcc_assert to print better error message for
        multiple prevailing defs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162070 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.c (ix86_asm_output_function_label): Change format
uros [Mon, 12 Jul 2010 07:37:55 +0000 (07:37 +0000)]
* config/i386/i386.c (ix86_asm_output_function_label): Change format
string placeholder from 0x%x to %#x.
(ix86_code_end): Use putc to output '\n'.
(ix86_print_operand) <case ';'>: Use putc to output ';'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162067 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Mon, 12 Jul 2010 00:17:03 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162065 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agotob@archimedes:~/scratch/gcc> head -n 15 ../intrinsic_use.diff
burnus [Sun, 11 Jul 2010 21:29:30 +0000 (21:29 +0000)]
tob@archimedes:~/scratch/gcc> head -n 15 ../intrinsic_use.diff
2010-07-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44702
        * module.c (sort_iso_c_rename_list): Remove.
        (import_iso_c_binding_module,use_iso_fortran_env_module):
        Allow multiple imports of the same symbol.

2010-07-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44702
        * gfortran.dg/use_rename_6.f90: New.
        * gfortran.dg/use_iso_c_binding.f90: Update dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162061 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-11 Kai Tietz <kai.tietz@onevision.com>
jvdelisle [Sun, 11 Jul 2010 20:43:25 +0000 (20:43 +0000)]
2010-07-11  Kai Tietz  <kai.tietz@onevision.com>

PR libfortran/44698
* io/unix.c (flush_buf): Add _commit for WIN32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162060 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-11 Mikael Morin <mikael@gcc.gnu.org>
mikael [Sun, 11 Jul 2010 12:14:25 +0000 (12:14 +0000)]
2010-07-11  Mikael Morin  <mikael@gcc.gnu.org>

* arith.c (gfc_arith_done_1): Release mpfr internal caches.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162058 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-11 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 11 Jul 2010 09:13:26 +0000 (09:13 +0000)]
2010-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (is_convertible): Use SFINAE.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162056 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-11 Kai Tietz <kai.tietz@onevision.com>
ktietz [Sun, 11 Jul 2010 09:05:24 +0000 (09:05 +0000)]
2010-07-11  Kai Tietz  <kai.tietz@onevision.com>

* config/i386/winnt.c (i386_pe_file_end): Quote symbol name
in directive -export.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162055 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agofixing ChangeLog
janus [Sun, 11 Jul 2010 08:00:47 +0000 (08:00 +0000)]
fixing ChangeLog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162053 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-11 Janus Weil <janus@gcc.gnu.org>
janus [Sun, 11 Jul 2010 07:55:11 +0000 (07:55 +0000)]
2010-07-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44689
* decl.c (build_sym,attr_decl1): Only build the class container if the
symbol has sufficient attributes.
* expr.c (gfc_check_pointer_assign): Use class_pointer instead of
pointer attribute for classes.
* match.c (gfc_match_allocate,gfc_match_deallocate): Ditto.
* module.c (MOD_VERSION): Bump.
(enum ab_attribute,attr_bits): Add AB_CLASS_POINTER.
(mio_symbol_attribute): Handle class_pointer attribute.
* parse.c (parse_derived): Use class_pointer instead of pointer
attribute for classes.
* primary.c (gfc_variable_attr,gfc_expr_attr): Ditto.
* resolve.c (resolve_structure_cons,resolve_deallocate_expr,
resolve_allocate_expr,resolve_fl_derived): Ditto.
(resolve_fl_var_and_proc): Check for class_ok attribute.

2010-07-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44689
* gfortran.dg/class_24.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162052 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sun, 11 Jul 2010 00:16:56 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162051 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-10 Mikael Morin <mikael@gcc.gnu.org>
mikael [Sat, 10 Jul 2010 22:33:36 +0000 (22:33 +0000)]
2010-07-10  Mikael Morin  <mikael@gcc.gnu.org>

* MAINTAINERS (Reviewers): Update my e-mail address

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162046 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * reginfo.h (reg_classes_intersect_p): Change arguments type to
aesok [Sat, 10 Jul 2010 21:42:15 +0000 (21:42 +0000)]
* reginfo.h (reg_classes_intersect_p): Change arguments type to
reg_class_t.
* rtl.h (reg_classes_intersect_p): Adjust prototype.

* config/rs6000/rs6000.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
Remove macros.
* config/rs6000/rs6000-protos.h (rs6000_register_move_cost,
rs6000_memory_move_cost): Remove
* config/rs6000/rs6000.c (TARGET_REGISTER_MOVE_COST,
TARGET_MEMORY_MOVE_COST): Define.
(rs6000_register_move_cost): Make static. Change arguments type from
enum reg_class to reg_class_t. Adjust rs6000_memory_move_cost calls.
(rs6000_memory_move_cost): Make static. Change arguments type from
'enum reg_class' to reg_class_t.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162045 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-10 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sat, 10 Jul 2010 18:43:29 +0000 (18:43 +0000)]
2010-07-10  Sandra Loosemore  <sandra@codesourcery.com>

PR middle-end/42505

gcc/
* tree-inline.c (estimate_num_insns): Refactor builtin complexity
lookup code into....
* builtins.c (is_simple_builtin, is_inexpensive_builtin): ...these
new functions.
* tree.h (is_simple_builtin, is_inexpensive_builtin): Declare.
* cfgloopanal.c (target_clobbered_regs): Define.
(init_set_costs): Initialize target_clobbered_regs.
(estimate_reg_pressure_cost): Add call_p argument.  When true,
adjust the number of available registers to exclude the
call-clobbered registers.
* cfgloop.h (target_clobbered_regs): Declare.
(estimate_reg_pressure_cost): Adjust declaration.
* tree-ssa-loop-ivopts.c (struct ivopts_data): Add body_includes_call.
(ivopts_global_cost_for_size): Pass it to estimate_reg_pressure_cost.
(determine_set_costs): Dump target_clobbered_regs.
(loop_body_includes_call): New function.
(tree_ssa_iv_optimize_loop): Use it to initialize new field.
* loop-invariant.c (gain_for_invariant): Adjust arguments to pass
call_p flag through.
(best_gain_for_invariant): Likewise.
(find_invariants_to_move): Likewise.
(move_single_loop_invariants): Likewise, using already-computed
has_call field.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162043 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-10 Mikael Morin <mikael@gcc.gnu.org>
mikael [Sat, 10 Jul 2010 18:14:45 +0000 (18:14 +0000)]
2010-07-10  Mikael Morin  <mikael@gcc.gnu.org>

* trans-io.c (gfc_build_st_parameter): Update calls to
gfc_add_field_to_struct.
* trans-stmt.c (ADD_FIELD): Ditto.
* trans-types.c
(gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's
C_ADDRESS field.
(gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of
fieldlist, remove fieldlist from argument list.
(gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1
and remove fieldlist from argument list.
(gfc_get_desc_dim_type, gfc_get_array_descriptor_base,
gfc_get_mixed_entry_union): Move setting
TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it.
* trans-types.h (gfc_add_field_to_struct): Update prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162042 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-10 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 10 Jul 2010 14:57:25 +0000 (14:57 +0000)]
2010-07-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/44773
* trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
if the lhs has never been host associated, as well as not being
use associated, a pointer or a target.
* resolve.c (resolve_variable): Mark variables that are host
associated.
* gfortran.h: Add the host_assoc bit to the symbol_attribute
structure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162038 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-10 Richard Guenther <rguenther@suse.de>
amylaar [Sat, 10 Jul 2010 09:40:36 +0000 (09:40 +0000)]
2010-07-10  Richard Guenther  <rguenther@suse.de>
    Joern Rennecke  <joern.rennecke@embecosm.com>

PR debug/44832
* tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for
LABEL_DECL.
(remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
unless they have DECL_IGNORED_P set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162035 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-10 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 10 Jul 2010 08:39:46 +0000 (08:39 +0000)]
2010-07-10  Richard Guenther  <rguenther@suse.de>

PR lto/44889
* gimple.c (gimple_fixup_complete_and_incomplete_subtype_p): New
helper function.
(gimple_types_compatible_p): Similar to pointed-to
types allow and merge a mix of complete and incomplete aggregate.
Use gimple_fixup_complete_and_incomplete_subtype_p for that.
(iterative_hash_gimple_type): Adjust for that.

* gcc.dg/lto/20100709-1_0.c: New testcase.
* gcc.dg/lto/20100709-1_1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162032 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Sat, 10 Jul 2010 08:35:58 +0000 (08:35 +0000)]
gcc/
* tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.

gcc/testsuite/
* gcc.dg/attr-weak-hidden-1.c, gcc.dg/attr-weak-hidden-1a.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162031 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agomake ObjC do LTO.
iains [Sat, 10 Jul 2010 00:22:35 +0000 (00:22 +0000)]
make ObjC do LTO.

gcc/
PR objc/44140
* config/darwin.c (output_objc_section_asm_op): Save and restore
section when outputting ObjC section list.

testsuite/

PR objc/44140
* objc.dg/lto/trivial-1_0.m: New.
* objc.dg/lto/lto.exp: New.
* obj-c++.dg/lto/trivial-1_0.mm: New.
* obj-c++.dg/lto/lto.exp: New.
* objc.dg/symtab-1.m: Adjust sizes.
* objc.dg/image-info.m: Do not run for gnu-runtime.

gcc/objc/

PR objc/44140
* objc-act.c: build_objc_string_decl() remove declaration.
(finish_var_decl): Remove forcing of var output and marking
as "Used".
(init_def_list): Use integer_zero_node.
(init_objc_symtab): Use integer_zero_node, make the short
integer type specific on relevant nodes.
(generate_objc_symtab_decl): Remove call to
forward_declare_categories().  Use null_pointer_node where
appropriate.
(build_module_descriptor): Comment and mark this item as
DECL_PRESERVE_P.
(generate_static_references): Use gcc_unreachable instead of
abort ().
(diagnose_missing_method): New.
(build_next_selector_translation_table): New.
(build_gnu_selector_translation_table): New.
(add_objc_string): Merge code from build_objc_string_decl...
... and delete build_objc_string_decl().
(generate_dispatch_table): Make integer types explicit.
(generate_category): Pass implent and arrange for the data
to be extracted within the routine.  Do not start new vars,
but finish the ones collcted during parsing.
(generate_shared_structures): Likewise.
(finish_objc):  Reorder code so that we finish variables before
referencing them.  Save the global data before calling meta-data
creation routines, and pass the current reference to the two
main routines.  Only call generate_objc_image_info () for the
NeXT runtime.
(generate_classref_translation_entry): Comment on and make this
item DECL_PRESERVE_P.
(handle_class_ref): Use varpool interfaces, comment on and make
this item DECL_PRESERVE_P.
(handle_impent): Likewise.
(generate_objc_image_info): Only generate when the content is
non-zero.  Make integer types explict.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162030 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sat, 10 Jul 2010 00:18:38 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162029 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool
hubicka [Sat, 10 Jul 2010 00:14:55 +0000 (00:14 +0000)]
* lto-streamer-out.c (produce_symtab): Do not write alias cgraph/varpool
nodes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162025 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-inline.c (declare_return_variable): Fix ICE while
hubicka [Fri, 9 Jul 2010 23:41:10 +0000 (23:41 +0000)]
* tree-inline.c (declare_return_variable): Fix ICE while
inlining DECL_BY_VALUE function not in SSA form

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162024 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agopr44576 Avoid un-necessary prefetch analysis by distributing the cost models
spop [Fri, 9 Jul 2010 23:08:55 +0000 (23:08 +0000)]
pr44576 Avoid un-necessary prefetch analysis by distributing the cost models

2010-07-09  Changpeng Fang  <changpeng.fang@amd.com>

PR tree-optimization/44576
* tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
New.  Pull out from is_loop_prefetching_profitable to implement
the trip count to ahead ratio heuristic.
(mem_ref_count_reasonable_p): New.  Pull out from
is_loop_prefetching_profitable to implement the instruction to
memory reference ratio heuristic.  Also consider not reasonable if
the memory reference count is above a threshold (to avoid
explosive compilation time.
(insn_to_prefetch_ratio_too_small_p): New.  Pull out from
is_loop_prefetching_profitable to implement the instruction to
prefetch ratio heuristic.
(is_loop_prefetching_profitable): Removed.
(loop_prefetch_arrays): Distribute the cost analysis across the
function to allow early exit of the prefetch analysis.
is_loop_prefetching_profitable is splitted into three functions,
with each one called as early as possible.
(PREFETCH_MAX_MEM_REFS_PER_LOOP): New.  Threshold above which the
number of memory references in a loop is considered too many.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162023 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm.md (cbranchqi4): Fix array size.
bernds [Fri, 9 Jul 2010 21:51:16 +0000 (21:51 +0000)]
* config/arm/arm.md (cbranchqi4): Fix array size.
(addsi3_cbranch): Also andle alternative 2 like alternative 3 when
calculating length.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162022 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm.md (Thumb-1 ldrsb peephole): New.
bernds [Fri, 9 Jul 2010 21:45:44 +0000 (21:45 +0000)]
* config/arm/arm.md (Thumb-1 ldrsb peephole): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162021 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
bernds [Fri, 9 Jul 2010 21:44:11 +0000 (21:44 +0000)]
* config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162020 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * reload.c (find_reloads): Don't clear badop if we have a
bernds [Fri, 9 Jul 2010 21:40:48 +0000 (21:40 +0000)]
* reload.c (find_reloads): Don't clear badop if we have a
winreg alternative, but not win, and the class only has fixed
regs.
* hard-reg-set.h (class_only_fixed_regs): Declare.
* reginfo.c (class_only_fixed_regs): New array.
(init_reg_sets_1): Initialize it.
* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
discourage alternatives using the stack pointer.

testsuite/
* gcc.dg/pr32370.c: Allow another kind of error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162019 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Jul 2010 21:37:54 +0000 (21:37 +0000)]
2010-07-09  Richard Guenther  <rguenther@suse.de>

* gimple.c (struct type_fixup_s): New struct and VEC type.
(gimple_register_type_fixups): New static global.
(gimple_queue_type_fixup): New function.
(gimple_types_compatible_p): Queue type fixups instead of
applying them here.
(gimple_register_type): Apply queued fixups for the
canonical type.  Empty the type fixup queue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162017 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config.in: Regenerate.
uros [Fri, 9 Jul 2010 21:09:04 +0000 (21:09 +0000)]
* config.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162016 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
uros [Fri, 9 Jul 2010 21:00:08 +0000 (21:00 +0000)]
    * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
        * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162015 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
ebotcazou [Fri, 9 Jul 2010 20:23:14 +0000 (20:23 +0000)]
* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
CALL_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162014 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/28632
jakub [Fri, 9 Jul 2010 19:40:03 +0000 (19:40 +0000)]
PR tree-optimization/28632
* tree-vrp.c (zero_nonzero_bits_from_vr): New function.
(extract_range_from_binary_expr): Further optimize
BIT_AND_EXPR and BIT_IOR_EXPR.

* gcc.dg/tree-ssa/vrp51.c: New test.
* gcc.dg/tree-ssa/vrp52.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162009 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/43120
jason [Fri, 9 Jul 2010 19:36:19 +0000 (19:36 +0000)]
PR c++/43120
* cp-tree.h (BV_LOST_PRIMARY): New macro.
* class.c (update_vtable_entry_for_fn): Fix covariant thunk logic.
Set BV_LOST_PRIMARY.
(build_vtbl_initializer): Check BV_LOST_PRIMARY.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162008 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoOutline fold_or_predicates from add_to_predicate_list.
spop [Fri, 9 Jul 2010 18:58:20 +0000 (18:58 +0000)]
Outline fold_or_predicates from add_to_predicate_list.

2010-07-09  Sebastian Pop  <sebastian.pop@amd.com>

* tree-if-conv.c (fold_or_predicates): New.
(add_to_predicate_list): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162007 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 9 Jul 2010 18:40:09 +0000 (18:40 +0000)]
2010-07-09  Janus Weil  <janus@gcc.gnu.org>

* intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
SIZEOF and C_SIZEOF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162006 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-07-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Jul 2010 18:32:29 +0000 (18:32 +0000)]
2010-07-09  Richard Guenther  <rguenther@suse.de>

PR middle-end/44890
* tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
if base is a pointer.
* tree-cfg.c (verify_expr): Update MEM_REF checking.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162005 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR 44877
meissner [Fri, 9 Jul 2010 16:10:10 +0000 (16:10 +0000)]
PR 44877

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162002 138bc75d-0d04-0410-961f-82ee72b054a4