platform/upstream/linaro-gcc.git
8 years ago * target.def (goacc.dim_limit): New hook.
nathan [Thu, 5 Nov 2015 13:50:13 +0000 (13:50 +0000)]
* target.def (goacc.dim_limit): New hook.
* targhooks.h (default_goacc_dim_limit): Declare.
* doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add.
* doc/tm.texi: Rebuilt.
* omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare.
* omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New.
(default_goacc_dim_limit): New.
* config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
(nvptx_goacc_dim_limit) New.
(TARGET_GOACC_DIM_LIMIT): Override.
* tree-vrp.c: Include omp-low.h, target.h.
(extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE &
IFN_GOACC_DIM_POS.

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

8 years agogcc/
ienkovich [Thu, 5 Nov 2015 12:21:33 +0000 (12:21 +0000)]
gcc/

* tree-vect-generic.c (do_compare): Use -1 for true
result instead of 1.

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

8 years ago[Patch AArch64] Switch constant pools to separate rodata sections.
ramana [Thu, 5 Nov 2015 09:48:53 +0000 (09:48 +0000)]
[Patch AArch64] Switch constant pools to separate rodata sections.

        Now that PR63304 is fixed and we have an option to address
any part of the memory using adrp / add or adrp / ldr instructions
it makes sense to switch out literal pools into their own
mergeable sections by default.

This would mean that by default we could now start getting
the benefits of constant sharing across the board, potentially
improving code size. The other advantage of doing so, for the
security conscious is that this prevents intermingling of literal
pools with code.

Wilco's kindly done some performance measurements and suggests that
there is not really a performance regression in doing this.
I've looked at the code size for SPEC2k6 today at -Ofast and
in general there is a good code size improvement as expected
by sharing said constants.

Tested on aarch64-none-elf with no regressions and bootstrapped
and regression tested in my tree for a number of days now.

2015-11-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/aarch64/aarch64.c
        (aarch64_can_use_per_function_literal_pools_p): New.
        (aarch64_use_blocks_for_constant_p): Adjust declaration
        and use aarch64_can_use_function_literal_pools_p.
        (aarch64_select_rtx_section): Update.

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

8 years agogcc/
ienkovich [Thu, 5 Nov 2015 09:46:10 +0000 (09:46 +0000)]
gcc/

2015-10-29  Ilya Enkovich  <enkovich.gnu@gmail.com>

* targhooks.c (default_get_mask_mode): Use BLKmode in
case target doesn't support required vector mode.
* stor-layout.c (layout_type); Check for BLKmode.

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

8 years ago2015-11-05 Richard Biener <rguenther@suse.de>
rguenth [Thu, 5 Nov 2015 08:43:46 +0000 (08:43 +0000)]
2015-11-05  Richard Biener  <rguenther@suse.de>

* gcc.dg/tree-ssa/loadpre2.c: Avoid undefined behavior due to
uninitialized variables.
* gcc.dg/tree-ssa/loadpre21.c: Likewise.
* gcc.dg/tree-ssa/loadpre22.c: Likewise.
* gcc.dg/tree-ssa/loadpre23.c: Likewise.
* gcc.dg/tree-ssa/loadpre24.c: Likewise.
* gcc.dg/tree-ssa/loadpre25.c: Likewise.
* gcc.dg/tree-ssa/loadpre4.c: Likewise.
* gcc.dg/ipa/inlinehint-2.c: Likewise.
* gcc.dg/ipa/pure-const-2.c: Likewise.
* gcc.dg/tree-ssa/loop-1.c: Likewise.
* gcc.dg/tree-ssa/loop-23.c: Likewise.
* gcc.dg/tree-ssa/pr22051-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise.
* gcc.dg/vect/pr30858.c: Likewise.
* gcc.dg/vect/pr33866.c: Likewise.
* gcc.dg/vect/pr37027.c: Likewise.
* c-c++-common/ubsan/null-10.c: Likewise.
* gcc.target/i386/incoming-8.c: Likewise.

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

8 years agoDaily bump.
gccadmin [Thu, 5 Nov 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago gcc/cp/
cesar [Wed, 4 Nov 2015 22:09:53 +0000 (22:09 +0000)]
gcc/cp/
* (cp_parser_oacc_single_int_clause): New function.
(cp_parser_oacc_clause_vector_length): Delete.
(cp_parser_omp_clause_num_gangs): Delete.
(cp_parser_omp_clause_num_workers): Delete.
(cp_parser_oacc_all_clauses): Use cp_parser_oacc_single_int_clause
for num_gangs, num_workers and vector_length.

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

8 years agoremove parameter_rename_map
spop [Wed, 4 Nov 2015 20:59:18 +0000 (20:59 +0000)]
remove parameter_rename_map

This map was used in the transition to the new scop detection: with the new scop
detection, we do not need this map anymore.

       * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
       Remove use of parameter_rename_map.
       (copy_def): Remove.
       (copy_internal_parameters): Remove.
       (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
       * sese.c (new_sese_info): Do not initialize parameter_rename_map.
       (free_sese_info): Do not free parameter_rename_map.
       (set_rename): Do not use parameter_rename_map.
       (rename_uses): Update call to set_rename.
       (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
       * sese.h (parameter_rename_map_t): Remove.
       (struct sese_info_t): Remove field parameter_rename_map.

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

8 years agoimprove debug of codegen
spop [Wed, 4 Nov 2015 20:59:12 +0000 (20:59 +0000)]
improve debug of codegen

- fix printing of ISL stmt and parameter names
- move dot_scop* functions outside of anonymous namespace.

  * graphite-isl-ast-to-gimple.c: Include tree-cfg.h.
  (translate_isl_ast_node_user): Add more dumps: call print_loops_bb.
  * graphite-scop-detection.c (dot_all_scops_1): Moved out of
  anonymous namespace.
  * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove.
  (isl_id_for_pbb): Use a buffer of size 10.
  (isl_id_for_ssa_name): Same.
  * sese.c (set_rename): Add more dumps.

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

8 years ago * omp-low.c (struct omp_context): Remove reduction_map field.
nathan [Wed, 4 Nov 2015 20:54:24 +0000 (20:54 +0000)]
* omp-low.c (struct omp_context): Remove reduction_map field.
(lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete.
(new_omp_context, delete_omp_context, scan_omp_target): Remove
reduction_map handling.
(lower_omp_target): Remove obsolete openacc reduction handling.

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

8 years ago gcc/
nathan [Wed, 4 Nov 2015 20:48:05 +0000 (20:48 +0000)]
gcc/
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking.

libgomp/
* testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
and reduction copy.
* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.

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

8 years ago * gnat.dg/slice9.adb: New test.
ebotcazou [Wed, 4 Nov 2015 20:32:54 +0000 (20:32 +0000)]
* gnat.dg/slice9.adb: New test.

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

8 years ago * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
nathan [Wed, 4 Nov 2015 17:01:23 +0000 (17:01 +0000)]
* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
* libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
* libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
* libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
* libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
* libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
* libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
* libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.

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

8 years ago * gfortran.dg/goacc/reduction-2.f95: Delete.
nathan [Wed, 4 Nov 2015 17:00:27 +0000 (17:00 +0000)]
* gfortran.dg/goacc/reduction-2.f95: Delete.

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

8 years ago * config/nvptx/nvptx.c: Include gimple headers.
nathan [Wed, 4 Nov 2015 16:58:52 +0000 (16:58 +0000)]
* config/nvptx/nvptx.c: Include gimple headers.
(worker_red_size, worker_red_align, worker_red_name,
worker_red_sym): New.
(nvptx_option_override): Initialize worker reduction buffer.
(nvptx_file_end): Write out worker reduction buffer var.
(nvptx_expand_shuffle, nvptx_expand_worker_addr,
nvptx_expand_cmp_swap): New builtin expanders.
(enum nvptx_builtins): New.
(nvptx_builtin_decls): New.
(nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New
(PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
(nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle,
nvptx_lockless_update): New helpers.
(nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init,
nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New.
(nvptx_goacc_reduction): New.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN,
TARGET_BUILTIN_DECL): Override.
(TARGET_GOACC_REDUCTION): Override.

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

8 years ago * internal-fn.def (GOACC_REDUCTION): New.
nathan [Wed, 4 Nov 2015 16:57:36 +0000 (16:57 +0000)]
* internal-fn.def (GOACC_REDUCTION): New.
* internal-fn.h (enum ifn_goacc_reduction_kind): New.
* internal-fn.c (expand_GOACC_REDUCTION): New.
* target.def (goacc.reduction): New OpenACC hook.
* targhooks.h (default_goacc_reduction): Declare.
* doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
* doc/tm.texi: Rebuilt.
* omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
scan_sharing_clauses): Remove oacc reduction handling here.
(lower_rec_input_clauses): Don't handle OpenACC reductions here.
(oacc_lower_reduction_var_helper): Delete.
(lower_oacc_reductions): New.
(lower_reduction_clauses): Don't handle OpenACC reductions here.
(lower_oacc_head_tail): Call lower_oacc_reductions.
(oacc_gimple_assign, oacc_init_reduction_array,
oacc_initialize_reduction_data, oacc_finalize_reduction_data,
oacc_process_reduction_data): Delete.
(lower_omp_target): Remove old OpenACC reduction handling.  Insert
dummy OpenACC gang reduction for reductions at outer level.
(oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
(default_goacc_reduction): New.
(execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.

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

8 years agoPass manager: add support for termination of pass list
marxin [Wed, 4 Nov 2015 16:50:45 +0000 (16:50 +0000)]
Pass manager: add support for termination of pass list

* cgraphunit.c (cgraph_node::expand_thunk): Call
allocate_struct_function before init_function_start.
(cgraph_node::expand): Use push_cfun and pop_cfun.
* config/i386/i386.c (ix86_code_end): Call
allocate_struct_function before init_function_start.
* config/rs6000/rs6000.c (rs6000_code_end): Likewise.
* function.c (init_function_start): Move preamble to all
callers.
* passes.c (do_per_function_toporder): Use push_cfun and pop_cfun.
(execute_one_pass): Handle newly added TODO_discard_function.
(execute_pass_list_1): Terminate if cfun equals to NULL.
(execute_pass_list): Do not push and pop cfun, expect that
cfun is set.
* tree-pass.h (TODO_discard_function): Define.

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

8 years agoENABLE_CHECKING refactoring: remove remaining occurrences
miyuki [Wed, 4 Nov 2015 15:01:46 +0000 (15:01 +0000)]
ENABLE_CHECKING refactoring: remove remaining occurrences

libcpp/

* config.in: Regenerate.
* configure: Regenerate.
* configure.ac: Remove ENABLE_CHECKING.

gcc/

* cfganal.c (inverted_post_order_compute): Remove conditional
compilation, use flag_checking.
* config.in: Regenerate.
* configure: Regenerate.
* configure.ac: Remove ENABLE_CHECKING.
* genconditions.c: Do not #undef ENABLE_CHECKING.
* sese.h (bb_in_region): Comment out broken check.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove
conditional compilation, use flag_checking.

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

8 years agoENABLE_CHECKING refactoring: C family front ends
miyuki [Wed, 4 Nov 2015 14:32:42 +0000 (14:32 +0000)]
ENABLE_CHECKING refactoring: C family front ends

gcc/c-family/

* c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
flag_checking.

gcc/cp/

* call.c (validate_conversion_obstack): Define unconditionally.
* constexpr.c (maybe_constant_value, fold_non_dependent_expr): Use
gcc_checking_assert.
* cp-tree.h: Use CHECKING_P instead of ENABLE_CHECKING.
* decl2.c (cxx_post_compilation_parsing_cleanups): Use flag_checking.
* mangle.c (add_substitution): Likewise.
* method.c (maybe_explain_implicit_delete): Likewise.
* parser.c (cp_parser_template_argument_list): Remove conditional
compilation.
* pt.c (check_unstripped_args): Rename to...
(verify_unstripped_args): ... this and remove conditional compilation.
(retrieve_specialization): Guard call of verify_unstripped_args with
flag_checking.
(template_parm_to_arg): Remove conditional compilation.
(template_parms_to_args, coerce_template_parameter_pack,
coerce_template_parms): Likewise.
(tsubst_copy): Use flag_checking.
(type_unification_real): Remove conditional compilation.
(build_non_dependent_expr): Use flag_checking.
* tree.c (build_target_expr): Remove conditional compilation, use
gcc_checking_assert.
* typeck.c (comptypes): Likewise.
* typeck2.c (digest_init_r): Likewise.

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

8 years agoHandle recursive restrict in function parameter
vries [Wed, 4 Nov 2015 14:18:43 +0000 (14:18 +0000)]
Handle recursive restrict in function parameter

2015-11-04  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/67742
* tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type
field.
(push_fields_onto_fieldstack): Handle restrict_pointed_type field.
(create_variable_info_for_1): Add and handle handle_param parameter.
Add restrict handling.
(create_variable_info_for): Call create_variable_info_for_1 with extra
arg.
(make_param_constraints): Drop restrict_name parameter.  Ignore
vi->only_restrict_pointers.
(intra_create_variable_infos): Call create_variable_info_for_1 with
extra arg.  Remove restrict handling.  Call make_param_constraints with
one less arg.

* gcc.dg/tree-ssa/restrict-7.c: New test.
* gcc.dg/tree-ssa/restrict-8.c: New test.

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

8 years agoUse decl_type in create_variable_info_for_1
vries [Wed, 4 Nov 2015 14:18:34 +0000 (14:18 +0000)]
Use decl_type in create_variable_info_for_1

2015-11-04  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type
variable.

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

8 years ago * gnat.dg/slice9.adb: New test.
ebotcazou [Wed, 4 Nov 2015 08:50:46 +0000 (08:50 +0000)]
* gnat.dg/slice9.adb: New test.

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

8 years ago gotest: fix handling of --goarch option
ian [Wed, 4 Nov 2015 01:52:40 +0000 (01:52 +0000)]
gotest: fix handling of --goarch option

    I managed to add a new --goarch option to gotest without noticing that
    the script already had one.  Worse, they set different variables.
    Remove the old option in favor of the new one.

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

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

9 years agoDaily bump.
gccadmin [Wed, 4 Nov 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

9 years agoremove usage of ROUND_TYPE_SIZE from encoding.c
tbsaunde [Tue, 3 Nov 2015 22:43:22 +0000 (22:43 +0000)]
remove usage of ROUND_TYPE_SIZE from encoding.c

gcc got rid of this target macro in 2003, so it seems safe to assume the
alternate path works fine on all targets.

libobjc/ChangeLog:

2015-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

PR libobjc/24775
* encoding.c (objc_layout_finish_structure): Remove usage of
ROUND_TYPE_SIZE.

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

9 years agoremove unused config/arm/coff.h
tbsaunde [Tue, 3 Nov 2015 22:43:17 +0000 (22:43 +0000)]
remove unused config/arm/coff.h

gcc/ChangeLog:

2015-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* config/arm/coff.h: Remove.

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

9 years ago Handle auto parameter packs.
jason [Tue, 3 Nov 2015 20:51:41 +0000 (20:51 +0000)]
Handle auto parameter packs.

* pt.c (struct find_parameter_pack_data): Add
type_pack_expansion_p field.
(find_parameter_packs_r): Use it to turn 'auto' into a parameter pack.
(uses_parameter_packs, make_pack_expansion)
(check_for_bare_parameter_packs, fixed_parameter_pack_p): Set it.

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

9 years ago * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
nathan [Tue, 3 Nov 2015 20:18:33 +0000 (20:18 +0000)]
* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
(GOMP_OFFLOAD_openacc_parallel): Likewise.
* oacc-host.c (host_openacc_exec): Likewise.
* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.

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

9 years ago * lex.c (search_line_sse42): Correctly advance the pointer to an
uros [Tue, 3 Nov 2015 19:05:50 +0000 (19:05 +0000)]
* lex.c (search_line_sse42): Correctly advance the pointer to an
aligned address.

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

9 years agoPR c++-common/67882
msebor [Tue, 3 Nov 2015 18:53:19 +0000 (18:53 +0000)]
PR c++-common/67882

* c-family/c-common.h (fold_offsetof_1): Add argument.
* c-family/c-common.c (fold_offsetof_1): Diagnose more invalid
offsetof expressions that reference elements past the end of
an array.

        * c-c++-common/builtin-offsetof-2.c: New test.

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

9 years ago2015-11-03 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Tue, 3 Nov 2015 18:03:38 +0000 (18:03 +0000)]
2015-11-03  Dominique d'Humieres <dominiq@lps.ens.fr>

PR fortran/67982
* gfortran.dg/warn_unused_function_3.f90: New test.

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

9 years agoRemove superfluous gcc/ prefixes
ebotcazou [Tue, 3 Nov 2015 17:25:24 +0000 (17:25 +0000)]
Remove superfluous gcc/ prefixes

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

9 years ago * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
ebotcazou [Tue, 3 Nov 2015 17:19:30 +0000 (17:19 +0000)]
* gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
check for aggregate types and beef up comment for mode check.

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

9 years ago * libsupc++/new: Declare sized deletes.
jason [Tue, 3 Nov 2015 16:43:54 +0000 (16:43 +0000)]
* libsupc++/new: Declare sized deletes.

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

9 years ago2015-11-03 Richard Biener <rguenther@suse.de>
rguenth [Tue, 3 Nov 2015 15:59:17 +0000 (15:59 +0000)]
2015-11-03  Richard Biener  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect
data references here.
* tree-vect-loop.c: Include cgraph.h.
(vect_analyze_loop_2): Collect data references here.
* tree-vect-slp.c (find_bb_location): Inline ...
(vect_slp_bb): ... here.  Renamed from vect_slp_analyze_bb.
Factor in vect_slp_transform_bb.
(vect_slp_transform_bb): Removed.
(vect_slp_analyze_bb_1): Collect data references here.
* tree-vectorizer.c (pass_slp_vectorize::execute): Call
vect_slp_bb.
* tree-vectorizer.h (vect_slp_bb): Declare.
(vect_slp_analyze_bb): Remove.
(vect_slp_transform_bb): Remove.
(find_bb_location): Remove.
(vect_analyze_data_refs): Remove stmt count reference parameter.

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

9 years ago mksysinfo.sh: Make sure that CLONE_NEWUSER is defined.
ian [Tue, 3 Nov 2015 15:07:47 +0000 (15:07 +0000)]
mksysinfo.sh: Make sure that CLONE_NEWUSER is defined.

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

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

9 years ago2015-11-03 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 3 Nov 2015 13:41:23 +0000 (13:41 +0000)]
2015-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

* Wrap ChangeLog entries to 80 columns.

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

9 years ago2015-11-03 Evgeny Stupachenko <evstupac@gmail.com>
iverbin [Tue, 3 Nov 2015 12:02:53 +0000 (12:02 +0000)]
2015-11-03  Evgeny Stupachenko  <evstupac@gmail.com>

gcc/
* multiple_target.c (create_dispatcher_calls): Add target check
on ifunc.
(create_target_clone): Change assembler name for versioned declarations.
gcc/testsuite/
* g++.dg/ext/mvc4.C: Add dg-require-ifunc condition.
* gcc.target/i386/mvc5.c: Ditto.
* gcc.target/i386/mvc7.c: Add dg-require-ifunc condition and checks on
resolver.

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

9 years agoOpenACC atomic directive
tschwinge [Tue, 3 Nov 2015 11:28:22 +0000 (11:28 +0000)]
OpenACC atomic directive

gcc/c-family/
* c-pragma.c (oacc_pragmas): Add "atomic".
* c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
gcc/c/
* c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
gcc/cp/
* parser.c (cp_parser_omp_construct, cp_parser_pragma): Handle
PRAGMA_OACC_ATOMIC.
gcc/fortran/
* gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
ST_OACC_END_ATOMIC.
(gfc_exec_op): Add EXEC_OACC_ATOMIC.
* match.h (gfc_match_oacc_atomic): New prototype.
* openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
wrapper functions around...
(gfc_match_omp_oacc_atomic): ... this new function.
(oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
EXEC_OACC_ATOMIC.
* parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
(case_exec_markers): Add ST_OACC_ATOMIC.
(gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
(parse_omp_atomic): Rename to...
(parse_omp_oacc_atomic): ... this new function.  Add omp_p formal
parameter.  Adjust all users.
(parse_executable): Handle ST_OACC_ATOMIC.
(is_oacc): Handle EXEC_OACC_ATOMIC.
* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
EXEC_OACC_ATOMIC.
* st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
* trans-openmp.c (gfc_trans_oacc_directive): Handle
EXEC_OACC_ATOMIC.
* trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
gcc/
* builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
* omp-low.c (check_omp_nesting_restrictions): Allow
GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
contexts.
gcc/testsuite/
* c-c++-common/goacc-gomp/nesting-fail-1.c: Move "atomic" tests
from here to...
* c-c++-common/goacc-gomp/nesting-1.c: ... here, and expect them
to succeed.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
file.
* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.

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

9 years ago[AARCH64][PATCH 1/3] Implementing the variants of the vmulx_ NEON intrinsic
jgreenhalgh [Tue, 3 Nov 2015 10:58:27 +0000 (10:58 +0000)]
[AARCH64][PATCH 1/3] Implementing the variants of the vmulx_ NEON intrinsic

gcc/

* config/aarch64/aarch64-simd-builtins.def (fmulx): New.
* config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
* config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
builtin.
(vmulxq_f32): Likewise.
(vmulx_f64): New.
(vmulxq_f64): Rewrite to call fmulx builtin.
(vmulxs_f32): Likewise.
(vmulxd_f64): Likewise.
(vmulx_lane_f32): Remove.
* config/aarch64/iterators.md (UNSPEC): Add fmulx.

gcc/testsuite/

* gcc/testsuite/gcc.target/aarch64/simd/vmulx_f32_1.c: New.
* gcc/testsuite/gcc.target/aarch64/simd/vmulx_f64_1.c: New.
* gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f32_1.c: New.
* gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f64_1.c: New.
* gcc/testsuite/gcc.target/aarch64/simd/vmulxs_f32_1.c: New.
* gcc/testsuite/gcc.target/aarch64/simd/vmulxd_f64_1.c: New.

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

9 years ago[AArch64] Fix ICE on (const_double:HF 0.0)
alalaw01 [Tue, 3 Nov 2015 10:35:31 +0000 (10:35 +0000)]
[AArch64] Fix ICE on (const_double:HF 0.0)

gcc/:

* config/aarch64/aarch64.md (*movhf_aarch64): Use
aarch64_reg_or_fp_zero for second operand.

gcc/testsuite/:

* gcc.target/aarch64/fp16/set_zero_1.c: New.

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

9 years ago * ChangeLog: Fix whitespace.
uros [Tue, 3 Nov 2015 08:45:55 +0000 (08:45 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

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

9 years ago2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com>
ville [Tue, 3 Nov 2015 08:41:40 +0000 (08:41 +0000)]
2015-11-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

Make the default constructors of tuple and pair conditionally explicit.
* include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
__is_default_constructible_atom, __is_default_constructible_safe,
__is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
__is_nt_default_constructible_impl, is_nothrow_default_constructible,
is_nothrow_constructible, is_nothrow_assignable,
is_trivially_constructible, is_trivially_copy_constructible,
is_trivially_move_constructible, is_trivially_assignable,
is_trivially_copy_assignable, is_trivially_move_assignable,
is_trivially_destructible): Simplify.
* include/std/type_traits (
__do_is_implicitly_default_constructible_impl,
__is_implicitly_default_constructible_impl,
__is_implicitly_default_constructible_safe,
__is_implicitly_default_constructible): New.
* include/bits/stl_pair.h (pair::pair()): Use it.
* include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
* include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
* include/std/tuple (tuple<_Types...>::tuple()): Use it.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc: New.
* testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_implicitly_default_constructible/value.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.

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

9 years ago * gcc.dg/mvc1.c: Move to ...
uros [Tue, 3 Nov 2015 08:34:42 +0000 (08:34 +0000)]
* gcc.dg/mvc1.c: Move to ...
* gcc.target/i386/mvc1.c: ... here.  Require ifunc.
* gcc.dg/mvc2.c: Move to ...
* gcc.target/i386/mvc2.c: ... here.
* gcc.dg/mvc3.c: Move to ...
* gcc.target/i386/mvc3.c: ... here.
* gcc.dg/mvc4.c: Move to ...
* gcc.target/i386/mvc4.c: ... here.  Require ifunc.
* gcc.dg/mvc5.c: Move to ...
* gcc.target/i386/mvc5.c: ... here.
* gcc.dg/mvc6.c: Move to ...
* gcc.target/i386/mvc6.c: ... here.
* gcc.dg/mvc7.c: Move to ...
* gcc.target/i386/mvc7.c: ... here.

* g++.dg/ext/mvc1.C: Require ifunc.

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

9 years agodefer mark_addressable calls during expand till the end of expand
aoliva [Tue, 3 Nov 2015 03:57:07 +0000 (03:57 +0000)]
defer mark_addressable calls during expand till the end of expand

for  gcc/ChangeLog

* gimple-expr.c: Include hash-set.h and rtl.h.
(mark_addressable_queue): New var.
(mark_addressable): Factor actual marking into...
(mark_addressable_1): ... this.  Queue it up during expand.
(mark_addressable_2): New.
(flush_mark_addressable_queue): New.
* gimple-expr.h (flush_mark_addressable_queue): Declare.
* cfgexpand.c: Include gimple-expr.h.
(pass_expand::execute): Flush mark_addressable queue.

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

9 years agoRemove ChangeLog entry unintentionally duplicated in the top level
aoliva [Tue, 3 Nov 2015 03:52:56 +0000 (03:52 +0000)]
Remove ChangeLog entry unintentionally duplicated in the top level

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

9 years agoifcombine: factor out inner block viability test
aoliva [Tue, 3 Nov 2015 00:31:18 +0000 (00:31 +0000)]
ifcombine: factor out inner block viability test

Bail out early if the inner block has side effects or is otherwise not
eligible for ifcombine.

for  gcc/ChangeLog

* tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
bb_no_side_effects_p tests...
(tree_ssa_ifcombine_bb): ... here.

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

9 years ago[PR68083] don't introduce undefined behavior in ifcombine
aoliva [Tue, 3 Nov 2015 00:30:07 +0000 (00:30 +0000)]
[PR68083] don't introduce undefined behavior in ifcombine

The ifcombine pass may move a conditional access to an uninitialized
value before the condition that ensures it is always well-defined,
thus introducing undefined behavior.  Stop it from doing so.

for  gcc/ChangeLog

PR tree-optimization/68083
* tree-ssa-ifcombine.c: Include tree-ssa.h.
(bb_no_side_effects_p): Test for undefined uses too.
* tree-ssa.c (gimple_uses_undefined_value_p): New.
* tree-ssa.h (gimple_uses_undefined_value_p): Declare.

for  gcc/testsuite/ChangeLog

PR tree-optimization/68083
* gcc.dg/torture/pr68083.c: New.  From Zhendong Su.

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

9 years agoDaily bump.
gccadmin [Tue, 3 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago libgo: Bump version number.
ian [Mon, 2 Nov 2015 23:30:21 +0000 (23:30 +0000)]
libgo: Bump version number.

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

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

9 years ago[PATCH] Avoid more irreducible loops in FSM threader
law [Mon, 2 Nov 2015 23:25:06 +0000 (23:25 +0000)]
[PATCH] Avoid more irreducible loops in FSM threader

* tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
cases where the loop latch edge is in the middle of an FSM
path.

* gcc.dg/tree-ssa/ssa-thread-11.c: Verify that we do not have
irreducible loops in the CFG.

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

9 years agoRename make_restrict_var_constraints to make_param_constraints
vries [Mon, 2 Nov 2015 23:23:28 +0000 (23:23 +0000)]
Rename make_restrict_var_constraints to make_param_constraints

2015-11-03  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
(make_param_constraints): ... this.  Add and handle restrict_name
parameter.  Handle is_full_var case.
(intra_create_variable_infos): Use make_param_constraints.

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

9 years agoReplace make_copy_constraint with make_constraint_from in make_restrict_var_constraints
vries [Mon, 2 Nov 2015 23:23:19 +0000 (23:23 +0000)]
Replace make_copy_constraint with make_constraint_from in make_restrict_var_constraints

2015-11-03  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-structalias.c (make_restrict_var_constraints): Replace
make_copy_constraint call with make_constraint_from call.

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

9 years ago2015-11-02 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Mon, 2 Nov 2015 21:51:25 +0000 (21:51 +0000)]
2015-11-02  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
    PIE executables.

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

9 years ago mksysinfo.sh: Handle TIOCGPGRP if too complex for -dump-go-spec.
ian [Mon, 2 Nov 2015 20:23:09 +0000 (20:23 +0000)]
mksysinfo.sh: Handle TIOCGPGRP if too complex for -dump-go-spec.

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

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

9 years ago syscall: Change raw_ioctl cmd type to uintptr.
ian [Mon, 2 Nov 2015 19:58:15 +0000 (19:58 +0000)]
syscall: Change raw_ioctl cmd type to uintptr.

    Attempt to fix a build bug report:

    ../../../../libgo/go/syscall/exec_linux.go:185:37: error: integer constant overflow
       _, err1 = raw_ioctl_ptr(sys.Ctty, TIOCSPGRP, unsafe.Pointer(&pgrp))

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

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

9 years agolibcpp: Improvements to description of source_location in line-map.h
dmalcolm [Mon, 2 Nov 2015 19:47:03 +0000 (19:47 +0000)]
libcpp: Improvements to description of source_location in line-map.h

libcpp/ChangeLog:
* include/line-map.h (source_location): In the table in the
descriptive comment, show UNKNOWN_LOCATION, BUILTINS_LOCATION,
LINE_MAP_MAX_LOCATION_WITH_COLS, LINE_MAP_MAX_SOURCE_LOCATION.
Add notes about ad-hoc values.

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

9 years agoMove constant folds for maths functions to new file
rsandifo [Mon, 2 Nov 2015 16:34:16 +0000 (16:34 +0000)]
Move constant folds for maths functions to new file

The new routines operate on the built-in enum rather than on tree decls.
The idea is to extend this to handle internal functions too, with a
combined enum for both.

The patch also moves fold_fma too, with the same prototype.  The long-term
plan is to replace FMA_EXPR with an internal function, for consistency
with the way that things like SQRT will be handled.

Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu.

gcc/
* builtins.h (fold_fma): Move to fold-const-call.h.
* builtins.c: Include fold-const-call.h.
(mathfn_built_in_2): New function, split out from...
(mathfn_built_in_1): ...here.
(do_real_to_int_conversion, fold_const_builtin_pow)
(fold_const_builtin_logb, fold_const_builtin_significand)
(fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
(do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
(fold_builtin_sincos): Use fold_const_call to handle constants.
(fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
checks for ERROR_MARK.  Use fold_const_call to handle constant
folds for math functions.
(fold_fma): Move to fold-const-call.c.
* fold-const.c: Include fold-const-call.h.
* Makefile.in (OBJS): Add fold-const-call.o.
(PLUGIN_HEADERS): Add fold-const-call.h.
* realmpfr.h (real_from_mpfr): Allow the format to be specified
directly.
* realmpfr.c (real_from_mpfr): Likewise.
* fold-const-call.h, fold-const-call.c: New files.

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

9 years ago[ARM] neon-testgen.ml typo
jules [Mon, 2 Nov 2015 12:43:14 +0000 (12:43 +0000)]
[ARM] neon-testgen.ml typo

* config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
brackets and semicolon.

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

9 years agoRevert: tree-scalar-evolution.c: Handle LSHIFT by constant
alalaw01 [Mon, 2 Nov 2015 12:39:31 +0000 (12:39 +0000)]
Revert: tree-scalar-evolution.c: Handle LSHIFT by constant

gcc/:

tree-scalar-evolution.c (interpret_rhs_expr): Handle some
LSHIFT_EXPRs as equivalent MULT_EXPRs.

gcc/testsuite/:

gcc.dg/vect/vect-strided-shift.c: New.

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

9 years agoMove gcc.target/arm/pr67929_1.c test to execute.exp
ktkachov [Mon, 2 Nov 2015 12:23:36 +0000 (12:23 +0000)]
Move gcc.target/arm/pr67929_1.c test to execute.exp

PR target/67929
* gcc.target/arm/pr67929_1.c: Move to...
* gcc.c-torture/execute/pr67929_1.c: ... Here.
Remove arm-specific directives.  Add noclone, noinline
attributes.

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

9 years ago[PR middle-end/68166] Restore build with fold checking enabled
tschwinge [Mon, 2 Nov 2015 07:42:04 +0000 (07:42 +0000)]
[PR middle-end/68166] Restore build with fold checking enabled

gcc/
PR middle-end/68166
* fold-const.c: Include "md5.h".

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

9 years ago[PATCH] Avoid ssa-thread-11.c on various targets
law [Mon, 2 Nov 2015 05:59:19 +0000 (05:59 +0000)]
[PATCH] Avoid ssa-thread-11.c on various targets

* gcc.dg/tree-ssa/ssa-thread-11.c: Update target selector.

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

9 years ago[PATCH] Fix vms targets
law [Mon, 2 Nov 2015 05:27:14 +0000 (05:27 +0000)]
[PATCH] Fix vms targets

* vmsdbgout.c: Revert unused header file reduction patch.

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

9 years ago * config/mcore/mcore.c: Include regs.h.
law [Mon, 2 Nov 2015 05:23:52 +0000 (05:23 +0000)]
    * config/mcore/mcore.c: Include regs.h.

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

9 years agoDaily bump.
gccadmin [Mon, 2 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago mksysinfo.sh: Handle TIOCSPGRP if too complex for -fdump-go-spec.
ian [Sun, 1 Nov 2015 20:51:23 +0000 (20:51 +0000)]
mksysinfo.sh: Handle TIOCSPGRP if too complex for -fdump-go-spec.

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

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

9 years ago PR go/67968
ian [Sun, 1 Nov 2015 20:46:04 +0000 (20:46 +0000)]
PR go/67968
    compiler: Traverse types of call expressions.

    https://gcc.gnu.org/PR67968 provides a test case that causes a gccgo
    crash on valid code.  The compiler failed to build the hash and equality
    functions required for a type descriptor.  The descriptor is for an
    unnamed type that is being returned by a function imported from a
    different package.  The unnamed type is being implicitly converted to an
    interface type by a return statement.  The fix is to ensure that the
    type of a call expression is always traversed.

    Test case sent out for the master testsuite as
    https://golang.org/cl/16532 .

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

9 years ago * gcc.target/i386/pr67609-2.c: Include sse2-check.h.
uros [Sun, 1 Nov 2015 20:22:14 +0000 (20:22 +0000)]
* gcc.target/i386/pr67609-2.c: Include sse2-check.h.
(sse2_test): Rename from main.  Do not return 0.

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

9 years ago * gfortran.dg/debug/pr46756.f: Remove XFAIL for AIX.
dje [Sun, 1 Nov 2015 19:36:59 +0000 (19:36 +0000)]
    * gfortran.dg/debug/pr46756.f: Remove XFAIL for AIX.
        * gfortran.dg/proc_ptr_39.f90: Require visibility.
        * gfortran.dg/read_dir.f90: XFAIL AIX.

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

9 years agoDaily bump.
gccadmin [Sun, 1 Nov 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago runtime: If no split stacks, allocate stacks using mmap on 64-bit systems.
ian [Sat, 31 Oct 2015 23:48:19 +0000 (23:48 +0000)]
runtime: If no split stacks, allocate stacks using mmap on 64-bit systems.

    When not using split stacks, libgo allocate large stacks for each
    goroutine.  On a 64-bit system, libgo allocates a maximum of 128G for
    the Go heap, and allocates 4M for each stack.  When the stacks are
    allocated from the Go heap, the result is that a program can only create
    32K goroutines, which is not enough for an active Go server.  This patch
    changes libgo to allocate the stacks using mmap directly, rather than
    allocating them out of the Go heap.  This change is only done for 64-bit
    systems when not using split stacks.  When using split stacks, the
    stacks are allocated using mmap directly anyhow.  On a 32-bit system,
    there is no maximum size for the Go heap, or, rather, the maximum size
    is the available address space anyhow.

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

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

9 years ago * Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by
ian [Sat, 31 Oct 2015 21:29:38 +0000 (21:29 +0000)]
* Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by
adding alldocs.go, doc.go, note.go.
* Makefile.in: Rebuild.

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

9 years agors6000: Rewrite rs6000_reg_live_or_pic_offset_p
segher [Sat, 31 Oct 2015 19:50:09 +0000 (19:50 +0000)]
rs6000: Rewrite rs6000_reg_live_or_pic_offset_p

This function is quite a puzzle; untangle it.  No functional change.

2015-10-31  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.

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

9 years agors6000: Another PIC LRA fix
segher [Sat, 31 Oct 2015 19:48:19 +0000 (19:48 +0000)]
rs6000: Another PIC LRA fix

This one for TARGET_TOC && TARGET_MINIMAL_TOC.  Without it, r30 is not
saved in the prologue for functions that do not use r30, but the register
is set later in the prologue anyhow.  This made all java tests fail.

2015-10-31  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
live as for using it elsewhere, for TARGET_MINIMAL_TOC.

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

9 years agoRemove support for N3994, terse range-for, which was not adopted.
ville [Sat, 31 Oct 2015 19:42:01 +0000 (19:42 +0000)]
Remove support for N3994, terse range-for, which was not adopted.

/cp
2015-10-31  Ville Voutilainen  <ville.voutilainen@gmail.com>

Remove the implementation of N3994, terse range-for loops.
* parser.c (cp_parser_for_init_statement): Remove the parsing
of a terse range-for.

/testsuite
2015-10-31  Ville Voutilainen  <ville.voutilainen@gmail.com>

Remove the implementation of N3994, terse range-for loops.
* g++.dg/cpp1z/range-for1.C: Remove.

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

9 years ago PR Bootstrap/68168
cesar [Sat, 31 Oct 2015 17:55:03 +0000 (17:55 +0000)]
PR Bootstrap/68168

gcc/fortran/
* openmp.c (resolve_omp_clauses): Pass &n->where when calling
gfc_error.

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

9 years ago * gnat.dg/discr45.adb: New test.
ebotcazou [Sat, 31 Oct 2015 17:13:32 +0000 (17:13 +0000)]
* gnat.dg/discr45.adb: New test.

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

9 years ago Implement multiple 'auto' feature from Concepts TS.
jason [Sat, 31 Oct 2015 16:20:05 +0000 (16:20 +0000)]
Implement multiple 'auto' feature from Concepts TS.

* parser.c (cp_parser_type_id_1): Allow 'auto' if -fconcepts.
(cp_parser_template_type_arg): Likewise.
(get_concept_from_constraint): Split out most logic to...
* constraint.cc (placeholder_extract_concept_and_args): ...here.
(equivalent_placeholder_constraints, hash_placeholder_constraint): New.
* cxx-pretty-print.c (pp_cxx_constrained_type_spec): New.
* cxx-pretty-print.h: Declare it.
* error.c (dump_type) [TEMPLATE_TYPE_PARM]: Call it.
* pt.c (is_auto_r, extract_autos_r, extract_autos, auto_hash): New.
(type_uses_auto): Use is_auto_r.
(do_auto_deduction): Handle multiple 'auto's if -fconcepts.
* typeck.c (structural_comptypes) [TEMPLATE_TYPE_PARM]: Compare
constraints.

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

9 years ago Streamline for_each_template_parm.
jason [Sat, 31 Oct 2015 16:19:55 +0000 (16:19 +0000)]
Streamline for_each_template_parm.

* pt.c (for_each_template_parm_r): Use WALK_SUBTREE.
Return a meaningful value rather than error_mark_node.
(for_each_template_parm): Return a tree.
(uses_template_parms_level): Return bool.
* cp-tree.h: Adjust.

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

9 years ago Improve deduction failure diagnostics.
jason [Sat, 31 Oct 2015 16:19:50 +0000 (16:19 +0000)]
Improve deduction failure diagnostics.

* pt.c (unify): Don't diagnose no common base if we already have
the same template.
(do_auto_deduction): Explain deduction failure.

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

9 years ago * pt.c (hash_tmpl_and_args): Use iterative_hash_object on template
jason [Sat, 31 Oct 2015 16:19:44 +0000 (16:19 +0000)]
* pt.c (hash_tmpl_and_args): Use iterative_hash_object on template
uid.

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

9 years ago Make some functions static.
jason [Sat, 31 Oct 2015 16:19:38 +0000 (16:19 +0000)]
Make some functions static.

* parser.c (synthesize_implicit_template_parm)
(finish_fully_implicit_template): Make static.

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

9 years ago libgo: Update from Go 1.5 to Go 1.5.1.
ian [Sat, 31 Oct 2015 15:23:52 +0000 (15:23 +0000)]
libgo: Update from Go 1.5 to Go 1.5.1.

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

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

9 years agoggc-common.c : Restore needed header for checking=release.
trippels [Sat, 31 Oct 2015 10:57:33 +0000 (10:57 +0000)]
ggc-common.c : Restore needed header for checking=release.

       *ggc-common.c : Restore needed header for checking=release.

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

9 years agoTune pointer-plus folding
vries [Sat, 31 Oct 2015 09:33:25 +0000 (09:33 +0000)]
Tune pointer-plus folding

2015-10-31  Tom de Vries  <tom@codesourcery.com>

* fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.

* gfortran.dg/assumed_type_2.f90: Update test.
* gfortran.dg/no_arg_check_2.f90: Same.

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

9 years agoDon't expect existing varinfo for arguments in intra_create_variable_infos
vries [Sat, 31 Oct 2015 08:08:48 +0000 (08:08 +0000)]
Don't expect existing varinfo for arguments in intra_create_variable_infos

2015-10-31  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
existing varinfo for arguments.

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

9 years agoAdd initial constraints in create_function_info_for
vries [Sat, 31 Oct 2015 08:08:39 +0000 (08:08 +0000)]
Add initial constraints in create_function_info_for

2015-10-31  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
create_function_info_for.  Dump constraints generated during
create_function_info_for. Move intra_create_variable_infos call and
function-return-values-escape bit to ...
(create_function_info_for): ... here, and merge
intra_create_variable_infos call with argument loop.  Add and handle
nonlocal_p parameter.

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

9 years agoImprove readability and structure of create_function_info_for
vries [Sat, 31 Oct 2015 08:08:28 +0000 (08:08 +0000)]
Improve readability and structure of create_function_info_for

2015-10-31  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
updating is alap, and seperated from preceding code.  Make sure
insert_vi_for_tree is seperated from surrounding code.

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

9 years agoUse make_copy_constraint in ipa_pta_execute
vries [Sat, 31 Oct 2015 08:08:18 +0000 (08:08 +0000)]
Use make_copy_constraint in ipa_pta_execute

2015-10-31  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.

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

9 years ago runtime: Remove now unnecessary pad field from ParFor.
ian [Sat, 31 Oct 2015 00:59:47 +0000 (00:59 +0000)]
runtime: Remove now unnecessary pad field from ParFor.

    It is not needed due to the removal of the ctx field.

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

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

9 years agoDaily bump.
gccadmin [Sat, 31 Oct 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago compiler: Create pointer type for all types with methods.
ian [Fri, 30 Oct 2015 23:00:06 +0000 (23:00 +0000)]
compiler: Create pointer type for all types with methods.

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

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

9 years ago * config-list.mk (nvptx-none): Add it.
nathan [Fri, 30 Oct 2015 22:31:54 +0000 (22:31 +0000)]
* config-list.mk (nvptx-none): Add it.

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

9 years ago * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
nathan [Fri, 30 Oct 2015 22:30:20 +0000 (22:30 +0000)]
* config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
args.
(MOVE_MAX): Set to 8.

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

9 years ago gcc/fortran/
cesar [Fri, 30 Oct 2015 22:16:52 +0000 (22:16 +0000)]
gcc/fortran/
* gfortran.h (gfc_omp_namespace): Add locus where member.
* openmp.c (gfc_match_omp_variable_list): Set where for each list
item found.
(resolve_omp_clauses): Remove where argument and use the where
gfc_omp_namespace member when reporting errors.
(resolve_omp_do):  Update call to resolve_omp_clauses.
(resolve_oacc_loop): Likewise.
(gfc_resolve_oacc_directive): Likewise.
(gfc_resolve_omp_directive): Likewise.
(gfc_resolve_omp_declare_simd): Likewise.

gcc/testsuite/
* gfortran.dg/gomp/intentin1.f90: Adjust copyprivate warning.

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

9 years ago gcc/
cesar [Fri, 30 Oct 2015 22:15:17 +0000 (22:15 +0000)]
gcc/
* cgraph.c: Include context.h for offloading.
* varpool.c: Include context.h and omp-low.h.

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

9 years agoAdd contains_symbol_ref_p
aesok [Fri, 30 Oct 2015 20:56:32 +0000 (20:56 +0000)]
Add contains_symbol_ref_p

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

9 years ago2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 30 Oct 2015 19:20:36 +0000 (19:20 +0000)]
2015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/46588
* gfortran.dg/pr46588.f90: New test.

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

9 years agoShare code from fold_array_ctor_reference with fold.
alalaw01 [Fri, 30 Oct 2015 19:03:14 +0000 (19:03 +0000)]
Share code from fold_array_ctor_reference with fold.

        * gimple-fold.c (fold_array_ctor_reference): Move searching code to:
        * fold-const.c (get_array_ctor_element_at_index): New.
        (fold): Remove binary-search through CONSTRUCTOR, call previous.

        * fold-const.h (get_array_ctor_element_at_index): New.

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