Commit Graph

117532 Commits

Author SHA1 Message Date
GCC Administrator 9fddbc100d Daily bump.
From-SVN: r188701
2012-06-17 00:17:24 +00:00
Tobias Burnus 0f6bfefdef re PR fortran/53642 (Front-end optimization: Wrong string length for deferred-length strings)
2012-06-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53642
        PR fortran/45170
        * frontend-passes.c (optimize_assignment): Don't remove RHS's
        trim when assigning to a deferred-length string.
        * trans-expr.c (gfc_trans_assignment_1): Ensure that the RHS string
        length is evaluated before the deferred-length LHS is reallocated.

2012-06-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53642
        PR fortran/45170
        * gfortran.dg/deferred_type_param_8.f90: New.

From-SVN: r188692
2012-06-16 20:13:38 +02:00
Eric Botcazou 9510c5af63 re PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)
PR middle-end/53590
	* tree-inline.c (initialize_cfun): Copy can_delete_dead_exceptions.

From-SVN: r188691
2012-06-16 11:05:43 +00:00
GCC Administrator b073de5ebb Daily bump.
From-SVN: r188689
2012-06-16 00:17:32 +00:00
Janis Johnson b616eb029b gcov.exp (verify-lines, [...]): Use testname that includes flags, passed in as new argument, in pass/fail messages.
* lib/gcov.exp (verify-lines, verify-branches, verify-calls): Use
	testname that includes flags, passed in as new argument, in
	pass/fail messages.
	(run_gcov): Get testname from dg-test, use it in pass/fail messages
	and pass it to verify-* procedures.

From-SVN: r188681
2012-06-15 19:45:54 +00:00
Janis Johnson 165b955b34 stackalign.exp: Combine stack alignment torture options with usual torture options.
* g++.dg/torture/stackalign/stackalign.exp: Combine stack
	alignment torture options with usual torture options.

From-SVN: r188678
2012-06-15 18:04:22 +00:00
Janis Johnson 0621f7c2b9 auto27.C: Add comments to checks for multiple messages reported for one line of source code.
* g++.dg/cpp0x/auto27.C: Add comments to checks for multiple
	messages reported for one line of source code.
	* g++.dg/cpp0x/constexpr-decl.C: Likewise.
	* g++.dg/cpp0x/decltype2.C: Likewise.
	* g++.dg/cpp0x/decltype3.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-syntax1.C: Likewise.
	* g++.dg/cpp0x/regress/error-recovery1.C: Likewise.
	* g++.dg/cpp0x/static_assert3.C: Likewise.
	* g++.dg/cpp0x/udlit-cpp98-neg.C: Likewise.
	* g++.dg/cpp0x/udlit-shadow-neg.C: Likewise.
	* g++.dg/cpp0x/union1.C: Likewise.
	* g++.dg/cpp0x/variadic-ex10.C: Likewise.
	* g++.dg/cpp0x/variadic-ex14.C: Likewise.
	* g++.dg/cpp0x/variadic2.C: Likewise.
	* g++.dg/cpp0x/variadic20.C: Likewise.
	* g++.dg/cpp0x/variadic74.C: Likewise.
	* g++.dg/diagnostic/bitfld2.C: Likewise.
	* g++.dg/ext/attrib44.C: Likewise.
	* g++.dg/ext/no-asm-1.C: Likewise.
	* g++.dg/other/error34.C: Likewise.
	* g++.dg/parse/crash46.C: Likewise.
	* g++.dg/parse/error10.C: Likewise.
	* g++.dg/parse/error2.C: Likewise.
	* g++.dg/parse/error3.C: Likewise.
	* g++.dg/parse/error36.C: Likewise.
	* g++.dg/parse/error8.C: Likewise.
	* g++.dg/parse/error9.C: Likewise.
	* g++.dg/parse/parser-pr28152-2.C: Likewise.
	* g++.dg/parse/parser-pr28152.C: Likewise.
	* g++.dg/parse/template25.C: Likewise.
	* g++.dg/parse/typename11.C: Likewise.
	* g++.dg/tc1/dr147.C: Likewise.
	* g++.dg/template/deduce3.C: Likewise.
	* g++.dg/template/koenig9.C: Likewise.
	* g++.dg/template/pr23510.C: Likewise.
	* g++.dg/warn/pr12242.C: Likewise.
	* g++.dg/warn/pr30551-2.C: Likewise.
	* g++.dg/warn/pr30551.C: Likewise.
	* g++.old-deja/g++.other/typename1.C: Likewise.
	* g++.old-deja/g++.pt/niklas01a.C: Likewise.

