]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago * config/i386/predicates.md (x86_64_immediate_operand)
uros [Tue, 12 Jul 2016 19:23:58 +0000 (19:23 +0000)] 
* config/i386/predicates.md (x86_64_immediate_operand)
<case CONST_INT>: Remove unneeded truncation to DImode.
<case CONST>: Ditto.
(x86_64_zext_immediate_operand) <case CONST>: Ditto.

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

9 years ago[gcc]
meissner [Tue, 12 Jul 2016 17:42:04 +0000 (17:42 +0000)] 
[gcc]
2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71805
* config/rs6000/altivec.md (altivec_vperm_<mode>_internal):
The xxperm and xxpermr instructions require that the 2nd input
operand overlap with the output operand, and not the 1st.
(altivec_vperm_v8hiv16qi): Likewise.
(altivec_vperm_<mode>_uns_internal): Likewise.
(altivec_vpermr_<mode>_internal): Likewise.
(vperm_v8hiv4si): Likewise.
(vperm_v16qiv8hi): Likewise.

[gcc/testsuite]
2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71805
* gcc.target/powerpc/pr71805.c: New test.

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

9 years ago gcc/
nathan [Tue, 12 Jul 2016 16:25:10 +0000 (16:25 +0000)] 
gcc/
* config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
when -mno-pic-data-is-text-relative is in effect, by default.
* doc/invoke.texi (mpic-data-is-text-relative): Document new
behavior and clarify.

gcc/testsuite/
* gcc.target/arm/data-rel-1.c: New.
* gcc.target/arm/data-rel-2.c: New.
* gcc.target/arm/data-rel-3.c: New.

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

9 years ago[libgcc]
wschmidt [Tue, 12 Jul 2016 16:05:18 +0000 (16:05 +0000)] 
[libgcc]

2016-07-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/_divkc3.c: New.
* config/rs6000/_mulkc3.c: New.
* config/rs6000/quad-float128.h: Define TFtype; declare _mulkc3
and _divkc3.
* config/rs6000/t-float128: Add _mulkc3 and _divkc3 to
fp128_ppc_funcs.

[gcc/testsuite]

2016-07-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/divkc3-1.c: New.
* gcc.target/powerpc/mulkc3-1.c: New.

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

9 years agoIntroduce new param: AVG_LOOP_NITER
marxin [Tue, 12 Jul 2016 15:27:36 +0000 (15:27 +0000)] 
Introduce new param: AVG_LOOP_NITER

* params.def: Add avg-loop niter.
* tree-ssa-loop-ivopts.c (avg_loop_niter): Use the param.
* cfgloopanal.c (expected_loop_iterations_unbounded): Likewise.
* doc/invoke.texi: Document the new parameter.

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

9 years agoAdd tests that test boundary values of params
marxin [Tue, 12 Jul 2016 15:03:07 +0000 (15:03 +0000)] 
Add tests that test boundary values of params

* Makefile.in: Append rule for params-options.h.
* params-options.h: New file.
* gcc.dg/params/blocksort-part.c: New test.
* gcc.dg/params/params.exp: New file.

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

9 years ago[expr.c] PR middle-end/71700: zero-extend sub-word value when widening constructor...
ktkachov [Tue, 12 Jul 2016 15:00:28 +0000 (15:00 +0000)] 
[expr.c] PR middle-end/71700: zero-extend sub-word value when widening constructor element

PR middle-end/71700
* expr.c (store_constructor): Mask sign-extended bits when widening
sub-word constructor element at the start of a word.

* gcc.c-torture/execute/pr71700.c: New test.

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

9 years agoFix PR rtl-optimization/71634
marxin [Tue, 12 Jul 2016 14:54:52 +0000 (14:54 +0000)] 
Fix PR rtl-optimization/71634

* ira-build.c (mark_loops_for_removal): Properly iterate
loops.

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

9 years agoRemove unused operator delete overloads (LWG 2458)
redi [Tue, 12 Jul 2016 14:31:04 +0000 (14:31 +0000)] 
Remove unused operator delete overloads (LWG 2458)

* libsupc++/new: Remove nothrow sized deletes (LWG 2458).
* doc/xml/manual/intro.xml: Document DR 2458 status.
* doc/html*: Regenerate.

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

9 years agoFix ChangeLog entry for r238244
redi [Tue, 12 Jul 2016 14:07:49 +0000 (14:07 +0000)] 
Fix ChangeLog entry for r238244

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

9 years agoAdd tests and docs for LWG 2212 support
redi [Tue, 12 Jul 2016 14:00:26 +0000 (14:00 +0000)] 
Add tests and docs for LWG 2212 support

* testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
Only include <array>.
* testsuite/23_containers/array/tuple_interface/tuple_size.cc:
Likewise.
* doc/xml/manual/intro.xml; Document LWG 2212 support.
* doc/html*: Regenerate.

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

9 years agoAdd std::vector::emplace() testcase from LWG 2164
redi [Tue, 12 Jul 2016 14:00:11 +0000 (14:00 +0000)] 
Add std::vector::emplace() testcase from LWG 2164

* testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
Add testcase from LWG 2164.

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

9 years ago2016-07-12 Steven Bosscher <steven@gcc.gnu.org>
rguenth [Tue, 12 Jul 2016 13:32:04 +0000 (13:32 +0000)] 
2016-07-12  Steven Bosscher  <steven@gcc.gnu.org>
Richard Biener  <rguenther@suse.de>

PR tree-optimization/23286
PR tree-optimization/70159
* doc/invoke.texi: Document -fcode-hoisting.
* common.opt (fcode-hoisting): New flag.
* opts.c (default_options_table): Enable -fcode-hoisting at -O2+.
* tree-ssa-pre.c (pre_stats): Add hoist_insert.
(do_regular_insertion): Rename to ...
(do_pre_regular_insertion): ... this and amend general comments
on insertion strathegy.
(do_partial_partial_insertion): Rename to ...
(do_pre_partial_partial_insertion): ... this.
(do_hoist_insertion): New function.
(insert_aux): Take flags on whether to do PRE and/or hoist insertion
and call do_hoist_insertion properly.
(insert): Adjust.
(pass_pre::gate): Enable also if -fcode-hoisting is enabled.
(pass_pre::execute): Register hoist_insert stats.

