Uros Bizjak [Tue, 11 Aug 2009 17:05:38 +0000 (19:05 +0200)]
re PR target/8603 ([Alpha] s?addl pattern doesn't work)
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.
From-SVN: r150654
Douglas B Rupp [Tue, 11 Aug 2009 16:41:41 +0000 (16:41 +0000)]
alpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED.
* config/alpha/alpha.c (alpha_init_builtins): Nullify FWRITE and
FWRITE_UNLOCKED.
From-SVN: r150653
Vasiliy Fofanov [Tue, 11 Aug 2009 16:33:41 +0000 (16:33 +0000)]
alpha.c (alpha_return_in_memory): On VMS...
* 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.
Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r150652
Ulrich Weigand [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...
* 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.
From-SVN: r150649
Richard Guenther [Tue, 11 Aug 2009 11:39:43 +0000 (11:39 +0000)]
re PR bootstrap/40788 (ICE on sparc: tree check: expected class 'expression', have 'declaration' (var_decl) in gimplify_va_arg_expr, at builtins.c:5107)
2009-08-11 Richard Guenther <rguenther@suse.de>
PR bootstrap/40788
* builtins.c (gimplify_va_arg_expr): Do not call
SET_EXPR_LOCATION.
From-SVN: r150648
Douglas B Rupp [Tue, 11 Aug 2009 05:19:31 +0000 (05:19 +0000)]
vms.h (OPTIMIZATION_OPTIONS): Remove
* config/alpha/vms.h (OPTIMIZATION_OPTIONS): Remove
(OVERRIDE_OPTIONS): Incorporate removed OPTIMIZATION_OPTIONS.
From-SVN: r150647
Olivier Hainque [Tue, 11 Aug 2009 05:14:48 +0000 (05:14 +0000)]
alpha.c (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed on OpenVMS.
* 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.
Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150646
Eric Botcazou [Tue, 11 Aug 2009 05:00:51 +0000 (05:00 +0000)]
alpha.c (common_object_handler): New function.
* 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.
Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150645
Benjamin Kosnik [Tue, 11 Aug 2009 04:30:35 +0000 (04:30 +0000)]
future: Move error handling bits outside macro guard.
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.
From-SVN: r150642
Benjamin Kosnik [Tue, 11 Aug 2009 01:24:59 +0000 (01:24 +0000)]
hashtable.cc: Just definitions.
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.
From-SVN: r150641
Benjamin Kosnik [Tue, 11 Aug 2009 00:29:21 +0000 (00:29 +0000)]
functional: Doxygen markup.
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1_impl/functional: Doxygen markup.
* doc/html/*: Regenerate.
From-SVN: r150640
GCC Administrator [Tue, 11 Aug 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r150639
SUGIOKA Toshinobu [Mon, 10 Aug 2009 20:57:35 +0000 (05:57 +0900)]
re PR target/41015 (SH: miscompilation for sh4-linux)
PR target/41015
* longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list.
(sub_ddmmss): Likewise.
From-SVN: r150635
Jason Merrill [Mon, 10 Aug 2009 20:47:55 +0000 (16:47 -0400)]
Implement DR 757...
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.
From-SVN: r150634
Benjamin Kosnik [Mon, 10 Aug 2009 18:24:47 +0000 (18:24 +0000)]
future: Fixes for -fno-exceptions.
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.
From-SVN: r150633
Andreas Tobler [Mon, 10 Aug 2009 18:23:57 +0000 (18:23 +0000)]
re PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)
2009-08-10 Andreas Tobler <a.tobler@schweiz.org>
PR bootstrap/41018
* config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright
year.
From-SVN: r150632
Manuel López-Ibáñez [Mon, 10 Aug 2009 17:10:50 +0000 (17:10 +0000)]
dg.exp: Test also c-c++-common dir.
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.
From-SVN: r150627
Ulrich Weigand [Mon, 10 Aug 2009 15:34:09 +0000 (15:34 +0000)]
re PR middle-end/37053 (ICE in reload_cse_simplify_operands, at postreload.c:395)
PR target/37053
* reload1.c (reload_as_needed): Use cancel_changes to completely
undo a failed replacement attempt.
From-SVN: r150626
Neil Vachharajani [Mon, 10 Aug 2009 14:57:24 +0000 (14:57 +0000)]
* Moved ChangeLog entry to the correct ChangeLog
From-SVN: r150625
Laurent GUERBY [Mon, 10 Aug 2009 10:52:37 +0000 (10:52 +0000)]
make.adb: Handle multilib
2009-08-10 Laurent GUERBY <laurent@guerby.net>
* make.adb: Handle multilib
From-SVN: r150623
Daniel Kraft [Mon, 10 Aug 2009 10:51:46 +0000 (12:51 +0200)]
re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)
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'.
From-SVN: r150622
Richard Guenther [Mon, 10 Aug 2009 09:22:47 +0000 (09:22 +0000)]
re PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion at assignment)
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.
From-SVN: r150621
Janus Weil [Mon, 10 Aug 2009 09:19:24 +0000 (11:19 +0200)]
re PR fortran/40940 ([F03] CLASS statement)
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.
From-SVN: r150620
Arnaud Charlet [Mon, 10 Aug 2009 08:33:30 +0000 (10:33 +0200)]
[multiple changes]
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
From-SVN: r150619
Arnaud Charlet [Mon, 10 Aug 2009 08:25:49 +0000 (10:25 +0200)]
[multiple changes]
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
From-SVN: r150618
Vincent Celier [Mon, 10 Aug 2009 08:25:05 +0000 (08:25 +0000)]
re PR ada/17566 (Gnatxref formatting)
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.
From-SVN: r150617
Dodji Seketeli [Mon, 10 Aug 2009 07:16:08 +0000 (07:16 +0000)]
re PR c++/40866 (ICE in create_tmp_var, at gimplify.c:504)
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.
From-SVN: r150615
Douglas B Rupp [Mon, 10 Aug 2009 04:50:23 +0000 (04:50 +0000)]
alpha.c: Include libfuncs.h
* 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.
From-SVN: r150614
Olivier Hainque [Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)]
alpha.c (struct machine_function): New flag for VMS, uses_condition_handler.
* 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):
Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150612
Eric Botcazou [Mon, 10 Aug 2009 04:12:45 +0000 (04:12 +0000)]
alpha.c (alpha_links): Add 'target' field.
* 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.
Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150611
Douglas B Rupp [Mon, 10 Aug 2009 04:05:54 +0000 (04:05 +0000)]
alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.
* 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.
From-SVN: r150610
Douglas B Rupp [Mon, 10 Aug 2009 03:56:39 +0000 (03:56 +0000)]
alpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for bounded procedure calls.
* 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.
From-SVN: r150609
Douglas B Rupp [Mon, 10 Aug 2009 03:26:59 +0000 (03:26 +0000)]
vms.h (HANDLE_SYSV_PRAGMA): Define.
* 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.
From-SVN: r150608
GCC Administrator [Mon, 10 Aug 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r150603
Richard Guenther [Sun, 9 Aug 2009 20:10:41 +0000 (20:10 +0000)]
re PR tree-optimization/41016 (ICE in build_int_cst_wide with -O1)
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.
From-SVN: r150595
Richard Sandiford [Sun, 9 Aug 2009 18:38:04 +0000 (18:38 +0000)]
c-common.c (c_fully_fold_internal): Issue a warning if a binary operation overflows.
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.
From-SVN: r150594
Richard Sandiford [Sun, 9 Aug 2009 15:56:27 +0000 (15:56 +0000)]
tree-out-of-ssa.c (insert_value_copy_on_edge): If the source and destination have different modes...
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.
From-SVN: r150592
Ira Rosen [Sun, 9 Aug 2009 12:13:19 +0000 (12:13 +0000)]
re PR tree-optimization/41008 (ICE in vect_is_simple_reduction, at tree-vect-loop.c:1708)
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.
From-SVN: r150591
Francois-Xavier Coudert [Sun, 9 Aug 2009 11:02:08 +0000 (11:02 +0000)]
re PR libfortran/40549 (Building libgfortran as a DLL)
PR libfortran/40549
* Makefile.in (LTLDFLAGS): Add -no-undefined.
* Makefile.am: Regenerate.
* libgfortran.h: Remove unused block of code.
From-SVN: r150590
Tobias Burnus [Sun, 9 Aug 2009 08:35:36 +0000 (10:35 +0200)]
re PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)
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.
From-SVN: r150589
Bernd Schmidt [Sun, 9 Aug 2009 07:59:12 +0000 (07:59 +0000)]
tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
* 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.
From-SVN: r150588
Douglas B Rupp [Sun, 9 Aug 2009 07:05:11 +0000 (07:05 +0000)]
config.build (ia64-hp-*vms*): New target.
* 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*.
From-SVN: r150587
GCC Administrator [Sun, 9 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r150584
Richard Guenther [Sat, 8 Aug 2009 15:32:36 +0000 (15:32 +0000)]
re PR tree-optimization/40991 (ICE: at optimization -02)
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.
From-SVN: r150580
Laurent GUERBY [Sat, 8 Aug 2009 11:35:44 +0000 (11:35 +0000)]
impdef.a: Tweak timing constants.
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.
From-SVN: r150579
Richard Sandiford [Sat, 8 Aug 2009 08:32:24 +0000 (08:32 +0000)]
combine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from mode check.
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.
From-SVN: r150578
GCC Administrator [Sat, 8 Aug 2009 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r150577
Richard Guenther [Fri, 7 Aug 2009 17:02:43 +0000 (17:02 +0000)]
re PR tree-optimization/40999 (ICE in extract_component, at tree-complex.c:625)
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.
From-SVN: r150572
Dodji Seketeli [Fri, 7 Aug 2009 13:13:12 +0000 (15:13 +0200)]
re PR c++/39987 (Rejects default argument that is a template via access failure)
2009-08-07 Dodji Seketeli <dodji@redhat.com>
PR c++/39987
* gcc/testsuite/g++.dg/overload/defarg4.C: Oops, forgot to add
the testcase.
From-SVN: r150568
Paolo Carlini [Fri, 7 Aug 2009 10:13:44 +0000 (10:13 +0000)]
hash.cc (hash<string>::operator()(string), hash<wstring>::operator()(wstring)): Do not decorate as throwing nothing.
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.
From-SVN: r150566
Javier Miranda [Fri, 7 Aug 2009 09:58:18 +0000 (09:58 +0000)]
exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of SCIL node.
2009-08-07 Javier Miranda <miranda@adacore.com>
* exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
SCIL node.
From-SVN: r150565
Arnaud Charlet [Fri, 7 Aug 2009 09:55:42 +0000 (11:55 +0200)]
[multiple changes]
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.
From-SVN: r150564
Arnaud Charlet [Fri, 7 Aug 2009 09:42:01 +0000 (11:42 +0200)]
[multiple changes]
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.
From-SVN: r150563
Arnaud Charlet [Fri, 7 Aug 2009 09:29:01 +0000 (11:29 +0200)]
[multiple changes]
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.
From-SVN: r150562
Jakub Jelinek [Fri, 7 Aug 2009 09:10:13 +0000 (11:10 +0200)]
dwarf2out.c (output_fde): When doing hot/cold partitioning...
* 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.
From-SVN: r150560
Richard Guenther [Fri, 7 Aug 2009 08:54:53 +0000 (08:54 +0000)]
tree-ssa.c (useless_type_conversion_p_1): Only for types that require structural equality defer to the langhook.
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.
From-SVN: r150559
Martin Jambor [Fri, 7 Aug 2009 07:15:41 +0000 (09:15 +0200)]
ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed comments.
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.
From-SVN: r150554
Jakub Jelinek [Fri, 7 Aug 2009 06:23:42 +0000 (08:23 +0200)]
dwarf2out.c (output_fde): When doing hot/cold partitioning...
* 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.
From-SVN: r150553
Martin Jambor [Fri, 7 Aug 2009 00:51:34 +0000 (02:51 +0200)]
ipa-prop.c (count_formal_params_1): New function.
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.
From-SVN: r150551
GCC Administrator [Fri, 7 Aug 2009 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r150550
Thomas Schwinge [Thu, 6 Aug 2009 22:02:34 +0000 (00:02 +0200)]
2009-08-06 Thomas Schwinge <tschwinge@gnu.org>
* gcc/doc/extend.texi (__builtin_extract_return_address)
(__builtin_frob_return_address): Document.
From-SVN: r150546
Paul Brook [Thu, 6 Aug 2009 21:05:42 +0000 (21:05 +0000)]
lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
* 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.
From-SVN: r150545
Neil Vachharajani [Thu, 6 Aug 2009 20:45:26 +0000 (20:45 +0000)]
* value-prof.c (init_pid_map): Replace xmalloc with XCNEWVEC.
From-SVN: r150544
Neil Vachharajani [Thu, 6 Aug 2009 20:27:41 +0000 (20:27 +0000)]
* MAINTAINERS: Add my name to Write After Approval list.
From-SVN: r150541
Benjamin Kosnik [Thu, 6 Aug 2009 19:33:33 +0000 (19:33 +0000)]
compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects.
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.
From-SVN: r150539
Richard Earnshaw [Thu, 6 Aug 2009 18:15:19 +0000 (18:15 +0000)]
abitest.h: Allow the test function to have a PCS attribute.
* gcc.target/arm/abitest.h: Allow the test function to have a PCS
attribute.
* gcc.target/arm/vfp1[567].c: New tests.
From-SVN: r150536
Michael Eager [Thu, 6 Aug 2009 17:48:24 +0000 (17:48 +0000)]
configure.ac: Add Microblaze target.
* configure.ac: Add Microblaze target.
* configure: Regenerate.
From-SVN: r150535
Richard Earnshaw [Thu, 6 Aug 2009 16:47:57 +0000 (16:47 +0000)]
* doc/extend.texi (pcs): Document new attribute for ARM.
From-SVN: r150531
Richard Earnshaw [Thu, 6 Aug 2009 16:31:02 +0000 (16:31 +0000)]
arm.c (pcs_attribute_args): Comment out unsupported attribute variants.
* arm.c (pcs_attribute_args): Comment out unsupported attribute
variants.
From-SVN: r150530
Jason Merrill [Thu, 6 Aug 2009 16:25:19 +0000 (12:25 -0400)]
re PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)
PR c++/40948
* init.c (build_vec_init): Evaluate the initializer before
starting the initialization try block.
From-SVN: r150529
Richard Earnshaw [Thu, 6 Aug 2009 16:19:14 +0000 (16:19 +0000)]
arm.c (arm_handle_pcs_attribute): Pass the entire name object to warning ().
* arm.c (arm_handle_pcs_attribute): Pass the entire name object to
warning ().
From-SVN: r150528
Richard Earnshaw [Thu, 6 Aug 2009 15:14:56 +0000 (15:14 +0000)]
* arm.c (arm_handle_pcs_attribute): Use %qE in warning.
From-SVN: r150527
Richard Earnshaw [Thu, 6 Aug 2009 14:30:22 +0000 (14:30 +0000)]
Fix merge botch -- this changelog should have been merged.
From-SVN: r150526
Richard Earnshaw [Thu, 6 Aug 2009 14:27:45 +0000 (14:27 +0000)]
Merge ARM/hard_vfp_branch to trunk
From-SVN: r150525
Martin Jambor [Thu, 6 Aug 2009 11:55:30 +0000 (13:55 +0200)]
re PR middle-end/32964 (union cause inefficient code inside loops)
2009-08-06 Martin Jambor <mjambor@suse.cz>
PR middle-end/32964
* testsuite/gcc.dg/tree-ssa/pr32964.c: New test.
From-SVN: r150523
Uros Bizjak [Thu, 6 Aug 2009 11:43:38 +0000 (13:43 +0200)]
re PR target/40957 (standard_sse_constant_opcode crash on x86 64)
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.
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r150520
Richard Guenther [Thu, 6 Aug 2009 11:31:20 +0000 (11:31 +0000)]
tree-ssa.c (useless_type_conversion_p_1): Make function and array type comparisons frontend independent.
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.
From-SVN: r150519
Richard Biener [Thu, 6 Aug 2009 11:29:45 +0000 (11:29 +0000)]
re PR middle-end/40964 (ICE in insert_vi_for_tree)
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.
From-SVN: r150518
Richard Biener [Thu, 6 Aug 2009 11:29:13 +0000 (11:29 +0000)]
re PR middle-end/40964 (ICE in insert_vi_for_tree)
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.
From-SVN: r150517
Joseph Myers [Thu, 6 Aug 2009 11:00:59 +0000 (12:00 +0100)]
* es.po: Update.
From-SVN: r150515
David Daney [Thu, 6 Aug 2009 05:27:40 +0000 (05:27 +0000)]
mips.h (TARGET_SYNC_AFTER_SC): New macro.
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.
From-SVN: r150513
David Daney [Thu, 6 Aug 2009 05:24:25 +0000 (05:24 +0000)]
sync.md (sync_compare_and_swap<mode>, [...]): Rewrite calls to mips_output_sync_loop.
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.
From-SVN: r150512
GCC Administrator [Thu, 6 Aug 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r150508
Tobias Burnus [Wed, 5 Aug 2009 20:47:19 +0000 (22:47 +0200)]
re PR fortran/40969 (Revision 150465 failed gfortran.dg/c_by_val_1.f)
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.
From-SVN: r150500
Andrew Pinski [Wed, 5 Aug 2009 17:20:33 +0000 (10:20 -0700)]
tree-ssa-alias.c: Fix intervals to use [) syntax.
2009-08-05 Andrew Pinski <pinskia@gmail.com>
* tree-ssa-alias.c: Fix intervals to use [) syntax.
From-SVN: r150496
Andreas Tobler [Wed, 5 Aug 2009 16:11:54 +0000 (16:11 +0000)]
fortran.exp: Add flags in case of shared only build.
2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
* testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
only build.
From-SVN: r150495
Paul Thomas [Wed, 5 Aug 2009 16:10:19 +0000 (16:10 +0000)]
re PR fortran/40847 (segfault & bogus warning)
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.
From-SVN: r150493
Uros Bizjak [Wed, 5 Aug 2009 14:49:51 +0000 (16:49 +0200)]
* gcc.target/i386/pr40906-3.c: Run only on *-*-linux* targets.
From-SVN: r150488
Uros Bizjak [Wed, 5 Aug 2009 14:41:54 +0000 (16:41 +0200)]
re PR target/40906 (Wrong code generated for push of long double)
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.
Co-Authored-By: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
From-SVN: r150486
Jakub Jelinek [Wed, 5 Aug 2009 12:36:34 +0000 (14:36 +0200)]
re PR rtl-optimization/40924 (miscompiles with -O3 (seemingly related to attribute may_alias))
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.
From-SVN: r150483
Li Feng [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.
From-SVN: r150478
Sandra Loosemore [Wed, 5 Aug 2009 00:46:07 +0000 (20:46 -0400)]
invoke.texi (MIPS Options): Document new 1004K -march options.
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.
From-SVN: r150475
GCC Administrator [Wed, 5 Aug 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r150474
Manuel López-Ibáñez [Tue, 4 Aug 2009 23:51:07 +0000 (23:51 +0000)]
re PR c++/36069 (Strange "warning: suggest parentheses around assignment used as truth value" with volatile/non volatile bools)
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.
From-SVN: r150471
Andrew Pinski [Tue, 4 Aug 2009 22:45:33 +0000 (15:45 -0700)]
tree-ssa-alias.c: Fix some comment typos.
2009-08-04 Andrew Pinski <pinskia@gmail.com>
* tree-ssa-alias.c: Fix some comment typos.
From-SVN: r150470
Kaz Kojima [Tue, 4 Aug 2009 21:33:50 +0000 (21:33 +0000)]
linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP, [...]): Define.
* config/sh/linux-atomic.asm (ATOMIC_BOOL_COMPARE_AND_SWAP,
ATOMIC_OP_AND_FETCH, ATOMIC_COMBOP_AND_FETCH): Define.
From-SVN: r150469
Dodji Seketeli [Tue, 4 Aug 2009 19:49:48 +0000 (19:49 +0000)]
re PR c++/39987 (Rejects default argument that is a template via access failure)
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.
From-SVN: r150467
Tobias Burnus [Tue, 4 Aug 2009 17:35:59 +0000 (19:35 +0200)]
re PR fortran/40949 (FAIL: gfortran.dg/proc_ptr_7.f90)
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.
From-SVN: r150465
David Daney [Tue, 4 Aug 2009 17:25:42 +0000 (17:25 +0000)]
mutex.h (gomp_mutex_unlock): Add comment about needed memory barrier semantics.
2009-08-04 David Daney <ddaney@caviumnetworks.com>
* config/linux/mutex.h (gomp_mutex_unlock): Add comment about
needed memory barrier semantics.
* config/linux/mips/mutex.h: New file.
From-SVN: r150463
Manuel López-Ibáñez [Tue, 4 Aug 2009 15:51:12 +0000 (15:51 +0000)]
re PR c++/16696 (Strange message when operator++ not found)
2009-08-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/16696
cp/
* call.c (build_new_op): Only try prefix operator if -fpermissive,
otherwise just error.
testsuite/
* g++.dg/parse/pr16696.C: New.
* g++.dg/parse/pr16696-permissive.C: New.
From-SVN: r150461