From-SVN: r188677
2012-06-15 18:03:34 +00:00
Easwaran Raman ad14c7daa3 passes.c (init_optimization_passes): Remove pass_call_cdce from its current position and insert after pass_dce.
2012-06-15   Easwaran Raman  <eraman@google.com>

	* passes.c (init_optimization_passes): Remove pass_call_cdce
	from its current position and insert after pass_dce.

From-SVN: r188675
2012-06-15 17:35:11 +00:00
Walter Lee 7eb0f14121 * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
From-SVN: r188673
2012-06-15 17:19:16 +00:00
Richard Earnshaw 96adb18373 arm.c (note_invalid_constants): Don't return a result.
* arm.c (note_invalid_constants): Don't return a result.
	(arm_memory_load_p): Delete function.
	(arm_const_double_rtx): Delete iterator variable i;
	(fp_immediate_constant): Likewise.
	(fp_const_from_val): Likewise.

	* arm.c (arm_init_iwmmxt_builtins): Delete void_ftype_void.

From-SVN: r188672
2012-06-15 16:51:25 +00:00
Ramana Radhakrishnan 9e1a8dd161 [multiple changes]
2012-06-15  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/51033
	* c-typeck.c (c_build_vec_perm_expr): Move to c-family/c-common.c.
        * c-tree.h (c_build_vec_perm_expr): Move to c-family/c-common.h.

cp/

2012-06-15  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/51033
	* semantics.c (literal_type_p): Handle VECTOR_TYPE.
        (potential_constant_expression_1): Handle VEC_PERM_EXPR.
        * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_SHUFFLE.

c-family
2012-06-15  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/51033
	* c-common.h (c_build_vec_perm_expr): Move decl here.
	* c-common.c (c_build_vec_perm_expr): Move definition
	here.

2012-06-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	PR c++/51033
	* c-c++-common/torture/vshuf-16.inc: Move from gcc.c-torture/execute/.
	* c-c++-common/torture/vshuf-2.inc: Likewise.
	* c-c++-common/torture/vshuf-4.inc: Likewise.
	* c-c++-common/torture/vshuf-8.inc: Likewise.
	* c-c++-common/torture/vshuf-main.inc: Likewise.
	* c-c++-common/torture/vshuf-v16hi.c: Likewise.
	* c-c++-common/torture/vshuf-v16qi.c: Likewise.
	* c-c++-common/torture/vshuf-v2df.c: Likewise.
	* c-c++-common/torture/vshuf-v2di.c: Likewise.
	* c-c++-common/torture/vshuf-v2sf.c: Likewise.
	* c-c++-common/torture/vshuf-v2si.c: Likewise.
	* c-c++-common/torture/vshuf-v4df.c: Likewise.
	* c-c++-common/torture/vshuf-v4di.c: Likewise.
	* c-c++-common/torture/vshuf-v4hi.c: Likewise.
	* c-c++-common/torture/vshuf-v4sf.c: Likewise.
	* c-c++-common/torture/vshuf-v4si.c: Likewise.
	* c-c++-common/torture/vshuf-v8hi.c: Likewise.
	* c-c++-common/torture/vshuf-v8qi.c: Likewise.
	* c-c++-common/torture/vshuf-v8si.c: Likewise.

From-SVN: r188671
2012-06-15 16:43:36 +00:00
Georg-Johann Lay eb6bb55998 avr.c (avr_default_expand_builtin): New function.
* config/avr/avr.c (avr_default_expand_builtin): New function.
	(avr_expand_builtin): Use it.
	(avr_expand_unop_builtin): Remove.
	(avr_expand_binop_builtin): Remove.
	(avr_expand_triop_builtin): Remove.

