froydnj [Thu, 19 Aug 2010 20:12:33 +0000 (20:12 +0000)]
* target.def (function_arg, function_incoming_arg): Remove const
qualifier on CUMULATIVE_ARGS parameter.
* targhooks.h (default_function_arg, default_function_incoming_arg):
Likewise.
* targhooks.c (default_function_arg, default_function_incoming_arg):
Likewise.
* config/i386/i386.c (ix86_function_arg): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163386
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 19 Aug 2010 17:43:50 +0000 (17:43 +0000)]
PR target/45336
* simplify-rtx.c (simplify_unary_operation_1): Optimize nested
SIGN_EXTENDs or ZERO_EXTENDs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163384
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 19 Aug 2010 17:31:57 +0000 (17:31 +0000)]
PR target/42172
* combine.c (combine_validate_cost): New arg I0. All callers changed.
Take its cost into account if nonnull.
(insn_a_feeds_b): New static function.
(combine_instructions): Look for four-insn combinations.
(can_combine_p): New args PRED2, SUCC2. All callers changed. Take
them into account when computing all_adjacent and looking for other
uses.
(combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC. All callers
changed. Treat them like I1DEST and I1_NOT_IN_SRC.
(try_combine): New arg I0. Handle four-insn combinations.
(distribute_notes): New arg ELIM_I0. All callers changed. Treat it
like ELIM_I1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163383
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 19 Aug 2010 17:24:19 +0000 (17:24 +0000)]
* call.c (reference_related_p): Check for error_mark_node.
(add_function_candidate): Check it instead of
same_type_ignoring_top_level_qualifiers_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163382
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 19 Aug 2010 17:01:01 +0000 (17:01 +0000)]
PR c++/45315
* init.c (build_new_1): Don't use build_value_init in a template.
(build_value_init): Make sure we don't.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163381
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 19 Aug 2010 17:00:51 +0000 (17:00 +0000)]
PR c++/45307
* gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
if ctor is empty.
(gimplify_modify_expr_rhs): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163380
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 19 Aug 2010 16:59:37 +0000 (16:59 +0000)]
* except.c (pending_noexcept, pending_noexcept_checks): New.
(perform_deferred_noexcept_checks): New.
(maybe_noexcept_warning): Split from...
(finish_noexcept_expr): ...here. Adjust.
* decl2.c (cp_write_global_declarations): Call
perform_deferred_noexcept_checks.
* cp-tree.h: And declare it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163379
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Thu, 19 Aug 2010 16:51:39 +0000 (16:51 +0000)]
* cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
bitmap_bit_p.
* config/bfin/bifn.c (bfin_discover_loop): Likewise.
* dominance.c (iterate_fix_dominators): Likewise.
* dse.c (set_usage_bits): Likewise.
(set_position_unneeded, record_store): Likewise.
* gimple-fold.c (get_maxval_strlen): Likewise.
* haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
* ipa-inline.c (update_caller_keys): Likewise.
* ipa-split.c (verify_non_ssa_vars): Likewise.
* ipa-type-escape.c (mark_type, close_type_seen): Likewise.
(close_type_exposed_parameter, close_type_full_escape): Likewise.
(close_addressof_down): Likewise.
* ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
(setup_allocno_left_conflicts_size): Likewise.
(ira_reassign_conflict_allocnos): Likewise.
(ira_reassign_pseudos): Likewise.
* ira-emit.c (change_loop): Likewise.
* loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
* lto-streamer-out.c (write_symbol): Likewise.
* predict.c (expr_expected_value_1): Likewise.
* regstat.c (regstat_bb_compute_ri): Likewise.
* sel-sched.c (create_block_for_bookkeeping): Likewise.
(track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
* stmt.c (expand_case): Likewise.
* tree-eh.c (emit_eh_dispatch): Likewise.
* tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
* tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
Likewise.
(rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
(rdg_build_components): Likewise.
* tree-object-size.c (collect_object_sizes_for): Likewise.
* tree-sra.c (convert_callers): Likewise.
* tree-ssa-coalesce.c (live_track_add_partition): Likewise.
* tree-ssa-live.c (mark_all_vars_used_1): Likewise.
* tree-ssa-pre.c (bitmap_set_replace_value): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163378
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Thu, 19 Aug 2010 16:02:30 +0000 (16:02 +0000)]
2010-08-19 Daniel Kraft <d@domob.eu>
PR fortran/29785
PR fortran/45016
* trans.h (struct gfc_se): New flag `byref_noassign'.
* trans-array.h (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
* expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping
and check for compile-time errors with those.
* trans-decl.c (trans_associate_var): Use new routine
`gfc_conv_shift_descriptor_lbound' instead of doing it manually.
* trans-array.c (gfc_conv_shift_descriptor_lbound): New method.
(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
(gfc_array_init_size): Use new `gfc_conv_array_extent_dim'.
(gfc_conv_expr_descriptor): Handle new flag `byref_noassign'.
* trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and
rank remapping for assignment.
2010-08-19 Daniel Kraft <d@domob.eu>
PR fortran/29785
PR fortran/45016
* gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error.
* gfortran.dg/pointer_remapping_1.f90: New test.
* gfortran.dg/pointer_remapping_2.f03: New test.
* gfortran.dg/pointer_remapping_3.f08: New test.
* gfortran.dg/pointer_remapping_4.f03: New test.
* gfortran.dg/pointer_remapping_5.f08: New test.
* gfortran.dg/pointer_remapping_6.f08: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163377
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 19 Aug 2010 15:55:01 +0000 (15:55 +0000)]
2010-08-19 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*lea_1): Use P mode iterator.
(lea add splitter): Also handle DImode operands.
(DImode lea add splitter): Use x86_64_immediate_operand for operand 2
predicate. Do not use ix86_lea_for_add_ok.
(zext DImode lea add splitter): Use ix86_lea_for_add_ok.
(lea ashift splitter): Also handle DImode operands.
(DImode lea ashift splitter): Remove splitter.
2010-08-19 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
ix86_binary_operator_ok.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163375
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 19 Aug 2010 14:18:18 +0000 (14:18 +0000)]
Also scan movb.
2010-08-19 Uros Bizjak <ubizjak@gmail.com>
PR testsuite/45324
* gcc.target/i386/volatile-bitfields-1.c: Also scan movb.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163372
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Thu, 19 Aug 2010 10:23:50 +0000 (10:23 +0000)]
2010-08-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.dg/vect/vect-1.c (foo): Fix last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163370
138bc75d-0d04-0410-961f-
82ee72b054a4
abel [Thu, 19 Aug 2010 10:03:39 +0000 (10:03 +0000)]
PR rtl-optimization/44691
* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
is not a register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163369
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Thu, 19 Aug 2010 08:30:59 +0000 (08:30 +0000)]
For Tejas Belagod
2010-08-19 Tejas Belagod <tejas.belagod@arm.com>
* gcc.dg/vect/vect-1.c (foo): Change inner loop index
variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163368
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Thu, 19 Aug 2010 08:27:59 +0000 (08:27 +0000)]
For Ian Bolton <ian.bolton@arm.com>
2010-08-19 Ian Bolton <ian.bolton@arm.com>
PR target/45070
* gcc.c-torture/execute/pr45070.c: New.
* config/arm/arm.c (arm_output_epilogue): Ensure that return
value of size 1-3 is handled correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163367
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Thu, 19 Aug 2010 08:12:31 +0000 (08:12 +0000)]
For Ian Bolton <ian.bolton@arm.com>
* tree-switch-conversion.c (gen_inbound_check): Ensure that the
type for the conditional has wide enough range.
* testsuite/g++.dg/pr44328.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163366
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 19 Aug 2010 07:34:05 +0000 (07:34 +0000)]
2010-08-19 Tobias Burnus <burnus@net-b.de>
* intrinsic.texi (Bessel_jn, Bessel_yn): Fix typo.
* * simplify.c (gfc_simplify_bessel_yn): Change recursive
into recurrence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163365
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 19 Aug 2010 07:28:17 +0000 (07:28 +0000)]
2010-08-19 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* check.c (gfc_check_bessel_n2): New function.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_JN2 and GFC_ISYM_YN2.
* intrinsic.c (add_functions): Add transformational version
of the Bessel_jn/yn intrinsics.
* intrinsic.h (gfc_check_bessel_n2,gfc_simplify_bessel_jn2,
gfc_simplify_bessel_yn2): New prototypes.
* intrinsic.texi (Bessel_jn, Bessel_yn): Document
transformational variant.
* simplify.c (gfc_simplify_bessel_jn, gfc_simplify_bessel_yn):
Check for negative order.
(gfc_simplify_bessel_n2,gfc_simplify_bessel_jn2,
gfc_simplify_bessel_yn2): New functions.
2010-08-19 Tobias Burnus <burnus@net-b.de>
PR fortran/36158
PR fortran/33197
* gfortran.dg/bessel_3.f90: New.
* gfortran.dg/bessel_4.f90: New.
* gfortran.dg/bessel_5.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163364
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Thu, 19 Aug 2010 02:35:45 +0000 (02:35 +0000)]
2010-08-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41859
* resolve.c (resolve_transfer): Traverse operands and set expression
to be checked to a non EXPR_OP type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163363
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 19 Aug 2010 00:16:55 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163362
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 18 Aug 2010 22:37:03 +0000 (22:37 +0000)]
PR target/45327
* config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
ix86_binary_operator_ok.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163357
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Wed, 18 Aug 2010 22:32:22 +0000 (22:32 +0000)]
2010-08-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/45290
* gfortran.h (gfc_add_save): Modified prototype.
* decl.c (add_init_expr_to_sym): Defer checking of proc pointer init.
(match_pointer_init): New function to match F08 pointer initialization.
(variable_decl,match_procedure_decl,match_ppc_decl): Use
'match_pointer_init'.
(match_attr_spec): Module variables are implicitly SAVE.
(gfc_match_save): Modified call to 'gfc_add_save'.
* expr.c (gfc_check_assign_symbol): Extra checks for pointer
initialization.
* primary.c (gfc_variable_attr): Handle SAVE attribute.
* resolve.c (resolve_structure_cons): Add new argument and do pointer
initialization checks.
(gfc_resolve_expr): Modified call to 'resolve_structure_cons'.
(resolve_values): Call 'resolve_structure_cons' directly with init arg.
(resolve_fl_variable): Handle SAVE_IMPLICIT.
* symbol.c (gfc_add_save,gfc_copy_attr,save_symbol): Handle
SAVE_IMPLICIT.
* trans-decl.c (gfc_create_module_variable): Module variables with
TARGET can already exist.
* trans-expr.c (gfc_conv_variable): Check for 'current_function_decl'.
(gfc_conv_initializer): Implement non-NULL pointer
initialization.
2010-08-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/45290
* gfortran.dg/proc_ptr_comp_3.f90: Modified.
* gfortran.dg/pointer_init_2.f90: New.
* gfortran.dg/pointer_init_3.f90: New.
* gfortran.dg/pointer_init_4.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163356
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 18 Aug 2010 21:07:29 +0000 (21:07 +0000)]
* tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163352
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 18 Aug 2010 19:24:41 +0000 (19:24 +0000)]
* config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
<default>: Swap operands 1 and 2 for alternative 2 to use existing
code to output insn mnemonic. Fix comment.
(*addsi_1_zext): Add r-r-0 alternative 1.
<TYPE_LEA>: Split insn to lea.
<default>: Handle alternative 1.
(*addhi_1_lea): Add r-r-0 alternative 2. Use cond RTX instead of
multi-level if_then_else RTX to set "type" attribute.
<default>: Handle alternative 2.
(*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
Use cond RTX instead of multi-level if_then_else RTX to set
"type" attribute.
<default>: Handle alternatives 2 and 4.
(lea splitters): Update calls to ix86_lea_for_add_ok.
* config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
argument.
* config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163351
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 18 Aug 2010 18:05:58 +0000 (18:05 +0000)]
2010-08-18 Tobias Burnus <burnus@net-b.de>
PR fortran/45295
* intrinsic.texi (selected_char_kind): Document ISO_10646
support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163347
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Wed, 18 Aug 2010 16:05:40 +0000 (16:05 +0000)]
gcc/cp/
PR c++/45049
* name-lookup.c (push_overloaded_decl): Change DECL_CHAIN to
TREE_CHAIN.
gcc/testsuite/
PR c++/45049
* g++.dg/pr45049-1.C: New test.
* g++.dg/pr45049-2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163344
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 18 Aug 2010 15:21:56 +0000 (15:21 +0000)]
2010-08-18 Kostya Serebryany <kcc@google.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45276
* doc/xml/manual/debug.xml ([debug.races]): Add.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163342
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Wed, 18 Aug 2010 14:45:33 +0000 (14:45 +0000)]
* gcc.dg/builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to
20 if __ARM_PCS is defined otherwise 64.
(bar): Use STACK_ARGUMENTS_SIZE for the third argument
instead of hard coded 64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163341
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 18 Aug 2010 14:18:51 +0000 (14:18 +0000)]
2010-08-18 Richard Guenther <rguenther@suse.de>
* tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
use operand helpers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163340
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 18 Aug 2010 13:35:46 +0000 (13:35 +0000)]
Expand pending pops before trying the optab.
2010-08-18 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/45292
* optabs.c (expand_bool_compare_and_swap): Expand pending
pops before trying the optab.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163339
138bc75d-0d04-0410-961f-
82ee72b054a4
qiyao [Wed, 18 Aug 2010 12:33:43 +0000 (12:33 +0000)]
gcc/
PR target/45094
* config/arm/arm.c (output_move_double): Fix typo generating
instructions ('ldr'->'str').
gcc/testsuite/
PR target/45094
* gcc.target/arm/pr45094.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163338
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 18 Aug 2010 10:36:09 +0000 (10:36 +0000)]
* gcc.target/arm/mla-1.c: Use thumb-friendly architecture.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163335
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 18 Aug 2010 10:34:02 +0000 (10:34 +0000)]
gcc/
PR rtl-optimization/42575
* optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
live ranges.
gcc/testsuite/
PR rtl-optimization/42575
* gcc.target/pr42575.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163334
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Wed, 18 Aug 2010 09:01:22 +0000 (09:01 +0000)]
test cse for emulated TLS targets.
* lib/target-supports.exp (check_effective_target_tls_emulated): New.
* gcc.dg/tls/thr-cse-1.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163330
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Wed, 18 Aug 2010 08:51:57 +0000 (08:51 +0000)]
2010-08-18 Jack Howarth <howarth@bromo.med.uc.edu>
* libjava/configure.ac (THREADLIBS): Don't set on Darwin.
(THREADSPEC): Likwise.
* libjava/configure: Regenerate.
* libjava/Makefile.am: Define LIBJAVA_LDFLAGS_LIBMATH as
-lm only if USING_DARWIN_CRT undefined.
(libgcj_tools_la_LIBADD): Replace '-lm' with $(LIBJAVA_LDFLAGS_LIBMATH).
* libjava/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163329
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Wed, 18 Aug 2010 08:25:33 +0000 (08:25 +0000)]
For Marcus - Implement sync primitives inline for ARM.
2010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/arm/arm-protos.h (arm_expand_sync): New.
(arm_output_memory_barrier, arm_output_sync_insn): New.
(arm_sync_loop_insns): New.
* config/arm/arm.c (FL_ARCH7): New.
(FL_FOR_ARCH7): Include FL_ARCH7.
(arm_arch7): New.
(arm_print_operand): Support %C markup.
(arm_legitimize_sync_memory): New.
(arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
(arm_process_output_memory_barrier, arm_output_memory_barrier): New.
(arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
(arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
(arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
(arm_process_output_sync_insn, arm_output_sync_insn): New.
(arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
* config/arm/arm.h (struct arm_sync_generator): New.
(TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
(TARGET_HAVE_MEMORY_BARRIER): New.
(TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
* config/arm/arm.md: Include sync.md.
(UNSPEC_MEMORY_BARRIER): New.
(VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
(VUNSPEC_SYNC_OP):New.
(VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
(sync_result, sync_memory, sync_required_value): New attributes.
(sync_new_value, sync_t1, sync_t2): Likewise.
(sync_release_barrier, sync_op): Likewise.
(length): Add logic to length attribute defintion to call
arm_sync_loop_insns when appropriate.
* config/arm/sync.md: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163327
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Wed, 18 Aug 2010 08:21:43 +0000 (08:21 +0000)]
PR debug/42487
* lib/target-supports.exp
(check_effective_target_function_sections): New.
* gcc.dg/debug/dwarf2/aranges-fnsec-1.c: Check that the target supports
function sections before proceding.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163326
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 18 Aug 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163323
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 17 Aug 2010 18:10:20 +0000 (18:10 +0000)]
* tree.h (host_integerp): Add ATTRIBUTE_PURE when not
ENABLE_TREE_CHECKING.
(tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
and GCC >= 4.3.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163313
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 17 Aug 2010 18:08:05 +0000 (18:08 +0000)]
PR fortran/45308
* intrinsics/date_and_time.c (date_and_time): Pass __{zone,time,date}_len
instead of {ZONE,TIME,DATE}_LEN as second argument to fstrcpy. Drop
asserts. Adjust comment to the F2003 wording from the F95 wording.
* gfortran.dg/pr45308.f03: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163312
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 17 Aug 2010 18:06:18 +0000 (18:06 +0000)]
PR fortran/45304
* trans-decl.c (build_library_function_decl_1): Chain on
void_list_node instead of creating a new TREE_LIST.
* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
* trans-types.c (gfc_get_function_type): Likewise. Set
typelist to void_list_node for the main program.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163311
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 17 Aug 2010 15:49:32 +0000 (15:49 +0000)]
Try to avoid lea if possible.
2010-08-17 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
or optimizing for size, always avoid lea if possible.
* config/i386/i386.md (*add<mode>_1): Always avoid lea if
possible.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163310
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 17 Aug 2010 14:54:10 +0000 (14:54 +0000)]
only use _darwin10_Unwind_FindEnclosingFunction on darwin >= 10
gcc:
* unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
Dunmmy function with NULL return unless the target is
OSX >= 10.6 (Darwin10).
libjava:
* include/posix.h: Make substitution of
_darwin10_Unwind_FindEnclosingFunction conditional on
OSX >= 10.6 (Darwin10).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163309
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 17 Aug 2010 13:22:28 +0000 (13:22 +0000)]
2010-08-17 Jack Howarth <howarth@bromo.med.uc.edu>
* gcc.c (spec_function): Add remove-outfile.
(remove_outfile_spec_function): New function.
* config/darwin.h (LINK_SPEC): Add removal of
-ldl, -lm and -lpthread.
* invoke.texi (replace-outfile): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163305
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 17 Aug 2010 13:15:41 +0000 (13:15 +0000)]
2010-08-17 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45300
* include/c_std/cwchar: Replace 'restrict' -> '__restrict'.
* include/c_global/cwchar: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163304
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 17 Aug 2010 12:25:24 +0000 (12:25 +0000)]
PR target/45296
* reginfo.c (globalize_reg): Reject stack registers.
testsuite/ChangeLog:
PR target/45296
* gcc.target/i386/pr45296.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163303
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 17 Aug 2010 09:55:04 +0000 (09:55 +0000)]
2010-08-17 Richard Guenther <rguenther@suse.de>
* tree-ssa-dom.c (struct edge_info): Use a VEC for the
list of conditional equivalences.
(free_all_edge_infos): Adjust.
(record_equivalences_from_incoming_edge): Likewise.
(record_cond): Likewise.
(build_and_record_new_cond): Likewise.
(record_conditions): Likewise.
(dom_opt_leave_block): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163302
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Tue, 17 Aug 2010 09:54:12 +0000 (09:54 +0000)]
2010-08-17 Kai Tietz <kai.tietz@onevision.com>
* doc/invoke.texi (ms-extension): Add documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163301
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Tue, 17 Aug 2010 09:52:30 +0000 (09:52 +0000)]
2010-08-17 Kai Tietz <kai.tietz@onevision.com>
* class.c (note_name_declared_in_class): Make in 'extern "C"' blocks,
or if -fms-extensions is enabled check, check permissive.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163300
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Tue, 17 Aug 2010 09:50:38 +0000 (09:50 +0000)]
2010-08-17 Kai Tietz <kai.tietz@onevision.com>
* g++.dg/ext/uow-1.C: New.
* g++.dg/ext/uow-2.C: New.
* g++.dg/ext/uow-3.C: New.
* g++.dg/ext/uow-4.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163299
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 17 Aug 2010 09:50:12 +0000 (09:50 +0000)]
2010-08-17 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_comparison): Strip nops inside
POINTER_PLUS_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163298
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 17 Aug 2010 09:47:44 +0000 (09:47 +0000)]
2010-08-17 Richard Guenther <rguenther@suse.de>
PR testsuite/45266
* gfortran.dg/array_memcpy_3.f90: Adjust pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163297
138bc75d-0d04-0410-961f-
82ee72b054a4
pzhao [Tue, 17 Aug 2010 08:25:20 +0000 (08:25 +0000)]
/gcc
2010-08-17 Shujing Zhao <pearly.zhao@oracle.com>
PR c/40563
* c-decl.c (diagnose_uninitialized_cst_member): New function.
(finish_decl): Use it to issue a -Wc++-compat warning about
uninitialized const field in struct or union.
(finish_struct): Use strip_array_types.
/gcc/testsuite
2010-08-17 Shujing Zhao <pearly.zhao@oracle.com>
PR c/40563
* gcc.dg/Wcxx-compat-20.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163296
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Tue, 17 Aug 2010 08:20:03 +0000 (08:20 +0000)]
2010-08-17 Daniel Kraft <d@domob.eu>
PR fortran/38936
* gfortran.h (struct gfc_association_list): New member `where'.
(gfc_is_associate_pointer) New method.
* match.c (gfc_match_associate): Remember locus for each associate
name matched and do not try to set variable flag.
* parse.c (parse_associate): Use remembered locus for symbols.
* primary.c (match_variable): Instead of variable-flag check for
associate names set it for all such names used.
* symbol.c (gfc_is_associate_pointer): New method.
* resolve.c (resolve_block_construct): Don't generate assignments
to give associate-names their values.
(resolve_fl_var_and_proc): Allow associate-names to be deferred-shape.
(resolve_symbol): Set some more attributes for associate variables,
set variable flag here and check it and don't try to build an
explicitely shaped array-spec for array associate variables.
* trans-expr.c (gfc_conv_variable): Dereference in case of association
to scalar variable.
* trans-types.c (gfc_is_nodesc_array): Handle array association symbols.
(gfc_sym_type): Return pointer type for association to scalar vars.
* trans-decl.c (gfc_get_symbol_decl): Defer association symbols.
(trans_associate_var): New method.
(gfc_trans_deferred_vars): Handle association symbols.
2010-08-17 Daniel Kraft <d@domob.eu>
PR fortran/38936
* gfortran.dg/associate_1.f03: Extended to test newly supported
features like association to variables.
* gfortran.dg/associate_3.f03: Removed check for illegal change
of associate-name here...
* gfortran.dg/associate_5.f03: ...and added it here.
* gfortran.dg/associate_6.f03: No longer XFAIL'ed.
* gfortran.dg/associate_7.f03: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163295
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 17 Aug 2010 06:49:20 +0000 (06:49 +0000)]
* function.c (block_fragments_nreverse, blocks_nreverse_all): New
functions.
(reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse.
(reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL. Don't
call block_nreverse here.
(blocks_nreverse): Rename decl temporary to block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163292
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 17 Aug 2010 00:17:12 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163291
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 16 Aug 2010 19:01:35 +0000 (19:01 +0000)]
2010-08-16 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45300
* include/c_std/cstdlib: Replace 'restrict' -> '__restrict'.
* include/c_std/cstdio: Likewise.
* include/c_global/cstdlib: Likewise.
* include/c_global/cstdio: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163283
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Mon, 16 Aug 2010 18:48:27 +0000 (18:48 +0000)]
2010-08-16 Chris Moller <cmoller@redhat.com>
http://sourceware.org/bugzilla/show_bug.cgi?id=11874
* python/libstdcxx/v6/printers.py (StdVectorPrinter): Added stuff
to handle pretty-printing of std::vector<bool>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163282
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 16 Aug 2010 10:25:28 +0000 (10:25 +0000)]
* config/arm/thumb2.md (thumb2_notsi_shiftsi,
thumbsi_notsi_shiftsi_compare0, thumb2_not_shiftsi_compare0_scratch,
thumb2_cmpsi_shiftsi, thumb2_cmpsi_shiftsi_swp, thumb2_arith_shiftsi,
thumb2_arith_shiftsi splitter, thumb2_arith_shiftsi_compare0,
thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch,
thumb2_iorsi3): Delete.
(orsi_notsi_si): No longer a named pattern.
(orsi_not_shiftsi_si): Renamed from thumb_orsi_not_shiftsi_si.
* config/arm/predicates.md (shift_amount_operand): New.
(mult_operator): New.
* config/arm/arm.md (attr arch, attr arch_enabled, attr insn_enabled,
attr enabled): New.
(iorsi3_insn): Renamed from arm_iorsi3. Handle a new alternative if
arch matches t2.
(not_shiftsi): Renamed from arm_notsi_shiftsi. Handle Thumb2 variant.
(not_shiftsi_compare0): Likewise, renamed from
arm_notsi_shiftsi_compare0.
(not_shiftsi_compare0_scratch): Likweise, renamed from
arm_notsi_shiftsi_compare0_scratch.
(cmpsi_shiftsi): Likewise, renamed from arm_cmpsi_shiftsi.
(cmpsi_shiftsi_swp): Likewise, renamed from arm_cmpsi_shiftsi_swp.
(arith_shiftsi): Handle Thumb2 variant. Set insn_enabled attribute
so that the register alternative is disabled when the shift_operator
is MULT. Use "M" as the constraint for constants.
(arith_shiftsi splitter): Enable for TARGET_32BIT.
(arith_shiftsi_compare0): Handle Thumb2 variant. Use "M" as the
constraint for constants.
(arith_shiftsi_compare0_scratch): Likewise.
(sub_shiftsi, sub_shiftsi_compare0, sub_shiftsi_compare0_scratch):
Handle Thumb2 alternative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163281
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 16 Aug 2010 10:17:07 +0000 (10:17 +0000)]
* doc/options.texi (NoDriverArg): Document.
* gcc.c (cpp_unique_options): Generate -MD and -MMD instead of
-MDX and -MMDX.
* opt-functions.awk (switch_flags): Handle NoDriverArg.
* opts-common.c (decode_cmdline_option): Ignore CL_SEPARATE
marking for CL_NO_DRIVER_ARG options when in the driver.
* opts.h (CL_NO_DRIVER_ARG): Define.
(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
CL_COMMON): Update values.
c-family:
* c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
RejectDriver.
(MMDX): Change back to MMD. Mark NoDriverArg instead of
RejectDriver.
* c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
instead of OPT_MDX and OPT_MMDX.
fortran:
* lang.opt (MDX): Change back to MD. Mark NoDriverArg instead of
RejectDriver.
(MMDX): Change back to MMD. Mark NoDriverArg instead of
RejectDriver.
* cpp.c (gfc_cpp_handle_option): Use OPT_MD and OPT_MMD instead of
OPT_MDX and OPT_MMDX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163280
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 16 Aug 2010 10:15:15 +0000 (10:15 +0000)]
* common.opt: Add driver options.
(auxbase, auxbase-strip, quiet, version): Mark RejectDriver.
* doc/options.texi (Driver, RejectDriver): Document.
* gcc.c (pass_exit_codes, print_search_dirs, print_file_name,
print_prog_name, print_multi_directory, print_sysroot,
print_multi_os_directory, print_multi_lib,
print_sysroot_headers_suffix, report_times, combine_flag,
use_pipes, wrapper_string): Remove.
(save_switch, driver_unknown_option_callback,
driver_wrong_lang_callback, driver_post_handling_callback,
driver_handle_option): New.
(spec_lang, last_language_n_infiles): Make file-scope static
instead of local to process_command.
(process_command): Use decode_cmdline_options_to_array and
read_cmdline_option for option processing. Compute have_c in
prescan of decoded options.
* opt-functions.awk (switch_flags): Handle Driver and
RejectDriver.
(var_type, var_type_struct): Handle Separate options as generating
const char * variables.
* opts-common.c (decode_cmdline_option): Expect CL_COMMON and
CL_TARGET to be passed by caller if required.
(decode_cmdline_options_to_array): Update comment.
* opts.c (complain_wrong_lang): Handle options only valid for the
driver.
(decode_options): Update call to decode_cmdline_options_to_array.
(print_filtered_help): Ignore driver-only options.
(print_specific_help): Ignore CL_DRIVER.
(common_handle_option): Don't call print_specific_help for
CL_DRIVER.
* opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define.
(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON):
Update values.
c-family:
* c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
fortran:
* lang.opt (MDX, MMDX): Mark RejectDriver.
java:
* lang.opt (MD_, MMD_, version): Mark RejectDriver.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163279
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 16 Aug 2010 09:55:54 +0000 (09:55 +0000)]
2010-08-16 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (verify_types_in_gimple_reference): Verify
TARGET_MEM_REF a bit.
* tree-ssa-address.c (addr_for_mem_ref): Adjust.
(create_mem_ref_raw): Always create TMR_OFFSET, store the
alias pointer type via it.
(copy_mem_ref_info): Adjust.
(maybe_fold_tmr): Likewise.
* tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
(reference_alias_ptr_type): Likewise.
* tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
adjust documentation of TMR_OFFSET operand.
* alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
use the alias pointer type.
* expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
initialize mem attrs but the TMR itself.
* tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
similar to MEM_REF.
* tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
* tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
(unshare_and_remove_ssa_names): Likewise.
(copy_ref_info): Adjust.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
TARGET_MEM_REF case.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
at TMR_ORIGINAL.
* tree.h (TMR_ORIGINAL): Remove.
* gimple.c (get_base_address): For TARGET_MEM_REF with a
symbol return that.
* tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
with a symbol.
(get_addr_base_and_unit_offset): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
TARGET_MEM_REFs.
(indirect_ref_may_alias_decl_p): Likewise.
(refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163278
138bc75d-0d04-0410-961f-
82ee72b054a4
xmj [Mon, 16 Aug 2010 01:24:55 +0000 (01:24 +0000)]
Added myself to MAINTAINERS (write after approval)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163276
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 16 Aug 2010 00:17:03 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163275
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Mon, 16 Aug 2010 00:09:35 +0000 (00:09 +0000)]
* gcc.dg/tree-ssa/pr42585.c: Skip dump scan on sh.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163271
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sun, 15 Aug 2010 21:41:34 +0000 (21:41 +0000)]
2010-08-15 Janus Weil <janus@gcc.gnu.org>
* trans-expr.c (gfc_trans_assign_vtab_procs): Clean up (we don't have
vtabs for generics any more).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163270
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 15 Aug 2010 21:25:58 +0000 (21:25 +0000)]
* doc/invoke.texi (-fomit-frame-pointer): Document that starting
with GCC version 4.6, the default setting (when not optimizing
for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has
been changed to -fomit-frame-pointer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163269
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Sun, 15 Aug 2010 19:46:21 +0000 (19:46 +0000)]
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/38936
* gfortran.h (gfc_find_proc_namespace): New method.
* expr.c (gfc_build_intrinsic_call): No need to build symtree messing
around with namespace.
* symbol.c (gfc_find_proc_namespace): New method.
* trans-decl.c (gfc_build_qualified_array): Use it for correct
value of nest.
* primary.c (gfc_match_varspec): Handle associate-names as arrays.
* parse.c (parse_associate): Removed assignment-generation here...
* resolve.c (resolve_block_construct): ...and added it here.
(resolve_variable): Handle names that are arrays but were not parsed
as such because of association.
(resolve_code): Fix BLOCK resolution.
(resolve_symbol): Generate array-spec for associate-names.
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/38936
* gfortran.dg/associate_1.f03: Enable test for array expressions.
* gfortran.dg/associate_3.f03: Clarify comment.
* gfortran.dg/associate_5.f03: New test.
* gfortran.dg/associate_6.f03: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163268
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Sun, 15 Aug 2010 19:15:55 +0000 (19:15 +0000)]
rationalize libgcc stub & static lib linkage on Darwin 9 & 10.
* config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for
Darwin10. Do not link libgcc.a for Darwin >= 9.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163267
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sun, 15 Aug 2010 18:26:01 +0000 (18:26 +0000)]
* doc/invoke.texi (Warning Options): Fix terminology and markup
in the description of how unknown warning options are handled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163266
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 15 Aug 2010 16:20:56 +0000 (16:20 +0000)]
2010-08-15 Tobias Burnus <burnus@net-b.de>
PR fortran/45211
* decl.c (verify_c_interop_param): Remove superfluous space (" ").
(verify_c_interop): Handle unresolved DT with bind(C).
2010-08-15 Tobias Burnus <burnus@net-b.de>
PR fortran/45211
* gfortran.dg/bind_c_usage_21.f90: New.
* gfortran.dg/bind_c_dts_3.f03: Update dg-error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163264
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 15 Aug 2010 16:04:49 +0000 (16:04 +0000)]
2010-08-15 Tobias Burnus <burnus@net-b.de>
* trans-expr.c (gfc_conv_expr_present): Regard nullified
pointer arrays as absent.
(gfc_conv_procedure_call): Handle EXPR_NULL for non-pointer
dummys as absent argument.
* interface.c (compare_actual_formal,compare_parameter):
Ditto.
2010-08-15 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/optional_absent_1.f90: New.
* gfortran.dg/null_actual.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163263
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 15 Aug 2010 15:47:11 +0000 (15:47 +0000)]
2010-08-15 Tobias Burnus <burnus@net-b.de>
* interface.c (compare_pointer, ): Allow passing TARGETs to
pointers dummies with intent(in).
2010-08-15 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/pointer_target_1.f90: New.
* gfortran.dg/pointer_target_2.f90: New.
* gfortran.dg/pointer_target_3.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163262
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Sun, 15 Aug 2010 15:28:10 +0000 (15:28 +0000)]
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/45197
* decl.c (gfc_match_prefix): Match IMPURE prefix and mark ELEMENTAL
routines not IMPURE also as PURE.
* intrinsic.c (enum klass): New class `CLASS_PURE' and renamed
`NO_CLASS' in `CLASS_IMPURE'.
(add_sym): Set symbol-attributes `pure' and `elemental' correctly.
(add_sym_0s): Renamed `NO_CLASS' in `CLASS_IMPURE'.
(add_functions): Ditto.
(add_subroutines): Ditto and mark `MOVE_ALLOC' as CLASS_PURE.
* resolve.c (gfc_pure): Do not treat ELEMENTAL as automatically PURE.
(resolve_formal_arglist): Check that arguments to ELEMENTAL procedures
are not ALLOCATABLE and have their INTENT specified.
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/45197
* gfortran.dg/elemental_args_check_3.f90: New test.
* gfortran.dg/impure_1.f08: New test.
* gfortran.dg/impure_2.f08: New test.
* gfortran.dg/impure_3.f90: New test.
* gfortran.dg/typebound_proc_6.f03: Changed expected error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163261
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Sun, 15 Aug 2010 07:00:32 +0000 (07:00 +0000)]
* tree-vect-data-refs.c (vect_setup_realignment): Support realignment
in basic blocks.
(vect_supportable_dr_alignment): Check alignment for basic blocks.
* tree-vect-slp.c (vect_build_slp_tree): Allow different codes for
data references.
(vect_bb_vectorization_profitable_p): New function.
(vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
check if it's worthwhile to vectorize the basic block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163260
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 15 Aug 2010 00:17:00 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163258
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sat, 14 Aug 2010 23:02:37 +0000 (23:02 +0000)]
Fix up ChangeLog entry for the last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163254
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sat, 14 Aug 2010 22:57:37 +0000 (22:57 +0000)]
* gcc_release (CVSROOT): Remove all occurrences.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163253
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Sat, 14 Aug 2010 21:46:11 +0000 (21:46 +0000)]
* reload.h (register_move_cost, memory_move_secondary_cost,
secondary_reload_class): Adjust prototype.
* rtl.h (reg_class_subset_p): Adjust prototype.
* reload.c (secondary_reload_class): Change arguments type from
enum reg_class to reg_class_t. Change result type to reg_class_t.
* reginfo.c (register_move_cost, reg_class_subset_p): Change
arguments type from enum reg_class to reg_class_t.
(memory_move_secondary_cost): Change arguments type from
enum reg_class to reg_class_t. Change type of saved_flags to
reg_class_t.
* config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
Remove macros.
(mips_cost): Remove.
(struct mips_rtx_cost_data): Moved to mips.c.
* config/mips/mips-protos.h (mips_register_move_cost): Remove.
* config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
(mips_cost): Make static.
(mips_canonicalize_move_class): Change argument type to reg_class_t.
Change result type to reg_class_t.
(mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
type from enum reg_class to reg_class_t.
(mips_register_move_cost): Make static. Change arguments
type from enum reg_class to reg_class_t.
(mips_memory_move_cost): New function.
(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163252
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Sat, 14 Aug 2010 21:42:16 +0000 (21:42 +0000)]
* gcc_release (snapshot_print): Include md5 hash for every tarball
in the README file and notification mail.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163251
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sat, 14 Aug 2010 20:00:55 +0000 (20:00 +0000)]
2010-08-14 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45283
* testsuite/performance/30_threads/future/polling.cc: Replace calls to
shared_future::is_ready.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163250
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 14 Aug 2010 19:59:13 +0000 (19:59 +0000)]
gcc/
PR rtl-optimization/43358
* ira-lives.c (process_single_reg_class_operands): Adjust the costs
of a single hard register, using simplify_subreg_regno to decide
what that register should be.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163249
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 14 Aug 2010 19:48:21 +0000 (19:48 +0000)]
gcc/testsuite/
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
* gcc.dg/vect/fast-math-vect-reduc-8.c: Move
dg-require-effective-target after dg-do.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163248
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 14 Aug 2010 19:46:25 +0000 (19:46 +0000)]
gcc/testsuite/
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
* lib/target-supports.exp (check_effective_target_vect_int): Return
true for Loongson targets.
(check_effective_target_vect_shift): Likewise.
(check_effective_target_vect_no_int_max): Likewise.
(check_effective_target_vect_no_align): Likewise.
(check_effective_target_vect_short_mult): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163247
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 14 Aug 2010 19:42:04 +0000 (19:42 +0000)]
gcc/
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
* config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
* config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
(loongson_pmull<V_suffix>): Rename to...
(mul<mode>3): ...this and use MULT instead of an UNSPEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163246
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Sat, 14 Aug 2010 18:59:18 +0000 (18:59 +0000)]
2010-08-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/44931
* io/inquire.c (inquire_via_unit): Add special case for __MINGW32__ to
return special file names CONIN$, CONOUT$, and CONERR$.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163245
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 14 Aug 2010 12:32:14 +0000 (12:32 +0000)]
* g++.dg/cast.C: Change fields of structures to "long" to pass
the test on targets with STRUCTURE_SIZE_BOUNDARY != BITS_PER_UNIT.
* g++.dg/cpp0x/iop.C: Ditto.
* g++.dg/cpp0x/named_refs.C: Ditto.
* g++.dg/cpp0x/rv1p.C: Ditto.
* g++.dg/cpp0x/rv2p.C: Ditto.
* g++.dg/cpp0x/rv3p.C: Ditto.
* g++.dg/cpp0x/rv4p.C: Ditto.
* g++.dg/cpp0x/rv5p.C: Ditto.
* g++.dg/cpp0x/rv6p.C: Ditto.
* g++.dg/cpp0x/rv7p.C: Ditto.
* g++.dg/cpp0x/rv8p.C: Ditto.
* g++.dg/cpp0x/unnamed_refs.C: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163240
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 14 Aug 2010 01:00:23 +0000 (01:00 +0000)]
2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>::operator=(const
_Hashtable&)): Move inline.
(operator=(_Hashtable&&)): Define.
* include/bits/unordered_map.h (unordered_map(unordered_map&&),
unordered_map(const unordered_map&), unordered_multimap
(unordered_multimap&&), unordered_multimap(const unordered_multimap&),
__unordered_map(__unordered_map&&), __unordered_map(const
__unordered_map&), __unordered_multimap(__unordered_multimap&&),
__unordered_multimap(const __unordered_multimap&)): Do not define,
leave implicit.
* include/bits/unordered_set.h (unordered_set(unordered_set&&),
unordered_set(const unordered_set&), unordered_multiset
(unordered_multiset&&), unordered_multiset(const unordered_multiset&),
__unordered_set(__unordered_set&&), __unordered_set(const
__unordered_set&), __unordered_multiset(__unordered_multiset&&),
__unordered_multiset(const __unordered_multiset&)): Likewise.
* include/bits/unordered_map.h (__unordered_map(initializer_list<>),
__unordered_map<>::operator=(initializer_list<>),
__unordered_multimap(initializer_list<>), __unordered_multimap<>::
operator=(initializer_list<>)): Add.
* include/bits/unordered_set.h (__unordered_set(initializer_list<>),
__unordered_set<>::operator=(initializer_list<>),
__unordered_multiset(initializer_list<>), __unordered_multiset<>::
operator=(initializer_list<>)): Likewise.
* include/bits/unordered_map.h (__unordered_map(_InputIterator,
_InputIterator, size_type __n), unordered_map(_InputIterator,
_InputIterator, size_type __n), unordered_map(initializer_list<>,
size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
Fix __n default to 0.
* include/bits/unordered_set.h (__unordered_set(_InputIterator,
_InputIterator, size_type __n), unordered_set(_InputIterator,
_InputIterator, size_type __n), unordered_set(initializer_list<>,
size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
Likewise.
* include/debug/unordered_map (unordered_map(_InputIterator,
_InputIterator, size_type __n), unordered_map(initializer_list<>,
size_type __n), unordered_map(_InputIterator, _InputIterator,
size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
Likewise.
* include/debug/unordered_set (unordered_set(_InputIterator,
_InputIterator, size_type __n), unordered_set(initializer_list<>,
size_type __n), unordered_set(_InputIterator, _InputIterator,
size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
Likewise.
* include/profile/unordered_map (unordered_map(_InputIterator,
_InputIterator, size_type __n), unordered_map(initializer_list<>,
size_type __n), unordered_map(_InputIterator, _InputIterator,
size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
Likewise.
* include/profile/unordered_set (unordered_set(_InputIterator,
_InputIterator, size_type __n), unordered_set(initializer_list<>,
size_type __n), unordered_set(_InputIterator, _InputIterator,
size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163236
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 14 Aug 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163235
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 14 Aug 2010 00:09:21 +0000 (00:09 +0000)]
2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45281
* include/bits/stl_queue.h (queue(queue&&), operator=(queue&&),
priority_queue(priority_queue&&), operator=(priority_queue&&)):
Remove, per CH 15.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163231
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 13 Aug 2010 17:06:42 +0000 (17:06 +0000)]
Enable -fomit-frame-pointer on darwin which support dwarf2.
2010-08-13 Jack Howarth <howarth@bromo.med.uc.edu>
* gcc/configure.ac: Enable -fomit-frame-pointer on darwin
which support dwarf2.
* config/i386/i386.c (override_options): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163227
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 13 Aug 2010 13:08:09 +0000 (13:08 +0000)]
2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/unordered_map/dr1189.cc: Move to...
* testsuite/23_containers/unordered_map/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_set/dr1189.cc: Move to...
* testsuite/23_containers/unordered_set/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_multimap/dr1189.cc: Move to...
* testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_multiset/dr1189.cc: Move to...
* testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_set/hash_policy/26132.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163224
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 13 Aug 2010 11:48:34 +0000 (11:48 +0000)]
2010-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* src/ios_init.cc (ios_base::Init::~Init): Add back semicolon
at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros,
removed by mistake.
* include/tr1_impl/boost_sp_counted_base.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/ios_base.h: Likewise.
* include/bits/c++config: Adjust comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163223
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Fri, 13 Aug 2010 11:36:38 +0000 (11:36 +0000)]
* argv.c (expandargv): Limit the number of times that response
files are opened in order to prevent infinite recursion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163222
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Fri, 13 Aug 2010 07:26:05 +0000 (07:26 +0000)]
2010-08-13 Daniel Kraft <d@domob.eu>
* gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
* array.c (gfc_match_array_spec): Match implied-shape specification and
handle AS_IMPLIED_SHAPE correctly otherwise.
* decl.c (add_init_expr_to_sym): Set upper bounds for implied-shape.
(variable_decl): Some checks for implied-shape declaration.
* resolve.c (resolve_symbol): Assert that array-spec is no longer
AS_IMPLIED_SHAPE in any case.
2010-08-13 Daniel Kraft <d@domob.eu>
* gfortran.dg/implied_shape_1.f08: New test.
* gfortran.dg/implied_shape_2.f90: New test.
* gfortran.dg/implied_shape_3.f08: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163221
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 13 Aug 2010 05:14:18 +0000 (05:14 +0000)]
2010-08-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/42526
* gfortran.dg/char_component_initializer_1.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163220
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Fri, 13 Aug 2010 01:43:43 +0000 (01:43 +0000)]
* config/arm/arm.md (cstoredf4): Only valid when
!TARGET_VFP_SINGLE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163219
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 13 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163218
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 12 Aug 2010 22:56:59 +0000 (22:56 +0000)]
2010-08-12 Kostya Serebryany <kcc@google.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE,
_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add.
* src/ios_init.cc (ios_base::Init::~Init): Decorate with the
latter.
* include/tr1_impl/boost_sp_counted_base.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/ios_base.h: Likewise.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
line number.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* testsuite/ext/profile/mutex_extensions.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163210
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 12 Aug 2010 22:52:49 +0000 (22:52 +0000)]
* gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
-MMD.
c-family:
* c.opt (MD, MMD): Change to MDX and MMDX.
* c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
fortran:
* lang.opt (MD, MMD): Change to MDX and MMDX.
* cpp.c (gfc_cpp_handle_option): Use OPT_MMD and OPT_MMDX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163209
138bc75d-0d04-0410-961f-
82ee72b054a4