nemet [Tue, 11 Aug 2009 17:41:09 +0000 (17:41 +0000)]
* config/mips/predicates.md (qi_mask_operand, hi_mask_operand,
si_mask_operand, and_load_operand, low_bitmask_operand,
and_reg_operand, and_operand): New predicates.
* config/mips/constraints.md (Yb, Yh, Yw, Yz): New constraints.
* config/mips/mips.c (and_operands_ok): New function.
* config/mips/mips-protos.h (and_operands_ok): Declare it.
* config/mips/mips.md (move_type): Add ext_ins and logical.
(type): Handle them.
(and<mode>3): Use and_reg_operand as the second operand's
predicate.
(*and<mode>3): Add alternatives for lbu, lhu, lwu, <d>ext and
shift_shift. Remove commutative constraint modifier.
(*and<mode>3_mips16): Add alternatives for lbu, lhu, lwu and
shift_shift.
(*clear_upper32_dext): Remove define_insn_and_split.
(*clear_upper32): Turn this define_insn_and_split ...
(splitter for ANDing register with 0xffff_ffff): .. into this.
testsuite/
* gcc.target/mips/ext-5.c: New test.
* gcc.target/mips/ext-6.c: New test.
* gcc.target/mips/ext-7.c: New test.
* gcc.target/mips/ext-8.c: New test.
* gcc.target/mips/extend-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150657
138bc75d-0d04-0410-961f-
82ee72b054a4
nemet [Tue, 11 Aug 2009 17:31:09 +0000 (17:31 +0000)]
* combine.c (try_widen_shift_mode): Factor out code to check if an
integer constant is a low-order bitmask from here ...
* rtlanal.c (low_bitmask_len): ... to here.
* rtl.h (low_bitmask_len): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150656
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 11 Aug 2009 17:05:38 +0000 (17:05 +0000)]
PR target/8603
* config/alpha/alpha.md (addsi3): Remove expander.
(addsi3): Rename from *addsi3_internal insn pattern.
(subsi3): Remove expander.
(subsi3): Rename from *subsi3_internal insn pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150654
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Tue, 11 Aug 2009 16:41:41 +0000 (16:41 +0000)]
* config/alpha/alpha.c (alpha_init_builtins): Nullify FWRITE and
FWRITE_UNLOCKED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150653
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Tue, 11 Aug 2009 16:33:41 +0000 (16:33 +0000)]
* config/alpha/alpha.c (alpha_return_in_memory): On VMS, ensure
that records that fit in 64 bits are returned by immediate value,
as required by OpenVMS Calling Standard.
(function_value): Adjust for above modification.
(alpha_va_start) <TARGET_ABI_OPEN_VMS>: Use
virtual_incoming_args_rtx as base object, not next_arg.
* config/alpha/vms.h: (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150652
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Tue, 11 Aug 2009 13:56:52 +0000 (13:56 +0000)]
* reload.c (find_reloads_subreg_address): Check the original
req_equiv_mem address to detect the case where an address is
not valid in the outer mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150649
138bc75d-0d04-0410-961f-
82ee72b054a4
guerby [Tue, 11 Aug 2009 11:39:43 +0000 (11:39 +0000)]
2009-08-11 Richard Guenther <rguenther@suse.de>
PR bootstrap/40788
* builtins.c (gimplify_va_arg_expr): Do not call
SET_EXPR_LOCATION.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150648
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Tue, 11 Aug 2009 05:19:31 +0000 (05:19 +0000)]
* config/alpha/vms.h (OPTIMIZATION_OPTIONS): Remove
(OVERRIDE_OPTIONS): Incorporate removed OPTIMIZATION_OPTIONS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150647
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Tue, 11 Aug 2009 05:14:48 +0000 (05:14 +0000)]
* config/alpha/alpha.c (alpha_sa_size): Force procedure type to
PT_STACK when frame_pointer_needed on OpenVMS.
(alpha_pv_save_size, alpha_using_fp): Remove.
(alpha_vms_can_eliminate): New function. Support for CAN_ELIMINATE
with proper processing for PT_NULL.
(alpha_vms_initial_elimination_offset): New function. Support for
INITIAL_ELIMINATION_OFFSET with proper processing for PT_NULL.
(alpha_sa_size): Force procedure type to PT_STACK when
frame_pointer_needed on OpenVMS.
* config/alpha/alpha-protos.h (alpha_pv_save_size): Remove prototype.
(alpha_using_fp): Likewise.
(alpha_vms_can_eliminate): Add prototype.
(alpha_vms_initial_elimination_offset): Likewise.
* config/alpha/vms.h (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
Call alpha_vms_can_eliminate and alpha_vms_initial_elimination_offset.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150646
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Tue, 11 Aug 2009 05:00:51 +0000 (05:00 +0000)]
* config/alpha/alpha.c (common_object_handler): New function.
(vms_attribute_table): Declare a single attribute "common_object".
(vms_output_aligned_decl_common): New global function.
(SECTION_VMS_OVERLAY): Delete.
(SECTION_VMS_GLOBAL): Likewise.
(SECTION_VMS_INITIALIZE): Likewise.
(vms_asm_named_section): Remove support for above flags.
(vms_section_type_flags): Delete.
(TARGET_SECTION_TYPE_FLAGS): Likewise.
* config/alpha/alpha-protos.h (vms_output_aligned_decl_common): New.
* config/alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): New macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150645
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Tue, 11 Aug 2009 04:30:35 +0000 (04:30 +0000)]
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* include/std/future: Move error handling bits outside macro guard.
* src/future.cc: Adjust.
* include/precompiled/stdc++.h: Add future.
* doc/xml/manual/using.xml: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150642
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Tue, 11 Aug 2009 01:24:59 +0000 (01:24 +0000)]
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* src/hashtable.cc: Just definitions.
* src/hashtable_c++0x.cc: Compile C++0x versions.
* src/hash.cc: Same.
* src/hash_c++0x.cc: Same.
src/hash_tr1.cc: Compile TR1 versions.
src/hashtable_tr1.cc: Same.
* src/limits_c++0x.cc: Sync build error handling.
* src/Makefile.am (sources): Change hash.cc to hash_tr1.cc,
hashtable.cc to hashtable_tr1.cc.
* src/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150641
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Tue, 11 Aug 2009 00:29:21 +0000 (00:29 +0000)]
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1_impl/functional: Doxygen markup.
* doc/html/*: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150640
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 11 Aug 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150639
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Mon, 10 Aug 2009 20:57:35 +0000 (20:57 +0000)]
PR target/41015
* longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list.
(sub_ddmmss): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150635
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 10 Aug 2009 20:47:55 +0000 (20:47 +0000)]
Implement DR 757: It's OK for a decl to use a type without linkage
so long as the decl is defined in the current translation unit.
* decl2.c (no_linkage_decls): New vector.
(mark_used): Add decls that use types with no linkage.
(cp_write_global_declarations): Check that they are defined.
(decl_defined_p, no_linkage_error): New fns.
* cp-tree.h (DECL_NO_LINKAGE_CHECKED): New macro.
(struct lang_decl_base): Add flag.
* decl.c (grokfndecl): Don't check type linkage.
(grokvardecl): If the type has no linkage, just make sure
DECL_LANG_SPECIFIC is set.
* pt.c (check_instantiated_arg): Don't check type linkage.
* name-lookup.c (is_local_extern): New fn.
* name-lookup.h: Declare it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150634
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 10 Aug 2009 18:24:47 +0000 (18:24 +0000)]
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* include/std/future: Fixes for -fno-exceptions.
* include/bits/functexcept.h: Same.
* libsupc++/exception_ptr.h: Same.
* src/pool_allocator.cc: Same.
* src/future.cc: Same.
* src/functexcept.cc: Same.
* config/abi/pre/gnu.ver: New exports.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/copy_neg.cc: Same.
* testsuite/23_containers/deque/operators/1.cc: Separate in two...
* testsuite/23_containers/deque/operators/2.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150633
138bc75d-0d04-0410-961f-
82ee72b054a4
andreast [Mon, 10 Aug 2009 18:23:57 +0000 (18:23 +0000)]
2009-08-10 Andreas Tobler <a.tobler@schweiz.org>
PR bootstrap/41018
* config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright
year.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150632
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Mon, 10 Aug 2009 17:10:50 +0000 (17:10 +0000)]
2009-08-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
testsuite/
* gcc.dg/dg.exp: Test also c-c++-common dir.
* g++.dg/dg.exp: Likewise.
* g++.dg/warn/Wconversion-real.C: Delete.
* gcc.dg/Wconversion-real.c: Move to ...
* c-c++-common/Wconversion-real.c: ... here.
* lib/target-supports.exp
(check_effective_target_c,check_effective_target_c++): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150627
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Mon, 10 Aug 2009 15:34:09 +0000 (15:34 +0000)]
PR target/37053
* reload1.c (reload_as_needed): Use cancel_changes to completely
undo a failed replacement attempt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150626
138bc75d-0d04-0410-961f-
82ee72b054a4
nvachhar [Mon, 10 Aug 2009 14:57:24 +0000 (14:57 +0000)]
* Moved ChangeLog entry to the correct ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150625
138bc75d-0d04-0410-961f-
82ee72b054a4
guerby [Mon, 10 Aug 2009 10:52:37 +0000 (10:52 +0000)]
2009-08-10 Laurent GUERBY <laurent@guerby.net>
* make.adb: Handle multilib
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150623
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Mon, 10 Aug 2009 10:51:46 +0000 (10:51 +0000)]
2009-08-10 Daniel Kraft <d@domob.eu>
PR fortran/37425
* gfortran.dg/typebound_operator_1.f03: New test.
* gfortran.dg/typebound_operator_2.f03: New test.
2009-08-10 Daniel Kraft <d@domob.eu>
PR fortran/37425
* gfortran.h (struct gfc_namespace): New fields tb_uop_root and tb_op.
(gfc_find_typebound_user_op): New routine.
(gfc_find_typebound_intrinsic_op): Ditto.
(gfc_check_operator_interface): Now public routine.
* decl.c (gfc_match_generic): Match OPERATOR(X) or ASSIGNMENT(=).
* interface.c (check_operator_interface): Made public, renamed to
`gfc_check_operator_interface' accordingly and hand in the interface
as gfc_symbol rather than gfc_interface so it is useful for type-bound
operators, too. Return boolean result.
(gfc_check_interfaces): Adapt call to `check_operator_interface'.
* symbol.c (gfc_get_namespace): Initialize new field `tb_op'.
(gfc_free_namespace): Free `tb_uop_root'-based tree.
(find_typebound_proc_uop): New helper function.
(gfc_find_typebound_proc): Use it.
(gfc_find_typebound_user_op): New method.
(gfc_find_typebound_intrinsic_op): Ditto.
* resolve.c (resolve_tb_generic_targets): New helper function.
(resolve_typebound_generic): Use it.
(resolve_typebound_intrinsic_op), (resolve_typebound_user_op): New.
(resolve_typebound_procedures): Resolve operators, too.
(check_uop_procedure): New, code from gfc_resolve_uops.
(gfc_resolve_uops): Moved main code to new `check_uop_procedure'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150622
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 10 Aug 2009 09:22:47 +0000 (09:22 +0000)]
2009-08-10 Richard Guenther <rguenther@suse.de>
PR middle-end/41006
* tree-ssa.c (useless_type_conversion_p_1): Fold into ...
(useless_type_conversion_p): ... here. Require pointer targets
to be compatible.
* gcc.c-torture/compile/pr41006-1.c: New testcase.
* gcc.c-torture/compile/pr41006-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150621
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 10 Aug 2009 09:19:24 +0000 (09:19 +0000)]
2009-08-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/40940
* decl.c (gfc_match_type_spec): Match CLASS statement and warn about
missing polymorphism.
* gfortran.h (gfc_typespec): Add field 'is_class'.
* misc.c (gfc_clear_ts): Initialize 'is_class' to zero.
* resolve.c (type_is_extensible): New function to check if a derived
type is extensible.
(resolve_fl_variable_derived): Add error checks for CLASS variables.
(resolve_typebound_procedure): Disallow non-polymorphic passed-object
dummy arguments, turning warning into error.
(resolve_fl_derived): Use 'type_is_extensible'. Disallow non-polymorphic
passed-object dummy arguments for procedure pointer components,
turning warning into error. Add error check for CLASS components.
2009-08-10 Janus Weil <janus@gcc.gnu.org>
PR fortran/40940
* gfortran.dg/class_1.f03: New.
* gfortran.dg/class_2.f03: New.
* gfortran.dg/proc_ptr_comp_pass_1.f90: Use CLASS instead of TYPE.
* gfortran.dg/proc_ptr_comp_pass_2.f90: Ditto.
* gfortran.dg/proc_ptr_comp_pass_3.f90: Ditto.
* gfortran.dg/typebound_call_10.f03: Ditto.
* gfortran.dg/typebound_call_2.f03: Ditto.
* gfortran.dg/typebound_call_3.f03: Ditto.
* gfortran.dg/typebound_call_4.f03: Ditto.
* gfortran.dg/typebound_generic_3.f03: Ditto.
* gfortran.dg/typebound_generic_4.f03: Ditto.
* gfortran.dg/typebound_proc_1.f08: Ditto.
* gfortran.dg/typebound_proc_5.f03: Ditto.
* gfortran.dg/typebound_proc_6.f03: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150620
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 10 Aug 2009 08:33:30 +0000 (08:33 +0000)]
2009-08-10 Vincent Celier <celier@adacore.com>
* prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
the temporary file name in the error message when the temporary file
cannot be created.
2009-08-10 Yannick Moy <moy@adacore.com>
* gnat_ugn.texi: Fix typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150619
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 10 Aug 2009 08:25:49 +0000 (08:25 +0000)]
2009-08-10 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb: Add ??? comment for last change
2009-08-10 Vincent Celier <celier@adacore.com>
* prj-env.adb (Add_To_Buffer): New procedure
(Create_Config_Pragmas_File): Write to temporary file in one shot
(Create_Mapping_File): Ditto
(Set_Ada_Paths): Ditto
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150618
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 10 Aug 2009 08:25:05 +0000 (08:25 +0000)]
2009-08-10 Vincent Celier <celier@adacore.com>
PR ada/17566
* xref_lib.adb (Print_Xref): Make sure that there is at least one space
between a declaration name and its type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150617
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Mon, 10 Aug 2009 07:16:08 +0000 (07:16 +0000)]
2009-08-10 Dodji Seketeli <dodji@redhat.com>
gcc/ChangeLog:
PR c++/40866
* tree-inline.c (copy_statement_list): The resulting copy shouldn't
loose the original type of the statement list.
gcc/testsuite/ChangeLog:
PR c++/40866
* g++.dg/expr/stmt-expr-1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150615
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Mon, 10 Aug 2009 04:50:23 +0000 (04:50 +0000)]
* config/alpha/alpha.c: Include libfuncs.h
(avms_asm_output_extern): New function.
(alpha_init_libfuncs): Init some decc libfuncs.
* config/alpha/alpha-protos.h (avms_asm_output_external): Declare.
* config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Define.
(DO_CRTL_NAMES): Define.
(LIB_SPEC): Remove.
* config/alpha/vms64.h: (POINTERS_EXTEND_UNSIGNED): Remove undef.
(LONG_TYPE_SIZE): Define.
(TARGET_OS_CPP_BUILTINS): Define with __LONG_POINTERS=1
(SUBTARGET_SWITCHES): Define malloc64 switch.
(TARGET_DEFAULT): Default MASK_MALLOC64 set.
(MASK_RETURN_ADDR): Define.
doc/invoke.texi (mmalloc64): Document switch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150614
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)]
* config/alpha/alpha.c (struct machine_function): New flag for VMS,
uses_condition_handler.
(alpha_expand_builtin_establish_vms_condition_handler): New expander.
(alpha_expand_builtin_revert_vms_condition_handler): New expander.
(enum alpha_builtin): New ALPHA_BUILTIN_REVERT_VMS_CONDITION_HANDLER
and ALPHA_BUILTIN_ESTABLISH_VMS_CONDITION_HANDLER values.
(code_for_builtin): New insn codes for the new alpha_builtins.
(alpha_init_builtins): Register the new functions as BUILT_IN_MD.
(alpha_sa_size): Account for uses_condition_handler.
(alpha_expand_prologue): Likewise.
(alpha_start_function): Likewise.
(alpha_expand_epilogue): Likewise.
* config/alpha/alpha-protos.h: Prototype the new alpha.c builtin
establish/revert expanders.
* config/alpha/alpha.h (DWARF_FRAME_REGNUM): Define.
* config/alpha/alpha.md (builtin_establish_vms_condition_handler):
New expander, resorting to the alpha.c associated function.
(builtin_revert_vms_condition_handler): Likewise.
* config/alpha/vms-gcc_shell_handler.c: New file. Implements
__gcc_shell_handler, the static VMS condition handler used as
an indirection wrapper to the current dynamically established
handler.
* config/alpha/vms-unwind.h: Complete rewrite.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms-gcc_shell_handler.c
* config/alpha/vms.h (MD_UNWIND_SUPPORT):
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150612
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Mon, 10 Aug 2009 04:12:45 +0000 (04:12 +0000)]
* config/alpha/alpha.c (alpha_links): Add 'target' field.
(alpha_need_linkage): Handle aliases. Return function symbol.
(alpha_use_linkage): Rename 'linkage' argument to 'func'.
Use ultimate alias target for the linkage name.
* config/alpha/alpha.md (movmemdi): Use the symbol returned
by alpha_need_linkage for the function symbol.
(setmemdi): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150611
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Mon, 10 Aug 2009 04:05:54 +0000 (04:05 +0000)]
* config/alpha/alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.
* config/alpha/vms.h (OBJECT_FORMAT_ELF): Define.
(ASM_WEAKEN_LABEL): Define.
(CRT_CALL_STATIC_FUNCTION): Define.
(STARTFILE_SPEC): Add crtbegin.o crtbeginS.o.
(ENDFILE_SPEC): Define.
(INIT_SECTION_ASM_OP): Define.
* config/alpha/vms-dwarf2eh.asm (__EH_FRAME_BEGIN__): Remove.
* config/alpha/t-vms (EXTRA_PARTS): Add crtbegin.o crtbeginS.o
crtend.o crtendS.o.
(MULTILIB_OSDIRNAMES): Define.
(shlib_version): Define.
(SHLIB_EXT): Define.
(SHLIB_OBJS): Define.
(SHLIB_NAME): Define.
(SHLIB_MULTILIB): Define.
(SHLIB_INSTALL): Define.
(SHLIB_SYMVEC): Define.
(SHLIB_SYMVECX2): Define.
(SHLIB_LINK): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150610
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Mon, 10 Aug 2009 03:56:39 +0000 (03:56 +0000)]
* config/alpha/alpha.c (alpha_initialize_trampoline):
Initialize VMS trampoline IAW ABI for bounded procedure calls.
(alpha_start_function): Emit transfer address on nested functions
for VMS trampoline call.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Remove vms_tramp.asm
since no longer used.
* config/alpha/vms-tramp.asm: Remove.
* config/alpha/vms.h (TRAMPOLINE_TEMPLATE): Leave undefined
since now only data initialized at runtime.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150609
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Mon, 10 Aug 2009 03:26:59 +0000 (03:26 +0000)]
* config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Define.
(LINK_GCC_C_SEQUENCE_SPEC): Define.
(MD_EXEC_PREFIX): Remove, no longer used.
(MD_STARTFILE_PREFIX): Likewise.
(INCLUDE_DEFAULTS): Likewise.
* config/alpha/t-vms:
(vms-dwarf2.o, vms-dwarf2eh.o): Use GCC_FOR_TARGET to compile.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150608
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 10 Aug 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150603
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 9 Aug 2009 20:10:41 +0000 (20:10 +0000)]
2009-08-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41016
* tree-ssa-ifcombine.c (get_name_for_bit_test): Fix tuplification
bug.
(operand_precision): Remove.
(integral_operand_p): Likewise.
(recognize_single_bit_test): Adjust.
* gcc.c-torture/compile/pr41016.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150595
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 9 Aug 2009 18:38:04 +0000 (18:38 +0000)]
gcc/
* c-common.c (c_fully_fold_internal): Issue a warning if a binary
operation overflows. Likewise non-cast unary arithmetic.
If one arm of a conditional expression is always taken,
inhibit evaluation warnings for the other arm. Likewise inhibit
evaluation warnings for the second && or || operand if the first
operand is enough to determine the result.
* c-typeck.c (build_conditional_expr): Apply the same inhibition
rules here.
(build_binary_op): Prevent duplicate evaluation warnings.
gcc/testsuite/
* gcc.dg/overflow-warn-8.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150594
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 9 Aug 2009 15:56:27 +0000 (15:56 +0000)]
gcc/
* tree-out-of-ssa.c (insert_value_copy_on_edge): If the source
and destination have different modes, Use promote_mode to
determine the signedness of the conversion. Assert that the
promoted source mode matches the destination mode. Don't pass
the destination and destination mode to expand_expr if the source
mode is different. Simplify conversion logic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150592
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Sun, 9 Aug 2009 12:13:19 +0000 (12:13 +0000)]
PR tree-optimization/41008
* tree-vect-loop.c (vect_is_simple_reduction): Get operands
from condition only in case it's a comparison. Adjust checks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150591
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Sun, 9 Aug 2009 11:02:08 +0000 (11:02 +0000)]
PR libfortran/40549
* Makefile.in (LTLDFLAGS): Add -no-undefined.
* Makefile.am: Regenerate.
* libgfortran.h: Remove unused block of code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150590
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 9 Aug 2009 08:35:36 +0000 (08:35 +0000)]
2009-08-05 Tobias Burnus <burnus@net-b.de>
PR fortran/40955
* gfortran.h (ext_attr_id_t): Add typedef for this enum.
(gfc_add_ext_attribute): Use it.
* decl.c (gfc_match_gcc_attributes): Ditto.
* expr.c (gfc_check_pointer_assign): Ditto.
* symbol.c (gfc_add_ext_attribute): Ditto.
(gfc_copy_attr): Copy also ext_attr.
* resolve.c (resolve_fl_derived,resolve_symbol): Ditto.
* module.c (mio_symbol_attribute): Save ext_attr in the mod
* file.
2009-08-05 Tobias Burnus <burnus@net-b.de>
PR fortran/40955
* gfortran.dg/module_md5_1.f90: Update MD5 check sum.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150589
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Sun, 9 Aug 2009 07:59:12 +0000 (07:59 +0000)]
* tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
* tree-flow.h (renumber_gimple_stmt_uids_in_blocks): Declare it.
* tree-ssa-loop-ivopts.c (comp_cost): Make COST an integer.
(enum iv_position): Add IP_AFTER_USE and IP_BEFORE_USE.
(dump_cand): Handle them.
(struct iv_cand): New members COST_STEP and AINC_USE.
(stmt_after_increment): Likewise.
(stmt_after_inc_pos): Renamed from stmt_after_ip_original_pos. All
callers changed. Use gimple_uid comparison instead of scanning.
(add_candidate_1): When looking for identical candidates, take
AINC_USE into account. Set it for new candidates.
(force_expr_to_var_cost): Cast target_spill_cost to int.
(get_address_cost): New arguments STMT_AFTER_INC and MAY_AUTOINC.
All callers changed. Check for availability of autoinc addressing
modes, both in general for a given mode, and in the specific use
case.
(get_computation_cost_at): New argument CAN_AUTOINC. All callers
changed.
(get_computation_cost): Likewise.
(autoinc_possible_for_pair, set_autoinc_for_original_candidates,
add_autoinc_candidates): New static functions.
(add_candidate): Call add_autoinc_candidates for candidates based on
a USE_ADDRESS use.
(find_iv_candidates): Call set_autoinc_for_original_candidates.
(determine_use_iv_cost_address): If we have an autoinc candidate at
the matching use, verify autoinc is possible and subtract the cost
of the candidate's step from the cost.
(determine_iv_cost): Record the cost of the increment in the COST_STEP
member of the candidate.
(tree_ssa_iv_optimize_loop): Swap the calls to determine_iv_costs and
determine_use_iv_costs. Call renumber_gimple_stmt_uids_in_blocks.
testsuite/
* gcc.target/bfin/loop-autoinc.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150588
138bc75d-0d04-0410-961f-
82ee72b054a4
rupp [Sun, 9 Aug 2009 07:05:11 +0000 (07:05 +0000)]
* config.build (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* config.gcc (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* config.host (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* libgcc/config.host (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150587
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 9 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150584
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sat, 8 Aug 2009 15:32:36 +0000 (15:32 +0000)]
2009-08-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40991
* tree-ssa-pre.c (eliminate): Delay purging EH edges.
* g++.dg/torture/pr40991.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150580
138bc75d-0d04-0410-961f-
82ee72b054a4
guerby [Sat, 8 Aug 2009 11:35:44 +0000 (11:35 +0000)]
2009-08-08 Laurent GUERBY <laurent@guerby.net>
* ada/acats/support/impdef.a: Tweak timing constants. Add
Long_Minimum_Task_Switch and Long_Switch_To_New_Task.
* ada/acats/tests/c9/c940005.a: Use new timing constants.
* ada/acats/tests/c9/c940007.a: Likewise.
* ada/acats/tests/c9/c94001c.ada: Likewise.
* ada/acats/tests/c9/c94006a.ada: Likewise.
* ada/acats/tests/c9/c94008c.ada: Likewise.
* ada/acats/tests/c9/c951002.a: Likewise.
* ada/acats/tests/c9/c954a01.a: Likewise.
* ada/acats/tests/c9/c96001a.ada: Likewise.
* ada/acats/tests/c9/c97307a.ada: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150579
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 8 Aug 2009 08:32:24 +0000 (08:32 +0000)]
gcc/
* combine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from
mode check. Do truncations in an integer mode.
(force_to_mode): Handle subregs for all mode types. Only do
arithmetic simplifications on integer modes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150578
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 8 Aug 2009 00:16:56 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150577
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 7 Aug 2009 17:02:43 +0000 (17:02 +0000)]
2009-08-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40999
* tree-ssa-ccp.c (get_symbol_constant_value): Handle CONST_DECLs.
(maybe_fold_reference): Lookup constant initializers.
(fold_gimple_assign): Likewise.
* gfortran.dg/pr40999.f: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150572
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Fri, 7 Aug 2009 13:13:12 +0000 (13:13 +0000)]
2009-08-07 Dodji Seketeli <dodji@redhat.com>
PR c++/39987
* gcc/testsuite/g++.dg/overload/defarg4.C: Oops, forgot to add
the testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150568
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 7 Aug 2009 10:13:44 +0000 (10:13 +0000)]
2009-08-07 Paolo Carlini <paolo.carlini@oracle.com>
* src/hash.cc (hash<string>::operator()(string),
hash<wstring>::operator()(wstring)): Do not decorate as throwing
nothing.
* include/bits/functional_hash.h (hash<error_code>::
operator()(error_code)): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150566
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 7 Aug 2009 09:58:18 +0000 (09:58 +0000)]
2009-08-07 Javier Miranda <miranda@adacore.com>
* exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
SCIL node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150565
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 7 Aug 2009 09:55:42 +0000 (09:55 +0000)]
2009-08-07 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
2009-08-07 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
specified on the command line and there are switches in the Compiler
package of the project file, use these compilation switches to invoke
the tool.
2009-08-07 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
2009-08-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
even if not in main unit, to simplify debugging.
2009-08-07 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150564
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 7 Aug 2009 09:42:01 +0000 (09:42 +0000)]
2009-08-07 Robert Dewar <dewar@adacore.com>
* types.ads: Minor reformatting
* sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
* frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
Output_Non_Modified_In_Out_Warnings.
* sem_ch13.adb: Remove ??? comment.
2009-08-07 Vincent Celier <celier@adacore.com>
* mlib-prj.adb (Build_Library): Include binder generate object file
for SAL when library name is only one character.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150563
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 7 Aug 2009 09:29:01 +0000 (09:29 +0000)]
2009-08-07 Thomas Quinot <quinot@adacore.com>
* targparm.adb: Minor reformatting
* sem.adb: Minor reformatting
* exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
2009-08-07 Emmanuel Briot <briot@adacore.com>
* prj-conf.adb: Remove duplicate directory separator in the output when
an object directory does not exist.
2009-08-07 Robert Dewar <dewar@adacore.com>
* exp_util.adb: Minor reformatting
2009-08-07 Vincent Celier <celier@adacore.com>
* mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
length used).
2009-08-07 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
detect non-static private components that will violate restriction
No_Implicit_Heap_Allocation.
2009-08-07 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150562
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 7 Aug 2009 09:10:13 +0000 (09:10 +0000)]
* dwarf2out.c (output_fde): When doing hot/cold partitioning, use
fde->dw_fde_begin as begin label instead of hot/cold label.
Use LLSDAC label instead of LLSDA for second section lsda.
(dwarf2out_do_cfi_startproc): Add SECOND argument. Use LLSDAC
label instead of LLSDA if it is true.
(dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust
callers.
* except.c (add_call_site, dw2_size_of_call_site_table): Add
SECTION argument. Use it as index into crtl->eh.call_site_record
array.
(dw2_output_call_site_table): Likewise. Add CS_FORMAT argument,
use it to determine how to print table entries instead of using
#ifdef HAVE_AS_LEB128. For SECTION > 0 use hot resp. cold
label instead of normal begin label as base.
(sjlj_assign_call_site_values): Adjust add_call_site caller.
(convert_to_eh_region_ranges): When doing hot/cold partitioning,
ensure no EH range spans between sections and that landing pads
are always in the corresponding section.
(sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust
for crtl->eh.call_site_record being an array rather than scalar.
(output_one_function_exception_table): New function, copied
from output_function_exception_table. Adjust
dw2_size_of_call_site_table, dw2_output_call_site_table
callers. For SECOND section use *C suffixed labels.
(output_function_exception_table): Call
output_one_function_exception_table and, when doing hot/cold
partitioning, also another time for the second section.
* opts.c: Include except.h.
(decode_options): Allow -freorder-blocks-and-partition with
exceptions, unless SJLJ or TARGET_UNWIND_INFO.
* Makefile.in (opts.o): Depend on $(EXCEPT_H).
* function.h (struct rtl_eh): Change call_site_record from
scalar into array of 2 elements.
* g++.dg/tree-prof/partition1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150560
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 7 Aug 2009 08:54:53 +0000 (08:54 +0000)]
2009-08-07 Richard Guenther <rguenther@suse.de>
* tree-ssa.c (useless_type_conversion_p_1): Only for types
that require structural equality defer to the langhook.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150559
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 7 Aug 2009 07:15:41 +0000 (07:15 +0000)]
2009-08-07 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed
comments.
(struct ipa_pass_through_data): New type.
(struct ipa_ancestor_jf_data): New type.
(union jump_func_value): Removed field formal_id, added fields
pass_through and ancestor.
(struct ipa_param_call_note): Changed type of formal_id to int from
unsigned.
* ipa-prop.c (ipa_print_node_jump_functions): Print pass through with
operations jump functions and ancestor jump functions.
(compute_complex_pass_through): New function.
(compute_scalar_jump_functions): Call compute_complex_pass_through,
reflect changes in the jump function strucutre.
(update_jump_functions_after_inlining): Ignore complex pass-through
and ancestor jump functions.
* ipa-cp.c (ipcp_lattice_from_jfunc): Added support for ancestor and
polynomial pass-through with operation jump functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150554
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 7 Aug 2009 06:23:42 +0000 (06:23 +0000)]
* dwarf2out.c (output_fde): When doing hot/cold partitioning, use
fde->dw_fde_begin as begin label instead of hot/cold label.
Use LLSDAC label instead of LLSDA for second section lsda.
(dwarf2out_do_cfi_startproc): Add SECOND argument. Use LLSDAC
label instead of LLSDA if it is true.
(dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust
callers.
* except.c (add_call_site, dw2_size_of_call_site_table): Add
SECTION argument. Use it as index into crtl->eh.call_site_record
array.
(dw2_output_call_site_table): Likewise. Add CS_FORMAT argument,
use it to determine how to print table entries instead of using
#ifdef HAVE_AS_LEB128. For SECTION > 0 use hot resp. cold
label instead of normal begin label as base.
(sjlj_assign_call_site_values): Adjust add_call_site caller.
(convert_to_eh_region_ranges): When doing hot/cold partitioning,
ensure no EH range spans between sections and that landing pads
are always in the corresponding section.
(sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust
for crtl->eh.call_site_record being an array rather than scalar.
(output_one_function_exception_table): New function, copied
from output_function_exception_table. Adjust
dw2_size_of_call_site_table, dw2_output_call_site_table
callers. For SECOND section use *C suffixed labels.
(output_function_exception_table): Call
output_one_function_exception_table and, when doing hot/cold
partitioning, also another time for the second section.
* opts.c: Include except.h.
(decode_options): Allow -freorder-blocks-and-partition with
exceptions, unless SJLJ or TARGET_UNWIND_INFO.
* Makefile.in (opts.o): Depend on $(EXCEPT_H).
* function.h (struct rtl_eh): Change call_site_record from
scalar into array of 2 elements.
* g++.dg/tree-prof/partition1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150553
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 7 Aug 2009 00:51:34 +0000 (00:51 +0000)]
2009-08-07 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (count_formal_params_1): New function.
(ipa_get_vector_of_formal_parms): New function.
(get_vector_of_formal_parm_types): New function.
(ipa_modify_formal_parameters): New function.
(ipa_modify_call_arguments): New function.
(index_in_adjustments_multiple_times_p): New function.
(ipa_combine_adjustments): New function.
(ipa_dump_param_adjustments): New function.
* ipa-prop.h (struct ipa_parm_adjustment): New type.
(ipa_get_vector_of_formal_parms): Declare.
(ipa_modify_formal_parameters): Declare.
(ipa_modify_call_arguments): Declare.
(ipa_combine_adjustments): Declare.
(ipa_dump_param_adjustments): Declare.
(build_ref_for_offset): Declare.
* Makefile.in (tree-sra.o): Add ipa-prop.h to dependencies.
* tree-sra.c: Include ipa-prop.c.
(build_ref_for_offset): Make public.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150551
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 7 Aug 2009 00:17:09 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150550
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Thu, 6 Aug 2009 22:02:34 +0000 (22:02 +0000)]
2009-08-06 Thomas Schwinge <tschwinge@gnu.org>
* gcc/doc/extend.texi (__builtin_extract_return_address)
(__builtin_frob_return_address): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150546
138bc75d-0d04-0410-961f-
82ee72b054a4
kazu [Thu, 6 Aug 2009 21:05:42 +0000 (21:05 +0000)]
* config/arm/lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Only use Thumb-1
implementation on ARMv6-M.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150545
138bc75d-0d04-0410-961f-
82ee72b054a4
nvachhar [Thu, 6 Aug 2009 20:45:26 +0000 (20:45 +0000)]
* value-prof.c (init_pid_map): Replace xmalloc with XCNEWVEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150544
138bc75d-0d04-0410-961f-
82ee72b054a4
nvachhar [Thu, 6 Aug 2009 20:27:41 +0000 (20:27 +0000)]
* MAINTAINERS: Add my name to Write After Approval list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150541
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Thu, 6 Aug 2009 19:33:33 +0000 (19:33 +0000)]
2009-08-06 Benjamin Kosnik <bkoz@redhat.com>
* src/compatibility.cc: Make C++0x safe, add in explicit casts to
bool for stream sentry objects.
* include/bits/istream.tcc: Same.
* include/bits/ostream.tcc: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/ostream_insert.h: Same.
* src/istream.cc: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150539
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 6 Aug 2009 18:15:19 +0000 (18:15 +0000)]
* gcc.target/arm/abitest.h: Allow the test function to have a PCS
attribute.
* gcc.target/arm/vfp1[567].c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150536
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Thu, 6 Aug 2009 17:48:24 +0000 (17:48 +0000)]
* configure.ac: Add Microblaze target.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150535
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 6 Aug 2009 16:47:57 +0000 (16:47 +0000)]
* doc/extend.texi (pcs): Document new attribute for ARM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150531
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 6 Aug 2009 16:31:02 +0000 (16:31 +0000)]
* arm.c (pcs_attribute_args): Comment out unsupported attribute
variants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150530
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 6 Aug 2009 16:25:19 +0000 (16:25 +0000)]
PR c++/40948
* init.c (build_vec_init): Evaluate the initializer before
starting the initialization try block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150529
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 6 Aug 2009 16:19:14 +0000 (16:19 +0000)]
* arm.c (arm_handle_pcs_attribute): Pass the entire name object to
warning ().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150528
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 6 Aug 2009 15:14:56 +0000 (15:14 +0000)]
* arm.c (arm_handle_pcs_attribute): Use %qE in warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150527
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 6 Aug 2009 14:30:22 +0000 (14:30 +0000)]
Fix merge botch -- this changelog should have been merged.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150526
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 6 Aug 2009 14:27:45 +0000 (14:27 +0000)]
Merge ARM/hard_vfp_branch to trunk
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150525
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 6 Aug 2009 11:55:30 +0000 (11:55 +0000)]
2009-08-06 Martin Jambor <mjambor@suse.cz>
PR middle-end/32964
* testsuite/gcc.dg/tree-ssa/pr32964.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150523
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 6 Aug 2009 11:43:38 +0000 (11:43 +0000)]
PR target/40957
* config/i386/i386.c (standard_sse_mode_p): Remove.
(standard_sse_constant_p): Return 2 for integer mode
vector_all_ones_operand when SSE2 is enabled.
(standard_sse_constant_opcode)<case 2>: Always return [v]pcmpeqd.
(ix86_expand_vector_move): Do not check for negative values from
standard_sse_constant_p.
testsuite/ChangeLog:
PR target/40957
* gcc.target/i386/pr40957: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150520
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 6 Aug 2009 11:31:20 +0000 (11:31 +0000)]
2009-08-06 Richard Guenther <rguenther@suse.de>
* tree-ssa.c (useless_type_conversion_p_1): Make function and
array type comparisons frontend independent.
* Makefile.in (tree-ssa.o): Add $(TARGET_H) dependency.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Always fill
out array reference lower bound and element size operands.
(ao_ref_init_from_vn_reference): Properly compute the offset
for ARRAY_RANGE_REF.
(vn_reference_fold_indirect): Fill out array reference lower
bound and element size operands.
* tree-ssa-pre.c (phi_translate_1): Fail if we have to translate
a non gimple valued reference operand which can happen for
array reference lower bound or element size.
(create_component_ref_by_pieces_1): Properly generate the
element size operand for array references.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150519
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 6 Aug 2009 11:29:45 +0000 (11:29 +0000)]
2009-08-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40964
* tree.c (iterative_hash_host_wide_int): Export.
* tree.h (iterative_hash_host_wide_int): Declare.
* tree-ssa-structalias.c (heapvar_map): New struct.
(heapvar_map_eq): New function.
(heapvar_map_hash): Likewise.
(heapvar_lookup): Adjust.
(heapvar_insert): Likewise.
(make_constraint_from_heapvar): Allow multiple heap variables
per decl at different offsets.
(init_alias_heapvars): Adjust.
* gcc.c-torture/compile/pr40964.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150518
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 6 Aug 2009 11:29:13 +0000 (11:29 +0000)]
2009-08-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40964
* tree.c (iterative_hash_host_wide_int): Export.
* tree.h (iterative_hash_host_wide_int): Declare.
* tree-ssa-structalias.c (heapvar_map): New struct.
(heapvar_map_eq): New function.
(heapvar_map_hash): Likewise.
(heapvar_lookup): Adjust.
(heapvar_insert): Likewise.
(make_constraint_from_heapvar): Allow multiple heap variables
per decl at different offsets.
(init_alias_heapvars): Adjust.
* gcc.c-torture/compile/pr40964.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150517
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 6 Aug 2009 11:00:59 +0000 (11:00 +0000)]
* es.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150515
138bc75d-0d04-0410-961f-
82ee72b054a4
daney [Thu, 6 Aug 2009 05:27:40 +0000 (05:27 +0000)]
2009-08-04 David Daney <ddaney@caviumnetworks.com>
* config/mips/mips.h (TARGET_SYNC_AFTER_SC): New macro.
* mips_output_sync_loop (mips_output_sync_loop): Only emit
trailing sync if TARGET_SYNC_AFTER_SC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150513
138bc75d-0d04-0410-961f-
82ee72b054a4
daney [Thu, 6 Aug 2009 05:24:25 +0000 (05:24 +0000)]
2009-08-05 David Daney <ddaney@caviumnetworks.com>
* gcc/config/mips/sync.md (sync_compare_and_swap<mode>,
compare_and_swap_12, sync_add<mode>, sync_<optab>_12,
sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12,
sync_old_nand_12, sync_new_nand_12, sync_sub<mode>,
sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
sync_new_nand<mode>, sync_lock_test_and_set<mode>,
test_and_set_12): Rewrite calls to mips_output_sync_loop.
* gcc/config/mips/mips-protos.h (mips_output_sync_loop): Make
the prototype declaration match the definition.
* gcc/config/mips/mips.c (mips_output_sync_loop): Emit sync
instructions explicitly. Add barrier_before and operands
parameters.
* gcc/config/mips/mips.h (MIPS_COMPARE_AND_SWAP,
MIPS_COMPARE_AND_SWAP_12, MIPS_SYNC_OP, MIPS_SYNC_OP_12,
MIPS_SYNC_OLD_OP_12, MIPS_SYNC_NEW_OP_12, MIPS_SYNC_OLD_OP,
MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE,
MIPS_SYNC_EXCHANGE_12): Remove sync instructions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150512
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 6 Aug 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150508
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 5 Aug 2009 20:47:19 +0000 (20:47 +0000)]
2009-08-05 Tobias Burnus <burnus@net-b.de>
PR fortran/40969
Revert:
2009-08-04 Tobias Burnus <burnus@net-b.de>
PR fortran/40949
* trans-types.c (gfc_get_function_type): Fix typelist of
functions without argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150500
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Wed, 5 Aug 2009 17:20:33 +0000 (17:20 +0000)]
2009-08-05 Andrew Pinski <pinskia@gmail.com>
* tree-ssa-alias.c: Fix intervals to use [) syntax.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150496
138bc75d-0d04-0410-961f-
82ee72b054a4
andreast [Wed, 5 Aug 2009 16:11:54 +0000 (16:11 +0000)]
2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
only build.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150495
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Wed, 5 Aug 2009 16:10:19 +0000 (16:10 +0000)]
2009-08-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40847
* iresolve.c (gfc_resolve_transfer): Correct error in 'mold'
character length for case where length expresson is NULL.
2009-08-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40847
* gfortran.dg/transfer_resolve_1.f90 : New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150493
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Aug 2009 14:49:51 +0000 (14:49 +0000)]
* gcc.target/i386/pr40906-3.c: Run only on *-*-linux* targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150488
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 5 Aug 2009 14:41:54 +0000 (14:41 +0000)]
PR target/40906
* config/i386/i386.c (ix86_split_long_move): Fix push of multi-part
source operand.
testsuite/ChangeLog:
PR target/40906
* gcc.target/i386/pr40906-1.c: New test.
* gcc.target/i386/pr40906-2.c: Ditto.
* gcc.target/i386/pr40906-3.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150486
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 5 Aug 2009 12:36:34 +0000 (12:36 +0000)]
PR rtl-optimization/40924
* dse.c (canon_address): Before calling cselib_expand_value_rtx
make sure canon_rtx (mem_address) isn't simpler than
canon_rtx (expanded_mem_address).
* g++.dg/torture/pr40924.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150483
138bc75d-0d04-0410-961f-
82ee72b054a4
lifeng [Wed, 5 Aug 2009 07:37:36 +0000 (07:37 +0000)]
build alias set for drs in SCoP instead of in pbb.
2009-08-05 Li Feng <nemokingdom@gmail.com>
* graphite-sese-to-poly.c (build_pbb_drs): Remove build alias set
for each poly_bb_p.
(build_scop_drs): Build alias set for each SCoP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150478
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Wed, 5 Aug 2009 00:46:07 +0000 (00:46 +0000)]
2009-08-04 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (MIPS Options): Document new 1004K -march options.
* config/mips/mips.c (mips_cpu_info_table): Add 1004K cores.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Add pattern for 1004K.
(MIPS_ARCH_FLOAT_SPEC): Likewise.
(BASE_DRIVER_SELF_SPECS): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150475
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 5 Aug 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150474
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Tue, 4 Aug 2009 23:51:07 +0000 (23:51 +0000)]
2009-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/36069
cp/
* typeck.c (convert_for_assignment): Do not warn for any boolean
variant. Use explicit location.
testsuite/
* g++.dg/warn/pr36069.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150471
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Tue, 4 Aug 2009 22:45:33 +0000 (22:45 +0000)]
2009-08-04 Andrew Pinski <pinskia@gmail.com>
* tree-ssa-alias.c: Fix some comment typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150470
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Tue, 4 Aug 2009 21:33:50 +0000 (21:33 +0000)]
* config/sh/linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP,
ATOMIC_OP_AND_FETCH, ATOMIC_COMBOP_AND_FETCH): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150469
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Tue, 4 Aug 2009 19:49:48 +0000 (19:49 +0000)]
2009-08-04 Dodji Seketeli <dodji@redhat.com>
gcc/cp/ChangeLog:
PR c++/39987
* pt.c (tsubst_default_argument): Let access checks of the
default argument happen in the context of the current function.
gcc/testsuite/ChangeLog:
PR c++/39987
* g++.dg/overload/defarg4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150467
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 4 Aug 2009 17:35:59 +0000 (17:35 +0000)]
2009-08-04 Tobias Burnus <burnus@net-b.de>
PR fortran/40949
* trans-types.c (gfc_get_function_type): Fix typelist of
functions without argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150465
138bc75d-0d04-0410-961f-
82ee72b054a4