From-SVN: r188670
2012-06-15 15:56:02 +00:00
Michael Matz f8395d62c1 re PR middle-end/38474 (compile time explosion in dataflow_set_preserve_mem_locs at -O3)
PR middle-end/38474
	* cfgexpand.c (add_alias_set_conflicts): Remove.
	(expand_used_vars): Don't call it.
	(aggregate_contains_union_type): Remove.
	* function.c (n_temp_slots_in_use): New static data.
	(make_slot_available, assign_stack_temp_for_type): Update it.
	(init_temp_slots): Zero it.
	(remove_unused_temp_slot_addresses): Use it for quicker removal.
	(remove_unused_temp_slot_addresses_1): Use htab_clear_slot.

From-SVN: r188667
2012-06-15 14:56:26 +00:00
Michael Matz 4c53d18336 gimplify.c (gimplify_compound_literal_expr): Take gimple_test_f argument...
* gimplify.c (gimplify_compound_literal_expr): Take gimple_test_f
	argument, don't emit assign statement if value is directly usable.
	(gimplify_expr): Adjust.

testsuite/
	* gcc.dg/tree-ssa/vector-4.c: New test.

From-SVN: r188665
2012-06-15 14:46:36 +00:00
Michael Matz 6da8be895c gimplify.c (gimplify_modify_expr): Fold generated statements.
* gimplify.c (gimplify_modify_expr): Fold generated statements.
	* gimple-fold.c (can_refer_decl_in_current_unit_p): Check flag_ltrans.

testsuite/
	* gcc.dg/debug/dwarf2/inline3.c: Adjust.
	* gcc.dg/tree-ssa/foldstring-1.c: Adjust.

From-SVN: r188664
2012-06-15 14:40:38 +00:00
Richard Guenther ef5ad3b745 tree-vrp.c (set_and_canonicalize_value_range): Use canonical predicates to set VR_UNDEFINED and VR_VARYING.
2012-06-15  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (set_and_canonicalize_value_range): Use canonical
	predicates to set VR_UNDEFINED and VR_VARYING.  Drop a case
	we assert for in set_value_range to VR_VARYING.

From-SVN: r188663
2012-06-15 13:38:17 +00:00
Richard Earnshaw dae840fcd3 arm.md (addsf3, adddf3): Use s_register_operand.
* arm.md (addsf3, adddf3): Use s_register_operand.
	(subsf3, subdf3): Likewise.
	(mulsf3, muldf3): Likewise.
	(difsf3, divdf3): Likewise.
	(movsfcc, movdfcc): Likewise.
	* predicates.md (f_register_operand): Delete.
	(arm_float_rhs_operand): Delete.
	(arm_float_add_operand): Delete.
	(arm_float_compare_operand): Use s_register_operand when
	there's no VFP.
	(cirrus_register_operand): Delete.
	(cirrus_fp_register): Delete.
	(cirrus_shift_const): Delete.
	(cmpdi_operand): Remove Maverick support.
	* constraints.md (f, v, H): Delete constraints.
	(G): Update documentation.
	* arm.c (fp_consts_inited): Convert to bool.
	(strings_fp): Delete.
	(values_fp): Delete.
	(value_fp0): New variable.
	(init_fp_table): Simplify logic.
	(arm_const_double_rtx): Likewise.
	(fp_immediate_constant): Likewise.
	(fp_const_from_val): Likewise.
	(neg_const_double_rtx_ok_for_fpa): Delete.
	* doc/md.texi (ARM constraints): Update documentation.

From-SVN: r188662
2012-06-15 13:32:09 +00:00
Ulrich Weigand 3ebde0e9e3 re PR tree-optimization/53636 (SLP may create invalid unaligned memory accesses)
gcc/
	PR tree-optimization/53636
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Verify
	stride when doing basic-block vectorization.

	gcc/testsuite/
	PR tree-optimization/53636
	* gcc.target/arm/pr53636.c: New test.

From-SVN: r188661
2012-06-15 13:30:36 +00:00
Ramana Radhakrishnan 273d260f83 tree-vect-generic.c (lower_vec_perm): Propagate vector constants into VEC_PERM_EXPR.
2012-06-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* tree-vect-generic.c (lower_vec_perm): Propagate vector constants
	into VEC_PERM_EXPR.

From-SVN: r188659
2012-06-15 13:06:51 +00:00
Jakub Jelinek 772e61e10e tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily allocate and free bbs array for the SLP case.
* tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily
	allocate and free bbs array for the SLP case.