* gcc.dg/tree-ssa/ssa-pre-11.c: Disable code hosting.
* gcc.dg/tree-ssa/ssa-pre-27.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-28.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-2.c: Likewise.
* gcc.dg/tree-ssa/pr35286.c: Likewise.
* gcc.dg/tree-ssa/pr35287.c: Likewise.
* gcc.dg/hoist-register-pressure-1.c: Likewise.
* gcc.dg/hoist-register-pressure-2.c: Likewise.
* gcc.dg/hoist-register-pressure-3.c: Likewise.
* gcc.dg/pr51879-12.c: Likewise.
* gcc.dg/strlenopt-9.c: Likewise.
* gcc.dg/tree-ssa/pr47392.c: Likewise.
* gcc.dg/tree-ssa/pr68619-4.c: Likewise.
* gcc.dg/tree-ssa/split-path-5.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/loadpre3.c: Adjust so hosting doesn't apply.
* gcc.dg/tree-ssa/pr43491.c: Scan optimized dump for desired result.
* gcc.dg/tree-ssa/ssa-pre-31.c: Adjust expected outcome for hoisting.
* gcc.dg/tree-ssa/ssa-hoist-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-2.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-3.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-4.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-5.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-6.c: New testcase.
* gfortran.dg/pr43984.f90: Adjust expected outcome.

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

9 years ago PR middle-end/71716
jakub [Tue, 12 Jul 2016 08:58:56 +0000 (08:58 +0000)] 
PR middle-end/71716
* gimple-fold.c (optimize_atomic_compare_exchange_p): Return false
for SCALAR_FLOAT_TYPE_P type of expected var, or if TYPE_PRECISION
is different from mode's bitsize.  Small cleanup.

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

9 years ago2016-07-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 Jul 2016 08:56:14 +0000 (08:56 +0000)] 
2016-07-12  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/68961
* fwprop.c (propagate_rtx): Allow SUBREGs of VEC_CONCAT and CONCAT
to simplify to a non-constant.

* gcc.target/i386/pr68961.c: New testcase.

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