From-SVN: r188657
2012-06-15 13:08:28 +02:00
Jakub Jelinek 079c527f5e re PR tree-optimization/51581 (Integer division by constant is not vectorized)
PR tree-optimization/51581
	* expr.h (choose_multiplier): New prototype.
	* expmed.c (choose_multiplier): No longer static.
	Change multiplier_ptr from rtx * to UHWI *.
	(expand_divmod): Adjust callers.
	* tree-vect-patterns.c (vect_recog_sdivmod_pow2_pattern):
	Renamed to...
	(vect_recog_divmod_pattern): ... this.  Pass bb_vinfo as last
	argument to new_stmt_vec_info.  Attempt to optimize also divisions
	by non-pow2 constants if integer vector division isn't supported.
	* tree-vect-stmts.c (vect_analyze_stmt): If node != NULL,
	don't look at pattern stmts and sequences.

	* gcc.c-torture/execute/pr51581-1.c: New test.
	* gcc.c-torture/execute/pr51581-2.c: New test.
	* gcc.dg/vect/pr51581-1.c: New test.
	* gcc.dg/vect/pr51581-2.c: New test.
	* gcc.dg/vect/pr51581-3.c: New test.
	* gcc.target/i386/avx-pr51581-1.c: New test.
	* gcc.target/i386/avx-pr51581-2.c: New test.
	* gcc.target/i386/avx2-pr51581-1.c: New test.
	* gcc.target/i386/avx2-pr51581-2.c: New test.
	* gcc.dg/vect/slp-26.c (main1): Divide by 0x8031 instead of 3.

From-SVN: r188656
2012-06-15 13:07:47 +02:00
Richard Guenther c55224dc4d 20120615-1.c: New testcase.
2012-06-15  Richard Guenther  <rguenther@suse.de>

	* gcc.c-torture/execute/20120615-1.c: New testcase.

From-SVN: r188655
2012-06-15 11:06:16 +00:00
Eric Botcazou f71d5704ba re PR ada/53592 (ICE on assignment to component of vector_type)
PR ada/53592
	* gcc-interface/gigi.h (maybe_vector_array): Make static inline.
	* gcc-interface/utils.c (maybe_vector_array): Delete.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
	array object as addressable if it has vector type and is on the LHS.

From-SVN: r188653
2012-06-15 10:41:13 +00:00
Eric Botcazou 2da02156af re PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)
PR middle-end/53590
	* common.opt (-fdelete-dead-exceptions): New switch.
	* doc/invoke.texi (Code Gen Options): Document it.
	* cse.c (count_reg_usage) <CALL_INSN>: Use !insn_nothrow_p in lieu of
	insn_could_throw_p predicate.  Do not skip an insn that could throw
	if dead exceptions can be deleted.
	(insn_live_p): Likewise, do not return true in that case.
	* dce.c (can_alter_cfg): New flag.
	(deletable_insn_p): Do not return false for an insn that can throw if
	the CFG can be altered and dead exceptions can be deleted.
	(init_dce): Set can_alter_cfg to false for fast DCE, true otherwise.
	* dse.c (scan_insn): Use !insn_nothrow_p in lieu of insn_could_throw_
	predicate. Do not preserve an insn that could throw if dead exceptions
	can be deleted.
	* function.h (struct function): Add can_delete_dead_exceptions flag.
	* function.c (allocate_struct_function): Set it.
	* lto-streamer-in.c (input_struct_function_base): Stream it.
	* lto-streamer-out.c (input_struct_function_base): Likewise.
	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark a
	statement that could throw as necessary if dead exceptions can be
	deleted.
ada/
	* gcc-interface/misc.c (gnat_init_options_struct): Set
	opts->x_flag_delete_dead_exceptions to 1.

From-SVN: r188651
2012-06-15 09:22:00 +00:00
Andreas Schwab 6724292e72 locks.h (compare_and_swap): Use __sync_bool_compare_and_swap.
* sysdep/m68k/locks.h (compare_and_swap): Use
__sync_bool_compare_and_swap.
(release_set): Use write_barrier instead of inlining it.

From-SVN: r188650
2012-06-15 08:08:04 +00:00
Andreas Krebbel 6d017004b1 2012-06-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* sysdep/s390/locks.h (compare_and_swap, release_set)
	(read_barrier, write_barrier): Use the GCC atomic builtins.

From-SVN: r188649
2012-06-15 07:29:26 +00:00
Uros Bizjak 6c31f5fbe0 (*zero_extendsidi2_rex64): Remove isa attribute.
From-SVN: r188648
2012-06-15 08:53:28 +02:00
Jonathan Wakely ea15487933 re PR libstdc++/53578 (include/ext/concurrence.h relies on ill-formed narrowing conversions)
PR libstdc++/53578
	* include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
	narrowing conversion.
	* include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.

From-SVN: r188646
2012-06-15 01:27:29 +01:00
GCC Administrator e48c9c3e05 Daily bump.
From-SVN: r188645
2012-06-15 00:18:49 +00:00
Kaz Kojima bed3fc4127 Update sysdep/sh/locks.h with atomic builtins
Update sysdep/sh/locks.h with atomic builtins
	* sysdep/sh/locks.h (__cas_lock): Remove.
	(__cas_start_atomic, __cas_end_atomic): Likewise.
	(compare_and_swap): Call __sync_bool_compare_and_swap.

From-SVN: r188640
2012-06-14 22:58:05 +00:00
Maxim Kuvyrkov 2bcf3c5c3a * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
From-SVN: r188639
2012-06-14 22:46:03 +00:00
Jonathan Wakely 01f83b7d26 re PR libstdc++/53270 (Error when bootstrapping gcc on hppa2.0-unknown-linux-gcc)
PR libstdc++/53270
	* include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
	NSDMI in C++11 mode.
	* include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
	destructor when initialized by function.

From-SVN: r188637
2012-06-14 23:20:52 +01:00
Jonathan Wakely 5c8dd62a1b re PR libstdc++/53648 ([C++11] nested empty tuples)
PR libstdc++/53648
	* include/std/tuple (__empty_not_final): Do not use EBO for tuples.
	* testsuite/20_util/tuple/53648.cc: New.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
	number.

From-SVN: r188636
2012-06-14 23:07:33 +01:00
Jonathan Wakely d8ac8ab82d * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
From-SVN: r188635
2012-06-14 21:32:11 +01:00
Uros Bizjak 87b867105d Fix my previous commit to:
* config/i386/i386.md (*zero_extendsidi2): Remove x,x alternative.
	(*zero_extendsidi2_rex64): Ditto.

From-SVN: r188634
2012-06-14 21:38:12 +02:00
Oleg Endo 3f8d753f7f re PR target/53568 (SH Target: Add support for bswap built-ins)
PR target/53568
	* config/sh/sh.md: Add peephole for swapbsi2.
	(*swapbisi2_and_shl8, *swapbhisi2): New insns and splits.

From-SVN: r188632
2012-06-14 19:33:10 +00:00
Uros Bizjak c5b7018e02 i386.md (*zero_extendsidi2): Mark movd alternatives SSE2 only.
* config/i386/i386.md (*zero_extendsidi2): Mark movd alternatives
	SSE2 only.  Remove x,x alternative.
	(*zero_extendsidi2_rex64): Ditto.

From-SVN: r188630
2012-06-14 20:51:36 +02:00
Jakub Jelinek 4e534d30ea re PR target/53639 (x86_64: redundant 64-bit operations on 32-bit integers)
PR target/53639
	* config/i386/i386.md (*anddi_1 into *andsi_1_zext splitter): New.

From-SVN: r188629
2012-06-14 20:26:53 +02:00
Richard Earnshaw 479f754682 arm.c (arm_cirrus_insn_p): Delete.
* arm.c (arm_cirrus_insn_p): Delete.
	(cirrus_reorg): Delete.
	(arm_reorg): Don't call cirrus_reorg.
	(arm_final_prescan_insn_p): Don't check for cirrus insns.
	* arm.md (define_attr "type"): Remove mav_farith and mav_dmult.
	(adddi3, subdi3): Remove Maverick support.
	(arm_adddi3): Likewise.
	(adddi_sesidi_di, adddi_zesidi_di): Likewise.
	(addsf3, adddf3): Likewise.
	(subsf3, subdf3): Likewise.
	(mulsf3, muldf3): Likewise.
	(ashldi3, ashrdi3, lshrdi3): Likewise.
	(floatsisf2, floatsidf2): Likewise.
	(fix_truncsfsi2, fix_truncdfsi2): Likewise.
	(arm_movdi, thumb1_movdi_insn): Likewise.
	(arm_cmpdi_insn): Likewise.
	(cirrus_cmpsf, cirrus_cmpdf, cirrus_cmpdi): Likewise.
	(cirrus.md): Don't include.
	* cirrus.md: Delete file.
	* t-arm (MD_INCLUDES): Remove cirrus.md.