9 years agoDaily bump.
gccadmin [Tue, 12 Jul 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2016-06-12 Brooks Moses <bmoses@google.com>
brooks [Mon, 11 Jul 2016 23:48:41 +0000 (23:48 +0000)] 
2016-06-12  Brooks Moses  <bmoses@google.com>

* cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length
  VLAs.

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

9 years ago PR middle-end/71758
jakub [Mon, 11 Jul 2016 20:40:47 +0000 (20:40 +0000)] 
PR middle-end/71758
* omp-low.c (expand_omp_target): Gimplify device.

* c-c++-common/gomp/pr71758.c: New test.
* gfortran.dg/gomp/pr71758.f90: New test.

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

9 years ago PR tree-optimization/71823
jakub [Mon, 11 Jul 2016 20:37:18 +0000 (20:37 +0000)] 
PR tree-optimization/71823
* tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs
to get vec_oprnds2 from op2.

* gcc.dg/vect/pr71823.c: New test.

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

9 years ago2016-07-11 François Dumont <fdumont@gcc.gnu.org>
fdumont [Mon, 11 Jul 2016 20:17:56 +0000 (20:17 +0000)] 
2016-07-11  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_vector.h (push_back(const value_type&)): Forward
to _M_realloc_insert.
(insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
(_M_realloc_insert): Declare new function.
(_M_emplace_back_aux): Remove definition.
* include/bits/vector.tcc (emplace_back(_Args...)):
Use _M_realloc_insert.
(insert(const_iterator, const value_type&)): Likewise.
(_M_insert_rval, _M_emplace_aux): Likewise.
(_M_emplace_back_aux): Remove declaration.
(_M_realloc_insert): Define.
* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
Adjust expected results for emplacing an lvalue with reallocation.

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

9 years ago * config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
uros [Mon, 11 Jul 2016 19:41:17 +0000 (19:41 +0000)] 
* config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
Hoist common subexpressions.
(x86_64_zext_immediate_operand) <case CONST>: Ditto.

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

9 years ago * config/rs6000/rs6000.md (stfiwx): Change constraint to 'wu' to
pthaugen [Mon, 11 Jul 2016 19:03:09 +0000 (19:03 +0000)] 
* config/rs6000/rs6000.md (stfiwx): Change constraint to 'wu' to
prevent generation of 'stxsiwx' on pre Power8 hardware.

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

9 years ago2016-07-11 Hale Wang <hale.wang@arm.com>
avieira [Mon, 11 Jul 2016 17:11:31 +0000 (17:11 +0000)] 
2016-07-11  Hale Wang  <hale.wang@arm.com>
    Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/lib1funcs.S: Add new wrapper.

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

9 years ago * decl.c (store_parm_decls): Remove check for void parm.
jason [Mon, 11 Jul 2016 16:56:26 +0000 (16:56 +0000)] 
* decl.c (store_parm_decls): Remove check for void parm.

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

9 years agoinput.c: add lexing selftests and a test matrix for line_table states
dmalcolm [Mon, 11 Jul 2016 16:02:20 +0000 (16:02 +0000)] 
input.c: add lexing selftests and a test matrix for line_table states

This patch adds explicit testing of lexing a source file,
generalizing this (and the test of ordinary line maps) over
a 2-dimensional test matrix covering:

  (1) line_table->default_range_bits: some frontends use a non-zero value
  and others use zero

  (2) the fallback modes within line-map.c: there are various threshold
  values for source_location/location_t beyond line-map.c changes
  behavior (disabling of the range-packing optimization, disabling
  of column-tracking).  We exercise these by starting the line_table
  at interesting values at or near these thresholds.

This helps ensures that location data works in all of these states,
and that (I hope) we don't have lingering bugs relating to the
transition between line_table states.

gcc/ChangeLog:
* input.c: Include cpplib.h.
(selftest::temp_source_file): New class.
(selftest::temp_source_file::temp_source_file): New ctor.
(selftest::temp_source_file::~temp_source_file): New dtor.
(selftest::should_have_column_data_p): New function.
(selftest::test_should_have_column_data_p): New function.
(selftest::temp_line_table): New class.
(selftest::temp_line_table::temp_line_table): New ctor.
(selftest::temp_line_table::~temp_line_table): New dtor.
(selftest::test_accessing_ordinary_linemaps): Add case_ param; use
it to create a temp_line_table.
(selftest::assert_loceq): Only verify LOCATION_COLUMN for
locations that are known to have column data.
(selftest::line_table_case): New struct.
(selftest::test_reading_source_line): Move tempfile handling
to class temp_source_file.
(ASSERT_TOKEN_AS_TEXT_EQ): New macro.
(selftest::assert_token_loc_eq): New function.
(ASSERT_TOKEN_LOC_EQ): New macro.
(selftest::test_lexer): New function.
(selftest::boundary_locations): New array.
(selftest::input_c_tests): Call test_should_have_column_data_p.
Loop over a test matrix of interesting values of location and
default_range_bits, calling test_lexer on each case in the matrix.
Move call to test_accessing_ordinary_linemaps into the matrix.
* selftest.h (ASSERT_EQ): Reimplement in terms of...
(ASSERT_EQ_AT): New macro.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/location_overflow_plugin.c (plugin_init): Avoid
hardcoding the values of LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
and LINE_MAP_MAX_LOCATION_WITH_COLS.

libcpp/ChangeLog:
* include/line-map.h (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES):
Move here from line-map.c.
(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.
* line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): Move from
here to line-map.h.
(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.

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

9 years agoDon't convert TImode in debug insn
hjl [Mon, 11 Jul 2016 15:13:56 +0000 (15:13 +0000)] 
Don't convert TImode in debug insn

When converting V1TImode register in debug insn, check if it has been
converted to TImode already.

gcc/

PR target/71801
* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
Don't convert TImode in debug insn.

gcc/testsuite/

PR target/71801
* gcc.target/i386/pr71801.c: New test.

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

9 years ago2016-07-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 11 Jul 2016 15:02:12 +0000 (15:02 +0000)] 
2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
        * tree-core.h (tree_base::nothrow_flag): Adjust comment.
        (tree_type_common::lang_flag_7): New.
        (tree_type_common::spare): Reduce size.
        * tree.h (TYPE_ALIGN_OK): Remove.
        (TYPE_LANG_FLAG_7): New.
        (get_inner_reference): Adjust header.
        * print-tree.c (print_node): Adjust.
        * expr.c (get_inner_reference): Remove parameter keep_aligning.
        (get_bit_range, expand_assignment, expand_expr_addr_expr_1): Adjust
        calls to get_inner_reference.
        (expand_expr_real_1): Adjust call to get_inner_reference.  Remove
        handling of TYPE_ALIGN_OK.
        * builtins.c (get_object_alignment_2): Adjust call to
        get_inner_reference.  Remove handling of VIEW_CONVERT_EXPR.
        * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove handling of
        TYPE_ALIGN_OK.
        * asan.c (instrument_derefs): Adjust calls to get_inner_reference.
        * cfgexpand.c (expand_debug_expr): Likewise.
        * dbxout.c (dbxout_expand_expr): Likewise.
        * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref,
        loc_list_from_tree, fortran_common): Likewise.
        * fold-const.c (optimize_bit_field_compare,
        decode_field_reference, fold_unary_loc, fold_comparison,
        split_address_to_core_and_offset): Likewise.
        * gimple-laddress.c (execute): Likewise.
        * gimple-ssa-strength-reduction.c (slsr_process_ref): Likewise.
        * gimplify.c (gimplify_scan_omp_clauses): Likewise.
        * hsa-gen.c (gen_hsa_addr): Likewise.
        * simplifx-rtx.c (delegitimize_mem_from_attrs): Likewise.
        * tsan.c (instrument_expr): Likewise.
        * ubsan.c (instrument_bool_enum_load, instrument_object_size): Likewise.
        * tree.c (verify_type_variant): Remove handling of TYPE_ALIGN_OK.
        * tree-affine.c (tree_to_aff_combination,
        get_inner_reference_aff): Adjust calls to get_inner_reference.
        * tree-data-ref.c (split_constant_offset_1,
        dr_analyze_innermost): Likewise.
        * tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
        * tree-sra.c (ipa_sra_check_caller): Likewise.
        * tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
        * tree-ssa-math-opts.c (find_bswap_or_nop_load,
        bswap_replace): Likewise.
        * tree-vect-data-refs.c (vect_check_gather,
        vect_analyze_data_refs): Likewise.
        * config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
        * config/pa/pa.c (pa_emit_move_sequence): Remove handling of
        TYPE_ALIGN_OK.

ada:
2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
        * gcc-interface/ada-tree.h (TYPE_ALIGN_OK): Define.
        * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
        get_inner_reference.
        * gcc-interface/utils2.c (build_unary_op): Likewise.

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

9 years agoSupport running the selftests under valgrind
dmalcolm [Mon, 11 Jul 2016 14:39:14 +0000 (14:39 +0000)] 
Support running the selftests under valgrind

gcc/ChangeLog:
* Makefile.in (selftest-valgrind): New phony target.
* function-tests.c (selftest::build_cfg): Delete pass instances
created by the test.
(selftest::convert_to_ssa): Likewise.
(selftest::test_expansion_to_rtl): Likewise.
* tree-cfg.c (selftest::test_linear_chain): Release dominator
vectors.
(selftest::test_diamond): Likewise.

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

9 years ago2016-07-11 Richard Biener <rguenther@suse.de>
rguenth [Mon, 11 Jul 2016 13:32:51 +0000 (13:32 +0000)] 
2016-07-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71816
* tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
than replacing all of its operands.

* gcc.dg/torture/pr71816.c: New testcase.

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

9 years ago[RS6000] Don't allow combine to form doloop pattern
amodra [Mon, 11 Jul 2016 10:28:48 +0000 (10:28 +0000)] 
[RS6000] Don't allow combine to form doloop pattern

* config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
(ctr<mode>): Add unspec.
(ctr<mode>_internal*): Likewise.

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

9 years ago * gcc-interface/trans.c (add_decl_expr): Minor tweak.
ebotcazou [Mon, 11 Jul 2016 08:16:48 +0000 (08:16 +0000)] 
* gcc-interface/trans.c (add_decl_expr): Minor tweak.
* gcc-interface/utils.c (create_var_decl): For an external variable,
also clear TREE_READONLY in LTO mode if the initializer is not a valid
constant and set DECL_READONLY_ONCE_ELAB instead.

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

9 years ago PR ada/71817
ebotcazou [Mon, 11 Jul 2016 07:41:11 +0000 (07:41 +0000)] 
PR ada/71817
* adaint.c (__gnat_is_read_accessible_file): Add parentheses.
(__gnat_is_write_accessible_file): Likewise.

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

9 years agoremove gcc/cp/typeck.s
jason [Mon, 11 Jul 2016 05:35:23 +0000 (05:35 +0000)] 
remove gcc/cp/typeck.s

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

9 years agoDaily bump.
gccadmin [Mon, 11 Jul 2016 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago Implement std::optional.
ville [Sun, 10 Jul 2016 17:44:21 +0000 (17:44 +0000)] 
Implement std::optional.
* include/Makefile.am: Add optional to exported headers.
* include/Makefile.in: Likewise.
* include/std/optional: New.
* testsuite/20_util/optional/typedefs.cc: Likewise.
* testsuite/20_util/optional/relops/2.cc: Likewise.
* testsuite/20_util/optional/relops/3.cc: Likewise.
* testsuite/20_util/optional/relops/4.cc: Likewise.
* testsuite/20_util/optional/relops/5.cc: Likewise.
* testsuite/20_util/optional/relops/1.cc: Likewise.
* testsuite/20_util/optional/relops/6.cc: Likewise.
* testsuite/20_util/optional/nullopt.cc: Likewise.
* testsuite/20_util/optional/in_place.cc: Likewise.
* testsuite/20_util/optional/make_optional.cc: Likewise.
* testsuite/20_util/optional/assignment/2.cc: Likewise.
* testsuite/20_util/optional/assignment/3.cc: Likewise.
* testsuite/20_util/optional/assignment/4.cc: Likewise.
* testsuite/20_util/optional/assignment/5.cc: Likewise.
* testsuite/20_util/optional/assignment/1.cc: Likewise.
* testsuite/20_util/optional/assignment/6.cc: Likewise.
* testsuite/20_util/optional/cons/value_neg.cc: Likewise.
* testsuite/20_util/optional/cons/default.cc: Likewise.
* testsuite/20_util/optional/cons/move.cc: Likewise.
* testsuite/20_util/optional/cons/value.cc: Likewise.
* testsuite/20_util/optional/cons/copy.cc: Likewise.
* testsuite/20_util/optional/requirements.cc: Likewise.
* testsuite/20_util/optional/observers/2.cc: Likewise.
* testsuite/20_util/optional/observers/3.cc: Likewise.
* testsuite/20_util/optional/observers/4.cc: Likewise.
* testsuite/20_util/optional/observers/5.cc: Likewise.
* testsuite/20_util/optional/observers/1.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
* testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
* testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
* testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
* testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
* testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
* testsuite/20_util/optional/swap/1.cc: Likewise.

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

9 years agoDaily bump.
gccadmin [Sun, 10 Jul 2016 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2016-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sat, 9 Jul 2016 22:18:29 +0000 (22:18 +0000)] 
2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71783
* frontend-passes.c (create_var):  Always allocate a charlen
for character variables.

2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71783
* gfortran.dg/dependency_46.f90:  New test.

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

9 years agoDaily bump.
gccadmin [Sat, 9 Jul 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2016-07-08 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 8 Jul 2016 22:24:44 +0000 (22:24 +0000)] 
2016-07-08  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68426
* simplify (gfc_simplify_spread): Adjust locus.

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

9 years agoFT32: apply unbias to references to RAM symbols.
jamesbowman [Fri, 8 Jul 2016 22:11:30 +0000 (22:11 +0000)] 
FT32: apply unbias to references to RAM symbols.

The FT32 binutils use a bias to distinguish between RAM and flash
addresses.

This fix adds an ASM_OUTPUT_SYMBOL_REF() that unbiases references to
RAM symbols.

Only references to RAM objects have the bias applied. Flash objects
(that is, objects in ADDR SPACE 1) are not biased, so for these no bias
should be applied. Likewise references in the gdb section need to use
the biased address, so references in debug sections are not unbiased.

gcc/ChangeLog:

2016-07-08  James Bowman  <james.bowman@ftdichip.com>

* config/ft32/ft32.c (ft32_elf_encode_section_info): New function.
* config/ft32/ft32.h (ASM_OUTPUT_SYMBOL_REF): New function.

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

9 years ago Use lvalue_p instead of real_lvalue_p.
jason [Fri, 8 Jul 2016 21:32:18 +0000 (21:32 +0000)] 
Use lvalue_p instead of real_lvalue_p.

* cp-tree.h: Unpoison lvalue_p.
* call.c, class.c, constexpr.c, cvt.c, init.c, lambda.c, pt.c,
tree.c, typeck.c, typeck2.c: Use lvalue_p instead of
real_lvalue_p.

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

9 years ago Rename lvalue_p to obvalue_p.
jason [Fri, 8 Jul 2016 21:32:12 +0000 (21:32 +0000)] 
Rename lvalue_p to obvalue_p.

* tree.c (obvalue_p): Rename from lvalue_p.
(lvalue_p): Define for c-common.
* call.c, cp-tree.h, cvt.c, init.c: Adjust.
* typeck.c: Adjust.
(cp_build_addr_expr_1): Remove obsolete code.

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

9 years ago Rename lvalue_or_rvalue_with_address_p to glvalue_p.
jason [Fri, 8 Jul 2016 21:32:06 +0000 (21:32 +0000)] 
Rename lvalue_or_rvalue_with_address_p to glvalue_p.

* tree.c (glvalue_p): Rename from lvalue_or_rvalue_with_address_p.
* call.c, cp-tree.h, typeck.c: Adjust.

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

9 years ago * lambda.c (maybe_add_lambda_conv_op): Fix null object argument.
jason [Fri, 8 Jul 2016 21:31:59 +0000 (21:31 +0000)] 
* lambda.c (maybe_add_lambda_conv_op): Fix null object argument.

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

9 years ago2016-07-08 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 8 Jul 2016 20:29:12 +0000 (20:29 +0000)] 
2016-07-08  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/71621
* lra-constraints.c (process_alt_operands): Check combination of
reg class and mode.

2016-07-08  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/71621
* gcc.target/i386/pr71621-1.c: New.
* gcc.target/i386/pr71621-2.c: New.

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

9 years ago P0145R2: Refining Expression Order for C++ (assignment 2).
jason [Fri, 8 Jul 2016 20:25:38 +0000 (20:25 +0000)] 
P0145R2: Refining Expression Order for C++ (assignment 2).

* cp-gimplify.c (lvalue_has_side_effects): New.
(cp_gimplify_expr): Implement assignment ordering.

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

9 years ago P0145: Refining Expression Order for C++ (-fstrong-eval-order).
jason [Fri, 8 Jul 2016 20:25:31 +0000 (20:25 +0000)] 
P0145: Refining Expression Order for C++ (-fstrong-eval-order).

gcc/c-family/
* c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
* c-opts.c: Adjust.
gcc/cp/
* call.c (op_is_ordered, build_over_call): Adjust for
-fargs-in-order renaming to -fstrong-eval-order.
* cp-gimplify.c (cp_gimplify_expr): Likewise.

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

9 years ago P0145: Refining Expression Order for C++ (assignment)
jason [Fri, 8 Jul 2016 20:23:40 +0000 (20:23 +0000)] 
P0145: Refining Expression Order for C++ (assignment)

* gimplify.c (initial_rhs_predicate_for): New.
(gimplfy_modify_expr): Gimplify RHS before LHS.

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

9 years ago gcc/fortran/
cesar [Fri, 8 Jul 2016 18:34:55 +0000 (18:34 +0000)] 
gcc/fortran/
* parse.c (matcha): Define.
(decode_oacc_directive): Add spec_only local var and set it.  Use
matcha to parse acc directives except for routine and declare.  Return
ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be
matched.

gcc/testsuite/
* gfortran.dg/goacc/pr71704.f90: New test.

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

9 years ago * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
redi [Fri, 8 Jul 2016 16:35:10 +0000 (16:35 +0000)] 
* testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.

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

9 years ago[gcc]
wschmidt [Fri, 8 Jul 2016 15:42:47 +0000 (15:42 +0000)] 
[gcc]

2016-07-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/71297
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Allow standard error handling to take over when a wrong number
of arguments is presented to __builtin_vec_ld () or
__builtin_vec_st ().

[gcc/testsuite]

2016-07-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/71297
* gcc.target/powerpc/pr71297.c: New.

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

9 years ago[AArch64] Use fmin/fmax for v[min|max]nm{q} intrinsics
jiwang [Fri, 8 Jul 2016 15:26:51 +0000 (15:26 +0000)] 
[AArch64] Use fmin/fmax for v[min|max]nm{q} intrinsics

  smin/smax will actually honor quiet NaN.

gcc/
* config/aarch64/aarch64-simd-builtins.def (smax): Remove float
variants.
(smin): Likewise.
(fmax): New entry.
(fmin): Likewise.
* config/aarch64/arm_neon.h (vmaxnm_f32): Use
__builtin_aarch64_fmaxv2sf.
(vmaxnmq_f32): Likewise.
(vmaxnmq_f64): Likewise.
(vminnm_f32): Likewise.
(vminnmq_f32): Likewise.
(vminnmq_f64): Likewise.

gcc/testsuite/

* gcc.target/aarch64/simd/vminmaxnm_1.c: New.

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

9 years ago[gcc]
meissner [Fri, 8 Jul 2016 14:49:37 +0000 (14:49 +0000)] 
[gcc]
2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71806
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not
enable -mfloat128-hardware by default.
(ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options
that IEEE 128-bit hardware support needs.
* config/rs6000/rs6000.c (rs6000_option_override_internal): If
-mcpu=power9 -mfloat128, enable -mfloat128-hardware by default.
Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit
floating point requires.
* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mfloat128 and -mfloat128-hardware changes.

[gcc/testsuite]
2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/71806
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Add -mfloat128 option.

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

9 years ago2016-07-08 Alan Hayward <alan.hayward@arm.com>
alahay01 [Fri, 8 Jul 2016 08:50:24 +0000 (08:50 +0000)] 
2016-07-08  Alan Hayward  <alan.hayward@arm.com>

gcc/
PR tree-optimization/71667
* tree-vect-loop.c (vectorizable_live_operation): ignore DEBUG stmts

testsuite/
PR tree-optimization/71667
* gcc.dg/vect/pr71667.c: New

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

9 years agoEnhance documentation of Wundefined-do-loop
marxin [Fri, 8 Jul 2016 08:39:56 +0000 (08:39 +0000)] 
Enhance documentation of Wundefined-do-loop

* invoke.texi (Wundefined-do-loop): Enhance documentation.

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

9 years agoDo not consider COMPLEX_TYPE as fold_convertible_p
marxin [Fri, 8 Jul 2016 07:52:03 +0000 (07:52 +0000)] 
Do not consider COMPLEX_TYPE as fold_convertible_p

PR middle-end/71606
* fold-const.c (fold_convertible_p): As COMPLEX_TYPE
folding produces SAVE_EXPRs, thus return false for the type.
* gcc.dg/torture/pr71606.c: New test.

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

9 years ago2016-07-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Fri, 8 Jul 2016 04:36:16 +0000 (04:36 +0000)] 
2016-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/71764
* trans-expr.c (gfc_trans_structure_assign): Remove assert.

* gfortran.dg/pr71764.f90: New test.

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

9 years agoDaily bump.
gccadmin [Fri, 8 Jul 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago PR c++/70869
jakub [Thu, 7 Jul 2016 18:45:43 +0000 (18:45 +0000)] 
PR c++/70869
PR c++/71054
* cp-gimplify.c (cp_genericize_r): For DECL_EXPR for non-static
artificial vars, genericize their initializers.

* g++.dg/cpp0x/pr70869.C: New test.
* g++.dg/cpp0x/pr71054.C: New test.

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

9 years ago* g++.dg/debug/pr71432.C: Fail on AIX.
dje [Thu, 7 Jul 2016 17:59:54 +0000 (17:59 +0000)] 
* g++.dg/debug/pr71432.C: Fail on AIX.

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

9 years agoUpdate libstdc++ status docs
redi [Thu, 7 Jul 2016 16:35:43 +0000 (16:35 +0000)] 
Update libstdc++ status docs

* doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
* doc/html/*: Regenerate.

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

9 years ago - remove empty dir
doko [Thu, 7 Jul 2016 16:11:57 +0000 (16:11 +0000)] 
 - remove empty dir

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

9 years agoremove mep-* support (empty directories)
doko [Thu, 7 Jul 2016 16:10:27 +0000 (16:10 +0000)] 
remove mep-* support (empty directories)

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

9 years ago2016-07-07 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 7 Jul 2016 13:20:30 +0000 (13:20 +0000)] 
2016-07-07  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure
to Expand_Protected_ Subprogram_Call, to handle properly a
call to a protected function that provides the initialization
expression for a private component of the same protected type.
* sem_ch9.adb (Analyze_Protected_Definition): Layout must be
applied to itypes generated for a private operation of a protected
type that has a formal of an anonymous access to subprogram,
because these itypes have no freeze nodes and are frozen in place.
* sem_ch4.adb (Analyze_Selected_Component): If prefix is a
protected type and it is not a current instance, do not examine
the first private component of the type.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

* exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb:
Minor removal of extra whitespace.
* einfo.ads: minor removal of repeated "as" in comment

2016-07-07  Vadim Godunko  <godunko@adacore.com>

* adaint.c: Complete previous change.

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

9 years ago2016-07-07 Vadim Godunko <godunko@adacore.com>
charlet [Thu, 7 Jul 2016 13:17:51 +0000 (13:17 +0000)] 
2016-07-07  Vadim Godunko  <godunko@adacore.com>

* adainit.h, adainit.c (__gnat_is_read_accessible_file): New
subprogram.
(__gnat_is_write_accessible_file): New subprogram.
* s-os_lib.ads, s-os_lib.adb (Is_Read_Accessible_File): New subprogram.
(Is_Write_Accessible_File): New subprogram.

2016-07-07  Justin Squirek  <squirek@adacore.com>

* sem_ch12.adb (Install_Body): Minor refactoring in the order
of local functions.
(In_Same_Scope): Change loop condition to be more expressive.

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

9 years ago2016-07-07 Gary Dismukes <dismukes@adacore.com>
charlet [Thu, 7 Jul 2016 13:16:05 +0000 (13:16 +0000)] 
2016-07-07  Gary Dismukes  <dismukes@adacore.com>

* sem_ch3.adb, sem_prag.adb, sem_prag.ads, prj-ext.adb, freeze.adb,
sem_attr.adb: Minor reformatting, fix typos.

2016-07-07  Justin Squirek  <squirek@adacore.com>

* sem_ch12.adb (In_Same_Scope): Created this function to check
a generic package definition against an instantiation for scope
dependancies.
(Install_Body): Add function In_Same_Scope and
amend conditional in charge of delaying the package instance.
(Is_In_Main_Unit): Add guard to check if parent is present in
assignment of Current_Unit.

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

9 years agoOptimize fortran loops with +-1 step.
marxin [Thu, 7 Jul 2016 13:15:39 +0000 (13:15 +0000)] 
Optimize fortran loops with +-1 step.

* gfortran.dg/do_1.f90: Remove a corner case that triggers
an undefined behavior.
* gfortran.dg/do_3.F90: Likewise.
* gfortran.dg/do_check_11.f90: New test.
* gfortran.dg/do_check_12.f90: New test.
* gfortran.dg/do_corner_warn.f90: New test.
* lang.opt (Wundefined-do-loop): New option.
        * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop.
(gfc_trans_simple_do): Generate a c-style loop.
(gfc_trans_do): Fix GNU coding style.
* invoke.texi: Mention the new warning.

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

9 years ago2016-07-07 Eric Botcazou <ebotcazou@adacore.com>
charlet [Thu, 7 Jul 2016 13:12:55 +0000 (13:12 +0000)] 
2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test,
adjust comments and formatting.
* sem_prag.adb (Inlining_Not_Possible): Do not test Front_End_Inlining
here but...
(Make_Inline): ...here before calling Inlining_Not_Possible instead.
(Set_Inline_Flags): Remove useless test.
(Analyze_Pragma) <Pragma_Inline>: Add comment about -gnatn switch.

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

9 years agoAdd PRED_FORTRAN_LOOP_PREHEADER to DO loops with step
marxin [Thu, 7 Jul 2016 13:11:05 +0000 (13:11 +0000)] 
Add PRED_FORTRAN_LOOP_PREHEADER to DO loops with step

* trans-stmt.c (gfc_trans_do): Add expect builtin for DO
loops with step bigger than +-1.
* gfortran.dg/predict-1.f90: Ammend the test.
* gfortran.dg/predict-2.f90: Likewise.

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

9 years ago2016-07-07 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 7 Jul 2016 13:05:08 +0000 (13:05 +0000)] 
2016-07-07  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include
overridden operation as parameter, in order to map formals of
the overridden and overring operation properly prior to rewriting
the inherited condition.
* freeze.adb (Check_Inherited_Cnonditions): Change call to
Build_Class_Wide_Expression accordingly.  In Spark_Mode, add
call to analyze the contract of the parent operation, prior to
mapping formals between operations.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

* adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches
as done in back_end.adb.
(Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer
needed, and prevents proper handling of multi-unit sources.

2016-07-07  Thomas Quinot  <quinot@adacore.com>

* g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream
type with Write primitive calling Update on the underlying context
(and dummy Read primitive raising P_E).

2016-07-07  Thomas Quinot  <quinot@adacore.com>

* sem_ch13.adb: Minor reformatting.

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

9 years ago2016-07-07 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 7 Jul 2016 13:02:31 +0000 (13:02 +0000)] 
2016-07-07  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads: Document performance consideration for stream
wrapper.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

* osint-c.ads (Set_File_Name): Clarify spec.

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

9 years ago2016-07-07 Eric Botcazou <ebotcazou@adacore.com>
charlet [Thu, 7 Jul 2016 13:00:54 +0000 (13:00 +0000)] 
2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>

* freeze.adb: Reenable code.

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

9 years agominor reformatting.
charlet [Thu, 7 Jul 2016 12:59:19 +0000 (12:59 +0000)] 
minor reformatting.

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

9 years ago2016-07-07 Yannick Moy <moy@adacore.com>
charlet [Thu, 7 Jul 2016 12:59:06 +0000 (12:59 +0000)] 
2016-07-07  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Process_Formals): Set ghost flag
on formal entities of ghost subprograms.
* ghost.adb (Check_Ghost_Context.Is_OK_Ghost_Context): Accept ghost
entities in use type clauses.

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

9 years agoPrevent LTO wrappers to process a recursive execution
marxin [Thu, 7 Jul 2016 12:03:39 +0000 (12:03 +0000)] 
Prevent LTO wrappers to process a recursive execution

* file-find.c (remove_prefix): New function.
* file-find.h (remove_prefix): Declare the function.
* gcc-ar.c (main): Skip a folder of the wrapper if
a wrapped binary would point to the same file.

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

9 years ago * tree-scalar-evolution.c (iv_can_overflow_p): export.
hubicka [Thu, 7 Jul 2016 11:50:55 +0000 (11:50 +0000)] 
* tree-scalar-evolution.c (iv_can_overflow_p): export.
* tree-scalar-evolution.h (iv_can_overflow_p): Declare.
* tree-ssa-loop-ivopts.c (alloc_iv): Use it.

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

9 years agogcc/
ienkovich [Thu, 7 Jul 2016 11:45:11 +0000 (11:45 +0000)] 
gcc/

PR ipa/71624
* ipa-inline-analysis.c (compute_inline_parameters): Set
local.can_change_signature to false for intrumentation
thunk callees.

gcc/testsuite/

PR ipa/71624
* g++.dg/pr71624.C: New test.

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

9 years ago2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Thu, 7 Jul 2016 08:54:59 +0000 (08:54 +0000)] 
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability
    with TARGET_HAVE_MOVT.
    (TARGET_HAVE_MOVT): Define.
    * config/arm/arm.c (const_ok_for_op): Check MOVT/MOVW
    availability with TARGET_HAVE_MOVT.
    * config/arm/arm.md (arm_movt): Use TARGET_HAVE_MOVT to check MOVT
    availability.
    (addsi splitter): Use TARGET_THUMB && TARGET_HAVE_MOVT rather than
    TARGET_THUMB2.
    (symbol_refs movsi splitter): Remove TARGET_32BIT check.
    (arm_movtas_ze): Use TARGET_HAVE_MOVT to check MOVT availability.
    * config/arm/constraints.md (define_constraint "j"): Use
    TARGET_HAVE_MOVT to check MOVT availability.

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

9 years ago2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Thu, 7 Jul 2016 08:54:50 +0000 (08:54 +0000)] 
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-protos.h: Reindent FL_FOR_* macro definitions.

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

9 years ago2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Thu, 7 Jul 2016 08:54:40 +0000 (08:54 +0000)] 
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-arches.def (armv8-m.base): Define new architecture.
    (armv8-m.main): Likewise.
    (armv8-m.main+dsp): Likewise.
    * config/arm/arm-protos.h (FL_FOR_ARCH8M_BASE): Define.
    (FL_FOR_ARCH8M_MAIN): Likewise.
    * config/arm/arm-tables.opt: Regenerate.
    * config/arm/bpabi.h: Add armv8-m.base, armv8-m.main and
    armv8-m.main+dsp to BE8_LINK_SPEC.
    * config/arm/arm.h (TARGET_HAVE_LDACQ): Exclude ARMv8-M.
    (enum base_architecture): Add BASE_ARCH_8M_BASE and BASE_ARCH_8M_MAIN.
    * config/arm/arm.c (arm_arch_name): Increase size to work with ARMv8-M
    Baseline and Mainline.
    (arm_option_override_internal): Also disable arm_restrict_it when
    !arm_arch_notm.  Update comment for -munaligned-access to also cover
    ARMv8-M Baseline.
    (arm_file_start): Increase buffer size for printing architecture name.
    * doc/invoke.texi: Document architectures armv8-m.base, armv8-m.main
    and armv8-m.main+dsp.
    (mno-unaligned-access): Clarify that this is disabled by default for
    ARMv8-M Baseline architectures as well.

    gcc/testsuite/
    * lib/target-supports.exp: Generate add_options_for_arm_arch_FUNC and
    check_effective_target_arm_arch_FUNC_multilib for ARMv8-M Baseline and
    ARMv8-M Mainline architectures.

    libgcc/
    * config/arm/lib1funcs.S (__ARM_ARCH__): Define to 8 for ARMv8-M.

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

9 years ago2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Thu, 7 Jul 2016 08:54:28 +0000 (08:54 +0000)] 
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    libgcc/
    * config/arm/lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later
    and ARMv5t* rather than for a fixed list of architectures.

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

9 years ago2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Thu, 7 Jul 2016 08:54:18 +0000 (08:54 +0000)] 
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to
    decide whether to prevent some libgcc routines being included for some
    multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the
    link between this condition and the one in
    libgcc/config/arm/lib1func.S.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_cortex_m): Use
    __ARM_ARCH_ISA_ARM to test for Cortex-M devices.

    libgcc/
    * config/arm/bpabi-v6m.S: Clarify what architectures is the
    implementation suitable for.
    * config/arm/lib1funcs.S (__prefer_thumb__): Define among other cases
    for all Thumb-1 only targets.
    (NOT_ISA_TARGET_32BIT): Define for Thumb-1 only targets.
    (THUMB_LDIV0): Test for NOT_ISA_TARGET_32BIT rather than
    __ARM_ARCH_6M__.
    (EQUIV): Likewise.
    (ARM_FUNC_ALIAS): Likewise.
    (umodsi3): Add check to __ARM_ARCH_ISA_THUMB != 1 to guard the idiv
    version.
    (modsi3): Likewise.
    (clzsi2): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__.
    (clzdi2): Likewise.
    (ctzsi2): Likewise.
    (L_interwork_call_via_rX): Test for __ARM_ARCH_ISA_ARM rather than
    __ARM_ARCH_6M__ in guard for checking whether it is defined.
    (final includes): Test for NOT_ISA_TARGET_32BIT rather than
    __ARM_ARCH_6M__ and add comment to indicate the connection between
    this condition and the one in gcc/config/arm/elf.h.
    * config/arm/libunwind.S: Test for __ARM_ARCH_ISA_THUMB and
    __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__.
    * config/arm/t-softfp: Likewise.

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

9 years ago2016-07-07 Richard Biener <rguenther@suse.de>
rguenth [Thu, 7 Jul 2016 07:43:35 +0000 (07:43 +0000)] 
2016-07-07  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c: Include alias.h.
(compute_avail): If we have multiple VN_REFERENCEs with the
same hashtable entry adjust that to make it a valid replacement
for all of them with respect to alignment and aliasing
when doing insertion.
* tree-ssa-sccvn.h (vn_reference_operands_for_lookup): Declare.
* tree-ssa-sccvn.c (vn_reference_operands_for_lookup): New function.

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

9 years agors6000: Make the ctr* patterns allow ints in vector regs (PR71763)
segher [Thu, 7 Jul 2016 03:09:03 +0000 (03:09 +0000)] 
rs6000: Make the ctr* patterns allow ints in vector regs (PR71763)

Similar to PR70098, which is about integers in floating point registers,
we can have the completely analogous problem with vector registers as well
now that we allow integers in vector registers.  So, this patch solves it
in the same way.  This only works for targets with direct move.

To recap: register allocation can decide to put an integer mode value in
a floating point or vector register.  If that register is used in a bd*z
instruction, which is a jump instruction, reload can not do an output
reload on it (it does not do output reloads on any jump insns), so the
float or vector register will remain, and we have to allow it here or
recog will ICE.  Later on we will split this to valid instructions,
including a move from that fp/vec register to an int register; it is this
move that will still fail (PR70098) if we do not have direct move enabled.

PR target/70098
PR target/71763
* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
*ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
constraint.

gcc/testsuite/
PR target/70098
PR target/71763
* gcc.target/powerpc/pr71763.c: New file.

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

9 years agoDaily bump.
gccadmin [Thu, 7 Jul 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoremove unused CTOR_LISTS_DEFINED_EXTERNALLY macro
tbsaunde [Wed, 6 Jul 2016 23:55:52 +0000 (23:55 +0000)] 
remove unused CTOR_LISTS_DEFINED_EXTERNALLY macro

The last target to use this was i386-interix, so since that is gone we
don't need this anymore.

libgcc/ChangeLog:

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* libgcc2.c (SYMBOL__MAIN): Remove checks for
CTOR_LISTS_DEFINED_EXTERNALLY.

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

9 years agomake side_effects a vec<rtx>
tbsaunde [Wed, 6 Jul 2016 23:53:20 +0000 (23:53 +0000)] 
make side_effects a vec<rtx>

gcc/ChangeLog:

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* var-tracking.c (struct adjust_mem_data): Make side_effects a vector.
(adjust_mems): Adjust.
(adjust_insn): Likewise.
(prepare_call_arguments): Likewise.

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

9 years agomake stores rtx_insn_list a vec
tbsaunde [Wed, 6 Jul 2016 23:53:15 +0000 (23:53 +0000)] 
make stores rtx_insn_list a vec

gcc/ChangeLog:

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gcse.c (struct ls_expr): Make stores field a vector.
(ldst_entry): Adjust.
(free_ldst_entry): Likewise.
(print_ldst_list): Likewise.
(compute_ld_motion_mems): Likewise.
(update_ld_motion_stores): Likewise.

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

9 years agoremove unused loads rtx_insn_list
tbsaunde [Wed, 6 Jul 2016 23:53:10 +0000 (23:53 +0000)] 
remove unused loads rtx_insn_list

gcc/ChangeLog:

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gcse.c (struct ls_expr): Remove loads field.
(ldst_entry): Adjust.
(free_ldst_entry): Likewise.
(print_ldst_list): Likewise.
(compute_ld_motion_mems): Likewise.

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

9 years agomake antic_stores a vec<rtx_insn *>
tbsaunde [Wed, 6 Jul 2016 23:53:04 +0000 (23:53 +0000)] 
make antic_stores a vec<rtx_insn *>

gcc/ChangeLog:

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* store-motion.c (struct st_expr): Make antic_stores a vector.
(st_expr_entry): Adjust.
(free_st_expr_entry): Likewise.
(print_store_motion_mems): Likewise.
(find_moveable_store): Likewise.
(compute_store_table): Likewise.
(remove_reachable_equiv_notes): Likewise.
(replace_store_insn): Likewise.
(build_store_vectors): Likewise.

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

9 years ago Implement std::any.
ville [Wed, 6 Jul 2016 22:33:20 +0000 (22:33 +0000)] 
Implement std::any.
* include/Makefile.am: Add any and c++17_warning.h to exported headers.
* include/Makefile.in: Likewise.
* include/std/any: New.
* testsuite/20_util/any/assign/1.cc: Likewise.
* testsuite/20_util/any/assign/2.cc: Likewise.
* testsuite/20_util/any/assign/self.cc: Likewise.
* testsuite/20_util/any/cons/1.cc: Likewise.
* testsuite/20_util/any/cons/2.cc: Likewise.
* testsuite/20_util/any/cons/aligned.cc: Likewise.
* testsuite/20_util/any/cons/nontrivial.cc: Likewise.
* testsuite/20_util/any/misc/any_cast.cc: Likewise.
* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
* testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
* testsuite/20_util/any/misc/swap.cc: Likewise.
* testsuite/20_util/any/modifiers/1.cc: Likewise.
* testsuite/20_util/any/observers/type.cc: Likewise.
* testsuite/20_util/any/typedefs.cc: Likewise.

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

9 years agoAdd a new header for diagnosing the use of C++17 facilities in pre-C++17 modes.
ville [Wed, 6 Jul 2016 18:07:57 +0000 (18:07 +0000)] 
Add a new header for diagnosing the use of C++17 facilities in pre-C++17 modes.

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

9 years ago escape: Implement tag phase.
ian [Wed, 6 Jul 2016 17:34:03 +0000 (17:34 +0000)] 
escape: Implement tag phase.

    Adds notes to function parameters which summarize the escape of that
    parameter with respect to the function's scope.

    Reviewed-on: https://go-review.googlesource.com/18443

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

9 years ago[ARM] Add support for some ARMv8-A cores to driver-arm.c
ktkachov [Wed, 6 Jul 2016 16:22:47 +0000 (16:22 +0000)] 
[ARM] Add support for some ARMv8-A cores to driver-arm.c

* config/arm/driver-arm.c (arm_cpu_table): Add entries for cortex-a32,
cortex-a35, cortex-a53, cortex-a57, cortex-a72, cortex-a73.

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

9 years agogcc/
ienkovich [Wed, 6 Jul 2016 14:37:26 +0000 (14:37 +0000)] 
gcc/

2016-07-06  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71518
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust
misalign also for outer loops with negative step.

gcc/testsuite/

2016-07-06  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/71518
        * gcc.dg/pr71518.c: New test.

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

9 years ago2016-07-06 Javier Miranda <miranda@adacore.com>
charlet [Wed, 6 Jul 2016 13:45:55 +0000 (13:45 +0000)] 
2016-07-06  Javier Miranda  <miranda@adacore.com>

* sem_ch6.adb (Check_Inline_Pragma): if the subprogram has no spec
then move its aspects to the internally built subprogram spec.

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

9 years ago2016-07-06 Yannick Moy <moy@adacore.com>
charlet [Wed, 6 Jul 2016 13:41:20 +0000 (13:41 +0000)] 
2016-07-06  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Mark body of
expression function as ghost if needed when created.
* sem_prag.adb (Analyze_Pragma.Process_Inline.Set_Inline_Flags):
Remove special case.

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

9 years ago2016-07-06 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 6 Jul 2016 13:38:37 +0000 (13:38 +0000)] 
2016-07-06  Arnaud Charlet  <charlet@adacore.com>

* lib.adb (Check_Same_Extended_Unit): Complete previous change.
* sem_intr.adb (Errint): New parameter Relaxed. Refine previous
change to only disable errors selectively.
* sem_util.adb: minor style fix in object declaration

2016-07-06  Yannick Moy  <moy@adacore.com>

* sem_warn.adb (Check_Infinite_Loop_Warning.Find_Var): Special case a
call to a volatile function, so that it does not lead to a warning in
that case.

2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch12.adb, sem_ch4.adb, sem_ch6.adb: Minor reformatting.

2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>

* gnat1drv.adb: Code clean up. Do not emit any
code generation errors when the unit is ignored Ghost.

2016-07-06  Ed Schonberg  <schonberg@adacore.com>

* sem_eval.adb (Check_Non_Static_Context): If the expression
is a real literal of a floating point type that is part of a
larger expression and is not a static expression, transform it
into a machine number now so that the rest of the computation,
even if other components are static, is not evaluated with
extra precision.

2016-07-06  Javier Miranda  <miranda@adacore.com>

* sem_ch13.adb (Freeze_Entity_Checks): Undo previous patch and move the
needed functionality to Analyze_Freeze_Generic_Entity.
(Analyze_Freeze_Generic_Entity): If the entity is not already frozen
and has delayed aspects then analyze them.

2016-07-06  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Analyze_Pragma.Process_Inline.Set_Inline_Flags):
Special case for unanalyzed body entity of ghost expression function.

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

9 years ago Implement LWG 2451, optional<T> should 'forward' T's
ville [Wed, 6 Jul 2016 13:26:10 +0000 (13:26 +0000)] 
Implement LWG 2451, optional<T> should 'forward' T's
implicit conversions.
* include/experimental/optional (__is_optional_impl, __is_optional):
New.
(optional()): Make constexpr and default.
(optional(_Up&&), optional(const optional<_Up>&),
optional(optional<_Up>&& __t): New.
(operator=(_Up&&)): Constrain.
(operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
* testsuite/experimental/optional/cons/value.cc:
Add tests for the functionality added by LWG 2451.
* testsuite/experimental/optional/cons/value_neg.cc: New.

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

9 years agoThis patch improves the accuracy of the Cortex-A53 integer scheduler,
wilco [Wed, 6 Jul 2016 13:17:23 +0000 (13:17 +0000)] 
This patch improves the accuracy of the Cortex-A53 integer scheduler,
resulting in performance gains across a wide range of benchmarks.

    gcc/
* config/arm/cortex-a53.md: Use final_presence_set for in-order.
(cortex_a53_shift): Add mov_shift.
(cortex_a53_shift_reg): Add new reservation for register shifts.
(cortex_a53_alu): Remove bfm.
(cortex_a53_alu_shift): Add bfm, remove mov_shift.
(cortex_a53_alu_extr): Add new reservation for EXTR.
(bypasses): Improve bypass modelling.

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