From-SVN: r188622
2012-06-14 16:00:55 +00:00
Eric Botcazou 0364adfd16 dwarf2out.c (function_possibly_abstracted_p): New static function.
* dwarf2out.c (function_possibly_abstracted_p): New static function.
	(gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of
	cgraph_function_possibly_inlined_p.
	(gen_inlined_subroutine_die): Return if the origin is to be ignored.
	(process_scope_var): Do not emit concrete instances of abstracted
	nested functions from here.
	(gen_decl_die): Emit the abstract instance if the function is possibly
	abstracted and not only possibly inlined.
	(dwarf2out_finish): Find the first non-abstract parent instance and
	attach concrete instances on the limbo list to it.

From-SVN: r188621
2012-06-14 14:09:05 +00:00
Richard Earnshaw 8fcd8c83ab arm.md (divsf3, divdf3): Remove FPA support.
* arm.md (divsf3, divdf3): Remove FPA support.
	(negsf2, negdf2): Likewise.
	(sqrtsf2, sqrtdf2): Likewise.
	(movdfcc): Likewise.
	(modsf3, moddf3, movxf): Delete.
	(push_fp_multi): Delete.
	(fpa.md): Don't include it.
	* fpa.md: Delete file.
	* t-arm (MD_INCLUDES): Remove fpa.md.

From-SVN: r188616
2012-06-14 13:02:52 +00:00
Jose Ruiz e52972242a Make-lang.in (ada.install-common, [...]): Use the prefix specified with the --program-prefix configure option to...
2012-06-14  Jose Ruiz  <ruiz@adacore.com>

	* gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
	Use the prefix specified with the --program-prefix configure option
	to determine the install name of the Ada tools.
	(ada.all.cross): Use a for loop to iterate over the set of Ada tools
	instead of duplicate the same processing.
	Update dependencies.

From-SVN: r188612
2012-06-14 14:48:22 +02:00
Bill Schmidt b6cef4e04d tree-vectorizer.h (vect_get_stmt_cost): Move from tree-vect-stmts.c.
2012-06-14  Bill Schmidt  <wschmidt@linux.ibm.com>

	* tree-vectorizer.h (vect_get_stmt_cost): Move from tree-vect-stmts.c.
	(cost_for_stmt): Remove decl.
	(vect_get_single_scalar_iteration_cost): Correct typo in name.
	* tree-vect-loop.c (vect_get_cost): Remove.
	(vect_get_single_scalar_iteration_cost): Correct typo in name; use
	vect_get_stmt_cost rather than vect_get_cost.
	(vect_get_known_peeling_cost): Use vect_get_stmt_cost rather than
	vect_get_cost.
	(vect_estimate_min_profitable_iters): Correct typo in call to
	vect_get_single_scalar_iteration_cost; use vect_get_stmt_cost rather
	than vect_get_cost.
	(vect_model_reduction_cost): Use vect_get_stmt_cost rather than
	vect_get_cost.
	(vect_model_induction_cost): Likewise.
	* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Correct
	typo in call to vect_get_single_scalar_iteration_cost.
	* tree-vect-stmts.c (vect_get_stmt_cost): Move to tree-vectorizer.h.
	(cost_for_stmt): Remove unnecessary function.
	* Makefile.in (TREE_VECTORIZER_H): Update dependencies.

From-SVN: r188611
2012-06-14 12:21:36 +00:00
Arnaud Charlet df37814854 [multiple changes]
2012-06-14  Vincent Pucci  <pucci@adacore.com>

	* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
	call replaced by Expand_Put_Call_With_Symbol call.
	* sem_dim.adb: New fields Unit_Names, Unit_Symbols
	and Dim_Symbols for record type System_Type.
	(From_Dimension_To_String_Of_Symbols): Removed.
	(From_Dim_To_Str_Of_Dim_Symbols): Renames previous
	routine From_Dimension_To_String_Of_Symbols.
	(From_Dim_To_Str_Of_Unit_Symbols): New routine.
	(Analyze_Aspect_Dimension): argument Symbol in aspect
	Dimension aggregate is optional. Named association implemented.
	(Has_Compile_Time_Known_Expressions): Removed.
	(Analyze_Aspect_Dimension_System): New
	component Dim_Symbol in each Dimension aggregate in
	aspect Dimension_System. Named associations implemented.
	(Add_Dimension_Vector_To_Buffer): Removed.
	(Add_Whole_To_Buffer): Removed.
	(Expand_Put_Call_With_Dimension_Symbol.): Removed.
	(Expand_Put_Call_With_Symbol): Renames previous routine
	Expand_Put_Call_With_Dimension_Symbol.
	(Has_Dimension_Symbols): Removed.
	(Has_Symbols): Renames previous routine
	Has_Dimension_Symbols.	(Store_String_Oexpon): New routine.
	* sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
	(Expand_Put_Call_With_Symbol): Renames previous routine
	Expand_Put_Call_With_Dimension_Symbol.
	* s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
	(Put_Dim_Of): New routines.
	* s-diflio.ads, s-diinio.ads: documentation updated.
	(Put): Symbol renames Symbols.
	(Put_Dim_Of): New routines.
	* s-dim.ads: documentation updated.
	* s-dimmks.ads: dimensioned type and subtypes updated.
	* snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
	and Name_Unit_Symbol added. Name_Symbols removed.

2012-06-14  Vincent Pucci  <pucci@adacore.com>

	* freeze.adb (In_Exp_Body): Expression function case added.
	(Freeze_Expression): Insert the Freeze_Nodes
	list before the correct current scope in case of a quantified
	expression.

2012-06-14  Pascal Obry  <obry@adacore.com>

	* projects.texi: Document the Install package for gprinstall.
2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
	a default expression.
	* sem_res.adb (Resolve_Call): simplify code.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb (Check, Issue_Msg): within an instance, non-other
	values in a variant part or a case expression do not have to
	belong to the actual subtype.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
	an interface type, check whether it is itself a previous formal
	already instantiated in the current list of actuals.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
	expression for a stream attribute is a name that may be overloaded
	with other declarations. To determine whether it matches the
	aspect at the freeze point, it is necessary to verify that one
	of its interpretations matches.

From-SVN: r188610
2012-06-14 12:56:22 +02:00
Arnaud Charlet 2a290fec3d [multiple changes]
2012-06-14  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
	sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
	s-taprop-dummy.adb: Minor reformatting.

2012-06-14  Vincent Pucci  <pucci@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
	attribute case added.
	* par-prag.adb (Prag): Lock_Free pragma case added.
	* sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
	case added.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
	call added for Aspect_Lock_Free.
	* sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
	error messages for subprogram bodies.
	(Lock_Free_Disabled): New routine.
	(Analyze_Protected_Body): Call to Lock_Free_Disabled added.
	* sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
	* snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
	(Is_Pragma_Name): Name_Lock_Free case added.
	* snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
	aliased keyword.

2012-06-14  Bob Duff  <duff@adacore.com>

	* lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
	procedure from Sem body to Lib spec, so it can be used for
	debugging elsewhere.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
	conformance: "aliased" must apply to both or neither formal
	parameters.

From-SVN: r188609
2012-06-14 12:49:59 +02:00
Arnaud Charlet 758ad97333 [multiple changes]
2012-06-14  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch9.adb: Minor reformatting.

2012-06-14  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Freeze_Record_Type): Warn about useless bit order
	specification [when there's no component clause] regardless
	of whether the specified bit order is reversed or not.

2012-06-14  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c (__gnat_personality_seh0): New function.

2012-06-14  Tristan Gingold  <gingold@adacore.com>

	* gnatname.adb (Gnatname): Make sure that dynamic table
	argument_data is initialized.

2012-06-14  Robert Dewar  <dewar@adacore.com>

	* sem_aux.adb: Minor code reorganization.

From-SVN: r188608
2012-06-14 12:46:14 +02:00
Vincent Pucci 34f3a7014b einfo.adb einfo.ads (Get_Rep_Item): Removed.
2012-06-14  Vincent Pucci  <pucci@adacore.com>

	* einfo.adb einfo.ads (Get_Rep_Item): Removed.
	(Get_Rep_Item_For_Entity): Removed.
	(Get_Rep_Pragma): Removed.
	(Get_Rep_Pragma_For_Entity): Removed.
	(Has_Rep_Item): Removed.
	(Has_Rep_Pragma): Removed.
	(Has_Rep_Pragma_For_Entity): Removed.
	* exp_ch9.adb (Expand_N_Task_Type_Declaration):
	Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
	and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
	(Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
	by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
	Get_Rep_Pragma.
	* exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
	* sem_aux.adb (Get_Rep_Item): New routine.
	(Get_Rep_Pragma): New routine.
	(Has_Rep_Item): New routine.
	(Has_Rep_Pragma): New routine.
	(Nearest_Ancestor): Minor reformatting.
	* sem_aux.ads (Get_Rep_Item): New routine.
	(Get_Rep_Pragma): New routine.
	(Has_Rep_Item): New routine.
	(Has_Rep_Pragma): New routine.
	* sem_ch13.adb (Duplicate_Clause): Restore original error messages.
	* sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
	replaced by Get_Rep_Item.
	* sem_prag.adb (Analyze_Pragma): Restore original error messages.
	(Check_Duplicate_Pragma): Restore original error messages.

From-SVN: r188607
2012-06-14 12:43:53 +02:00
Arnaud Charlet 3cebd1c0af [multiple changes]
2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
	expressions are valid names.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
	instantiation do not emit warnings for obsolescent units. The
	warnings belong on the corresponding generic.

2012-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Update the usage of Node15.
	(Return_Flag_Or_Transient_Decl): Removed.
	(Set_Return_Flag_Or_Transient_Decl): Removed.
	(Set_Status_Flag_Or_Transient_Decl): New routine.
	(Status_Flag_Or_Transient_Decl): New routine.
	(Write_Field15_Name): Update the output for variables and constants.
	* einfo.ads: Remove attribute
	Return_Flag_Or_Transient_Decl along with occurrences in nodes.
	(Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
	(Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
	(Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
	Inline.
	(Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
	* exp_ch4.adb (Create_Alternative): New routine.
	(Expand_N_Conditional_Expression): Handle the case
	where at least one of the conditional expression
	alternatives prodices a controlled temporary by means of a function
	call.
	(Is_Controlled_Function_Call): New routine.
	(Process_Transient_Object): Update the call to
	Set_Return_Flag_Or_Transient_Decl.
	* exp_ch6.adb (Enclosing_Context): New routine.
	(Expand_N_Extended_Return_Statement): Update all calls to
	Set_Return_Flag_Or_Transient_Decl.
	(Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
	function result when the context is a conditional expression.
	* exp_ch7.adb (Process_Declarations): Update all calls to
	Return_Flag_Or_Transient_Decl. Add processing for intermediate
	results of conditional expressions where one of the alternatives
	uses a controlled function call.
	(Process_Object_Declaration): Update all calls to
	Return_Flag_Or_Transient_Decl and rearrange the logic to process
	"hook" objects first.
	(Process_Transient_Objects): Update the call to
	Set_Return_Flag_Or_Transient_Decl.
	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
	Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
	detection for intermediate results of conditional expressions
	where one of the alternatives uses a controlled function call.

From-SVN: r188606
2012-06-14 12:39:51 +02:00
Richard Guenther 7579786c45 vrp.h: New testcase.
2012-06-14  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/tree-ssa/vrp.h: New testcase.
	* gcc.dg/tree-ssa/vrp68.c: Likewise.

From-SVN: r188604
2012-06-14 09:38:47 +00:00
Richard Earnshaw 7670292377 arm.opt (mfp=2, [...]): Delete options.
* arm.opt (mfp=2, mfp=3, mfpe, mfpe=2, mfpe=3): Delete options.
        * arm-fpus.def (fpa, fpe2, fpe3, maverick): Delete FPU types.
	* arm-tables.opt: Regenerated.
        * doc/invoke.texi: Remove references to deleted options.

From-SVN: r188603
2012-06-14 09:24:51 +00:00