platform/upstream/linaro-gcc.git
8 years agoDaily bump.
gccadmin [Mon, 23 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years agogcc/ChangeLog:
kugan [Sun, 22 Nov 2015 23:07:58 +0000 (23:07 +0000)]
gcc/ChangeLog:

2015-11-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR target/68390
* config/arm/arm.c (arm_function_ok_for_sibcall): Get function type
for indirect function call.

gcc/testsuite/ChangeLog:

2015-11-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR target/68390
* gcc/testsuite/gcc.c-torture/execute/pr68390.c: New test.

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

8 years ago2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 22 Nov 2015 22:17:52 +0000 (22:17 +0000)]
2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/fmt_g0_1.f08: Update test. Leading zero.

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

8 years ago2015-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 22 Nov 2015 22:14:46 +0000 (22:14 +0000)]
2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* io/write_float.def (output_float): Move block determining
room for leading zero to before checkng g0 formatting.

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

8 years agolibitm: Fix recent changes to allocations log.
torvald [Sun, 22 Nov 2015 20:56:20 +0000 (20:56 +0000)]
libitm: Fix recent changes to allocations log.

libitm/
* libitm_i.h (gtm_alloc_action): Remove union.
* testsuite/libitm.c/alloc-1.c: New.

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

8 years ago2015-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 22 Nov 2015 19:41:20 +0000 (19:41 +0000)]
2015-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68486
* simplify.c (gfc_simplify_cshift):  Add EXPR_OP to mix.

2015-11-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/68486
* gfortran.dg/simplify_cshift_2.f90: New test.

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

8 years ago gcc/fortran/
jnorris [Sun, 22 Nov 2015 19:25:29 +0000 (19:25 +0000)]
gcc/fortran/
* openmp.c (match_oacc_clause_gang): Fix uninitialized variable.
(gfc_resolve_oacc_declare): Fix comparision.

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

8 years ago gcc/fortran/
jnorris [Sun, 22 Nov 2015 16:45:38 +0000 (16:45 +0000)]
gcc/fortran/
* dump-parse-tree.c (show_namespace): Handle declares.
* gfortran.h (struct symbol_attribute): New fields.
(enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK.
(OMP_LIST_LINK): New enum.
(struct gfc_oacc_declare): New structure.
(gfc_get_oacc_declare): New definition.
(struct gfc_namespace): Change type.
(enum gfc_exec_op): Add EXEC_OACC_DECLARE.
(struct gfc_code): New field.
* module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE,
AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR,
AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK
(attr_bits): Add new initializers.
(mio_symbol_attribute): Handle new atributes.
* openmp.c (gfc_free_oacc_declare_clauses): New function.
(gfc_match_oacc_clause_link: Likewise.
(OMP_CLAUSE_LINK): New definition.
(gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK.
(OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK
(gfc_match_oacc_declare): Add checking and module handling.
(resolve_omp_clauses): Add array initializer.
(gfc_resolve_oacc_declare): Reimplement.
* parse.c (case_decl): Add ST_OACC_DECLARE.
(parse_spec): Remove handling.
(parse_progunit): Remove handling.
* parse.h (struct gfc_state_data): Change type.
* resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE.
* st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE.
* symbol.c (check_conflict): Add conflict checks.
(gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin,
gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident):
New functions.
(gfc_copy_attr): Handle new symbols.
* trans-decl.c (add_clause, find_module_oacc_declare_clauses,
finish_oacc_declare): New functions.
(gfc_generate_function_code): Replace with call.
* trans-openmp.c (gfc_trans_oacc_declare): Reimplement.
(gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE.
* trans-stmt.c (gfc_trans_block_construct): Replace with call.
* trans-stmt.h (gfc_trans_oacc_declare): Remove argument.
* trans.c (trans_code): Handle EXEC_OACC_DECLARE.

gcc/testsuite
* gfortran.dg/goacc/declare-1.f95: Update test.
* gfortran.dg/goacc/declare-2.f95: New test.

libgomp/
* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.

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

8 years ago[AARCH64][PATCH 2/3] Implementing vmulx_lane NEON intrinsic variants
jgreenhalgh [Sun, 22 Nov 2015 15:15:20 +0000 (15:15 +0000)]
[AARCH64][PATCH 2/3] Implementing vmulx_lane NEON intrinsic variants

gcc/

* config/aarch64/arm_neon.h (vmulx_lane_f32): New.
(vmulx_lane_f64): Likewise.
(vmulxq_lane_f32): Refactored & moved.
(vmulxq_lane_f64): Likewise.
(vmulx_laneq_f32): New.
(vmulx_laneq_f64): Likewise.
(vmulxq_laneq_f32): Likewise.
(vmulxq_laneq_f64): Likewise.
(vmulxs_lane_f32): Likewise.
(vmulxs_laneq_f32): Likewise.
(vmulxd_lane_f64): Likewise.
(vmulxd_laneq_f64): Likewise.
* config/aarch64/aarch64-simd.md
(*aarch64_mulx_elt_<vswap_width_name><mode>, VDQSF): New pattern.
(*aarch64_mulx_elt<mode>, VDQF): Likewise.
(*aarch64_mulx_elt_to_64v2df): Likewise.
(*aarch64_vgetfmulx<mode>, VDQF_DF): Likewise.

gcc/testsuite/

* gcc.target/aarch64/simd/vmulx_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulx_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulx_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulx_laneq_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxq_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxq_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxq_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxq_laneq_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxs_lane_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxs_laneq_f32_1.c: New.
* gcc.target/aarch64/simd/vmulxd_lane_f64_1.c: New.
* gcc.target/aarch64/simd/vmulxd_laneq_f64_1.c: New.

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

8 years agoDaily bump.
gccadmin [Sun, 22 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago * lto.c (iterative_hash_canonical_type): Always recurse for pointers.
hubicka [Sat, 21 Nov 2015 23:59:49 +0000 (23:59 +0000)]
* lto.c (iterative_hash_canonical_type): Always recurse for pointers.
(gimple_register_canonical_type_1): Check that pointers do not get
canonical types.
(gimple_register_canonical_type): Do not register pointers.

* tree.c (build_pointer_type_for_mode,build_reference_type_for_mode):
In LTO we do not compute TYPE_CANONICAL of pointers.
(gimple_canonical_types_compatible_p): Improve coments; sanity check
that pointers do not have canonical type that would make us believe
they are different.
* alias.c (get_alias_set): Do structural type equality on pointers;
enable pointer path for LTO; also glob pointer to vector with pointer
to vector element; glob pointers and references for LTO; do more strict
sanity checking about build_pointer_type returning the canonical type
which is also the main variant.
(record_component_aliases): When component type is pointer and we
do LTO; record void_type_node alias set.

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

8 years ago * lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
hubicka [Sat, 21 Nov 2015 22:30:28 +0000 (22:30 +0000)]
* lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
flag for types that are not ODR; fix loop walking parameters.

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

8 years ago2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sat, 21 Nov 2015 20:06:17 +0000 (20:06 +0000)]
2015-11-21  Steven G. Kargl  <kargl@gcc.gnu.org>

* simplify.c (gfc_simplify_cshift): Work around bootstrap issues
due to inappropriate warning options.

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

8 years ago2015-11-21 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sat, 21 Nov 2015 16:25:23 +0000 (16:25 +0000)]
2015-11-21  Steven G. Kargl  <kargl@gcc.gnu.org>

* simplify.c (gfc_simplify_cshift): Implement simplification of CSHIFT.
(gfc_simplify_spread): Remove a FIXME and add error condition.
* intrinsic.h: Prototype for gfc_simplify_cshift
* intrinsic.c (add_functions): Use gfc_simplify_cshift.

2015-11-21  Steven G. Kargl  <kargl@gcc.gnu.org>

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

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

8 years ago * gcc.dg/atomic-generic.c: Include <string.h>.q
nathan [Sat, 21 Nov 2015 14:08:44 +0000 (14:08 +0000)]
* gcc.dg/atomic-generic.c: Include <string.h>.q

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

8 years ago * gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto.
dje [Sat, 21 Nov 2015 14:02:45 +0000 (14:02 +0000)]
    * gfortran.dg/submodule_6.f08: Add dg-require-effective-target lto.

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

8 years ago * config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type.
nathan [Sat, 21 Nov 2015 14:01:05 +0000 (14:01 +0000)]
* config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type.

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

8 years ago * config/nvptx/nvptx.c (write_function_decl_and_comment): Print
nathan [Sat, 21 Nov 2015 13:57:09 +0000 (13:57 +0000)]
* config/nvptx/nvptx.c (write_function_decl_and_comment): Print
leading blank line.
(write_func_decl_from_insn): Likewise.
(init_output_initializer, nvptx_assemble_undefined_decl): Likewise.
(nvptx_file_end): Likewise.
(nvptx_function_end): Undent output.
(nvptx_expand_call): Fix formatting.
(nvptx_output_call_insn): Indent output.
* config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line.

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

8 years ago * g++.dg/init/vbase1.C: Also run on i?86-*-*.
uros [Sat, 21 Nov 2015 12:20:56 +0000 (12:20 +0000)]
* g++.dg/init/vbase1.C: Also run on i?86-*-*.

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

8 years ago PR debug/66432
jakub [Sat, 21 Nov 2015 08:24:13 +0000 (08:24 +0000)]
PR debug/66432
* tree-inline.c (copy_debug_stmt): If
gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL
in decl_debug_args, don't call remap_gimple_op_r on it.

* gcc.dg/debug/pr66432.c: New test.

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

8 years ago* testsuite/23_containers/vector/profile/vector.cc: Add maxdata option on AIX.
dje [Sat, 21 Nov 2015 05:38:25 +0000 (05:38 +0000)]
* testsuite/23_containers/vector/profile/vector.cc: Add maxdata option on AIX.

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

8 years ago PR go/66378
ian [Sat, 21 Nov 2015 04:43:50 +0000 (04:43 +0000)]
PR go/66378
    syscall: Fix initial offset value in syscall.Sendfile.

    Bug reported in https://gcc.gnu.org/PR66378.

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

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

8 years ago * ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL;
hubicka [Sat, 21 Nov 2015 03:57:48 +0000 (03:57 +0000)]
* ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL;
do not check AGGREGATE_TYPE_P when adding TYPE_MODE;
Check that all record types are complete.
* ipa-icf-gimple.c (func_checker::compatible_types_p): Do not
compare alias sets for types w/o alias sets.

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

8 years ago PR go/66406
ian [Sat, 21 Nov 2015 01:47:13 +0000 (01:47 +0000)]
PR go/66406
* go.test/go-test.exp (go-gc-tests): Skip nilptr.go if PIE.

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

8 years ago PR go/65785
ian [Sat, 21 Nov 2015 01:41:24 +0000 (01:41 +0000)]
PR go/65785
    net: don't run multicast listen test on nil interface in short mode

    This is a backport of https://golang.org/cl/17154.

    The gccgo bug report https://gcc.gnu.org/PR65785 points out that the
    multicast listen tests will use the network even with -test.short.
    Fix test by checking testing.Short with a nil interface.

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

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

8 years ago PR go/66574
ian [Sat, 21 Nov 2015 01:27:44 +0000 (01:27 +0000)]
PR go/66574
    runtime: Use clock_gettime to get current time.

    Fetch the current time in nanoseconds, not microseconds, by using
    clock_gettime rather than gettimeofday.

    Update golang/go#11222.

    Fixes https://gcc.gnu.org/PR66574.

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

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

8 years agoDaily bump.
gccadmin [Sat, 21 Nov 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago PR go/68141
ian [Fri, 20 Nov 2015 23:44:25 +0000 (23:44 +0000)]
PR go/68141
    compiler: Use references in Archive_iterator comparison functions.

    Fixes minor performance problem pointed out in
    https://gcc.gnu.org/PR68141 .

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

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

8 years ago PR go/68072
ian [Fri, 20 Nov 2015 22:48:47 +0000 (22:48 +0000)]
PR go/68072
    cmd/cgo: ignore vars with no name or type if they have a AttrSpecification

    Backport of master CL https://golang.org/cl/17151.

    Fixes https://gcc.gnu.org/PR/68072.

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

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

8 years ago * g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
mrs [Fri, 20 Nov 2015 22:12:28 +0000 (22:12 +0000)]
* g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
isn't portable.

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

8 years ago * config/sparc/sparc.md (umulxhi_vis): Move around.
ebotcazou [Fri, 20 Nov 2015 22:01:46 +0000 (22:01 +0000)]
* config/sparc/sparc.md (umulxhi_vis): Move around.
(*umulxhi_sp64): Likewise.
(umulxhi_v8plus): Likewise.
(xmulx_vis): Likewise.
(*xmulx_sp64): Likewise.
(xmulx_v8plus): Likewise.
(xmulxhi_vis): Likewise.
(*xmulxhi_sp64): Likewise.
(xmulxhi_v8plus): Likewise.

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

8 years ago cmd: Use correct install tool dir with gccgo
ian [Fri, 20 Nov 2015 21:30:16 +0000 (21:30 +0000)]
cmd: Use correct install tool dir with gccgo

    When using the go command built from gccgo to build and
    install a go tool, use the value from runtime GCCGOTOOLDIR as
    the install directory.

    This also fixes the output from 'go tool' when used with the
    gccgo-built go command, to only include the go tools and not
    other binaries found in the same directory.

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

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

8 years agoAdd testcase erroneously omitted from r230638
dmalcolm [Fri, 20 Nov 2015 20:36:03 +0000 (20:36 +0000)]
Add testcase erroneously omitted from r230638

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

8 years agoPR 62314: add ability to add fixit-hints to a diagnostic
dmalcolm [Fri, 20 Nov 2015 20:08:47 +0000 (20:08 +0000)]
PR 62314: add ability to add fixit-hints to a diagnostic

This is the combination of two patches:
  [PATCH 01/02] PR/62314: add ability to add fixit-hints
  [PATCH 02/02] C FE: add fix-it hint for . vs ->

gcc/ChangeLog:
PR 62314
* diagnostic-show-locus.c (colorizer::set_fixit_hint): New.
(class layout): Update comment
(layout::print_any_fixits): New method.
(layout::move_to_column): New method.
(diagnostic_show_locus): Add call to layout.print_any_fixits.

gcc/c/ChangeLog:
PR 62314
* c-typeck.c (should_suggest_deref_p): New function.
(build_component_ref): Special-case POINTER_TYPE when
generating a "not a structure of union"  error message, and
suggest a "->" rather than a ".", providing a fix-it hint.

gcc/testsuite/ChangeLog:
PR 62314
* gcc.dg/fixits.c: New file.
* gcc.dg/plugin/diagnostic-test-show-locus-ascii-bw.c
(test_fixit_insert): New.
(test_fixit_remove): New.
(test_fixit_replace): New.
* gcc.dg/plugin/diagnostic-test-show-locus-ascii-color.c
(test_fixit_insert): New.
(test_fixit_remove): New.
(test_fixit_replace): New.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Add tests of rendering fixit hints.

libcpp/ChangeLog:
PR 62314
* include/line-map.h (source_range::intersects_line_p): New
method.
(rich_location::~rich_location): New.
(rich_location::add_fixit_insert): New method.
(rich_location::add_fixit_remove): New method.
(rich_location::add_fixit_replace): New method.
(rich_location::get_num_fixit_hints): New accessor.
(rich_location::get_fixit_hint): New accessor.
(rich_location::MAX_FIXIT_HINTS): New constant.
(rich_location::m_num_fixit_hints): New field.
(rich_location::m_fixit_hints): New field.
(class fixit_hint): New class.
(class fixit_insert): New class.
(class fixit_remove): New class.
(class fixit_replace): New class.
* line-map.c (source_range::intersects_line_p): New method.
(rich_location::rich_location): Add initialization of
m_num_fixit_hints to both ctors.
(rich_location::~rich_location): New.
(rich_location::add_fixit_insert): New method.
(rich_location::add_fixit_remove): New method.
(rich_location::add_fixit_replace): New method.
(fixit_insert::fixit_insert): New.
(fixit_insert::~fixit_insert): New.
(fixit_insert::affects_line_p): New.
(fixit_remove::fixit_remove): New.
(fixit_remove::affects_line_p): New.
(fixit_replace::fixit_replace): New.
(fixit_replace::~fixit_replace): New.
(fixit_replace::affects_line_p): New.

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

8 years ago PR middle-end/68221
jakub [Fri, 20 Nov 2015 19:50:46 +0000 (19:50 +0000)]
PR middle-end/68221
* omp-low.c (lower_rec_input_clauses): If C/C++ array reduction
has non-zero bias, subtract it in integer type instead of
pointer plus of negated bias.

* testsuite/libgomp.c/reduction-11.c: Remove xfail.
* testsuite/libgomp.c/reduction-12.c: Likewise.
* testsuite/libgomp.c++/reduction-11.C: Likewise.
* testsuite/libgomp.c++/reduction-12.C: Likewise.

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

8 years ago PR middle-end/68339
jakub [Fri, 20 Nov 2015 19:49:47 +0000 (19:49 +0000)]
PR middle-end/68339
* omp-low.c (expand_simd_clones): Call node->get_body () before
allocating stuff in GC.

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

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

8 years ago PR libstdc++/68448
jkratoch [Fri, 20 Nov 2015 19:00:51 +0000 (19:00 +0000)]
PR libstdc++/68448
* python/hook.in: Call register_libstdcxx_printers.
* python/libstdcxx/v6/__init__.py: Wrap it to
register_libstdcxx_printers.

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

8 years agoFix cygwin performance loss on linpack.
wilson [Fri, 20 Nov 2015 16:27:17 +0000 (16:27 +0000)]
Fix cygwin performance loss on linpack.

gcc/
* tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS.

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

8 years ago[AArch64] Add attribute for compatibility with ARM pipeline models
jgreenhalgh [Fri, 20 Nov 2015 16:15:57 +0000 (16:15 +0000)]
[AArch64] Add attribute for compatibility with ARM pipeline models

gcc/

* config/aarch64/aarch64.md (predicated): Copy attribute from
"arm.md".
* config/arm/arm.md (predicated): Added description.

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

8 years ago * c-common.c (shorten_compare): But look through macros from
jason [Fri, 20 Nov 2015 15:51:35 +0000 (15:51 +0000)]
* c-common.c (shorten_compare): But look through macros from
system headers.

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

8 years ago[ARM] Do not expand movmisalign pattern if not in 32-bit mode
ktkachov [Fri, 20 Nov 2015 15:19:09 +0000 (15:19 +0000)]
[ARM] Do not expand movmisalign pattern if not in 32-bit mode

* config/arm/arm.c (arm_option_override): Require TARGET_32BIT
for unaligned_access.
* config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT
from matching condition.
(unaligned_loadhis): Likewise.
(unaligned_loadhiu): Likewise.
(unaligned_storesi): Likewise.
(unaligned_storehi): Likewise.

* gcc.target/arm/armv6-unaligned-load-ice.c: New test.

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

8 years ago[ARM] PR 68149 Fix ICE in unaligned_loaddi split
ktkachov [Fri, 20 Nov 2015 15:15:31 +0000 (15:15 +0000)]
[ARM] PR 68149 Fix ICE in unaligned_loaddi split

PR target/68149
* config/arm/arm.md (unaligned_loaddi): Delete.
(unaligned_storedi): Likewise.
* config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate
unaligned DImode memory ops.  Instead perform two back-to-back
unaligned SImode ops.

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

8 years agoFix wrong attribution in gfortran ChangeLog
pault [Fri, 20 Nov 2015 15:01:34 +0000 (15:01 +0000)]
Fix wrong attribution in gfortran ChangeLog

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

8 years ago2015-11-20 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 20 Nov 2015 14:50:35 +0000 (14:50 +0000)]
2015-11-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68237
* decl.c (gfc_match_submod_proc): Test the interface symbol
before accessing its attributes.

2015-11-20  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66762
(gfc_get_symbol_decl): Test for attr.used_in_submodule as well
as attr.use_assoc (twice).
(gfc_create_module_variable): Ditto.

2015-11-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68237
* gfortran.dg/submodule_12.f90: New test

PR fortran/66762
* gfortran.dg/submodule_6.f90: Add compile option -flto.

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

8 years agoSync top level configure with binutils-gdb.
gingold [Fri, 20 Nov 2015 14:24:07 +0000 (14:24 +0000)]
Sync top level configure with binutils-gdb.

2015-11-20  Tristan Gingold  <gingold@adacore.com>

* configure.ac: Add aarch64-*-darwin* and arm-*-darwin*.
* configure: Regenerate.

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

8 years ago * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
nathan [Fri, 20 Nov 2015 14:23:18 +0000 (14:23 +0000)]
* config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.

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

8 years ago2015-11-20 Alan Hayward <alan.hayward@arm.com>
alahay01 [Fri, 20 Nov 2015 14:20:24 +0000 (14:20 +0000)]
2015-11-20  Alan Hayward <alan.hayward@arm.com>

PR tree-optimization/68413
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache
evolution base
(vectorizable_reduction): Use cached base

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

8 years ago compiler: Use receiver name in hash/equal for type within method.
ian [Fri, 20 Nov 2015 13:23:02 +0000 (13:23 +0000)]
compiler: Use receiver name in hash/equal for type within method.

    Test case sent as https://golang.org/cl/17081.

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

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

8 years agoFix typo and trailing whitespace in dump-file strings in parloops
vries [Fri, 20 Nov 2015 12:48:17 +0000 (12:48 +0000)]
Fix typo and trailing whitespace in dump-file strings in parloops

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

* tree-parloops.c (build_new_reduction): Fix trailing whitespace in
dump-file string.
(try_create_reduction_list): Same.  Fix typo in dump-file string.

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

8 years agoclang-format: split content of a list to multiple lines
marxin [Fri, 20 Nov 2015 12:24:34 +0000 (12:24 +0000)]
clang-format: split content of a list to multiple lines

* clang-format: Split content of a list to multiple
lines.

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

8 years ago[ARM] Disable neon testing for armv7-m
ktkachov [Fri, 20 Nov 2015 11:49:23 +0000 (11:49 +0000)]
[ARM] Disable neon testing for armv7-m

2015-11-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add check
for M profile.

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

8 years ago * doc/md.texi (Standard Names): Move entry for addptr3 around,
ebotcazou [Fri, 20 Nov 2015 11:04:43 +0000 (11:04 +0000)]
* doc/md.texi (Standard Names): Move entry for addptr3 around,
add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
glitch in entries for cbranch4 and jump.

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

8 years agoDo final value replacement in try_create_reduction_list
vries [Fri, 20 Nov 2015 10:25:26 +0000 (10:25 +0000)]
Do final value replacement in try_create_reduction_list

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

PR tree-optimization/68373
* tree-scalar-evolution.c (final_value_replacement_loop): Factor out of ...
(scev_const_prop): ... here.
* tree-scalar-evolution.h (final_value_replacement_loop): Declare.
* tree-parloops.c (try_create_reduction_list): Call
final_value_replacement_loop.

* gcc.dg/autopar/pr68373.c: New test.

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

8 years ago * ChangeLog: Fix whitespace.
uros [Fri, 20 Nov 2015 10:00:24 +0000 (10:00 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

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

8 years agoFix up misplaced ChangeLog entry.
jakub [Fri, 20 Nov 2015 09:05:53 +0000 (09:05 +0000)]
Fix up misplaced ChangeLog entry.

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

8 years ago PR tree-optimization/52272
amker [Fri, 20 Nov 2015 09:05:08 +0000 (09:05 +0000)]
PR tree-optimization/52272
* tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct.
(struct iv_common_cand_hasher): New struct.
(iv_common_cand_hasher::hash): New function.
(iv_common_cand_hasher::equal): New function.
(struct ivopts_data): New fields, iv_common_cand_tab and
iv_common_cands.
(tree_ssa_iv_optimize_init): Initialize above fields.
(record_common_cand, common_cand_cmp): New functions.
(add_iv_candidate_derived_from_uses): New function.
(add_iv_candidate_for_use): Record iv_common_cands derived from
iv use in hash table, instead of adding candidates directly.
(add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses.
(record_important_candidates): Add important candidates to iv uses'
related_cands.  Always keep related_cands for future use.
(try_add_cand_for): Use iv uses' related_cands.
(free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields
in struct ivopts_data, iv_common_cand_tab and iv_common_cands.

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

8 years ago PR c++/67354
jakub [Fri, 20 Nov 2015 09:03:45 +0000 (09:03 +0000)]
PR c++/67354
* cp-tree.h (defer_mangling_aliases): Declare.
(generate_mangling_aliases): New prototype.
* decl2.c (defer_mangling_aliases): New variable.
(note_mangling_alias): Use !defer_mangling_aliases
instead of at_eof.
(generate_mangling_aliases): No longer static. Clear
defer_mangling_aliases.
* optimize.c (maybe_thunk_body): Defer emitting mangling aliases
if !defer_mangling_aliases until the fns are put into the same
comdat group.

* g++.dg/abi/mangle67.C: New test.

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

8 years agoS/390: Add bswaphi2 pattern
krebbel [Fri, 20 Nov 2015 07:42:04 +0000 (07:42 +0000)]
S/390: Add bswaphi2 pattern

gcc/testsuite/ChangeLog:
* gcc.target/s390/bswap-1.c: New test.

gcc/ChangeLog:
* config/s390/s390.md ("bswaphi2"): New pattern.

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

8 years agoS/390: Clobber r1 in patterns resulting in pfpo instruction.
krebbel [Fri, 20 Nov 2015 07:36:07 +0000 (07:36 +0000)]
S/390: Clobber r1 in patterns resulting in pfpo instruction.

gcc/ChangeLog

* config/s390/s390.md (GPR1_REGNUM): New constant.
("*trunc<BFP:mode><DFP_ALL:mode>2")
("*trunc<DFP_ALL:mode><BFP:mode>2")
("trunc<BFP:mode><DFP_ALL:mode>2")
("trunc<DFP_ALL:mode><BFP:mode>2")
("*extend<BFP:mode><DFP_ALL:mode>2")
("*extend<DFP_ALL:mode><BFP:mode>2")
("extend<BFP:mode><DFP_ALL:mode>2")
("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.

gcc/testsuite/ChangeLog

* gcc.target/s390/pfpo.c: New test.

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

8 years agogcc/testsuite/
kyukhin [Fri, 20 Nov 2015 05:42:41 +0000 (05:42 +0000)]
gcc/testsuite/
* c-c++-common/attr-simd-3.c: Put xfail (PR68158) on dg-error.
* c-c++-common/attr-simd.c: Limit scan of dump to x86_64/i?86.

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

8 years agoC++ FE: offer suggestions for misspelled field names
dmalcolm [Fri, 20 Nov 2015 01:26:00 +0000 (01:26 +0000)]
C++ FE: offer suggestions for misspelled field names

gcc/c/ChangeLog:
* c-typeck.c (lookup_field_fuzzy): Move determination of closest
candidate into a new function, find_closest_identifier.

gcc/cp/ChangeLog:
* cp-tree.h (lookup_member_fuzzy): New decl.
* search.c: Include spellcheck.h.
(class lookup_field_fuzzy_info): New class.
(lookup_field_fuzzy_info::fuzzy_lookup_fnfields): New.
(lookup_field_fuzzy_info::fuzzy_lookup_field): New.
(lookup_field_fuzzy_r): New.
(lookup_member_fuzzy): New.
* typeck.c (finish_class_member_access_expr): When issuing
a "has no member named" error, call lookup_member_fuzzy, and
offer any result as a suggestion.

gcc/ChangeLog:
* spellcheck-tree.c (find_closest_identifier): New function, taken
from c/c-typeck.c:lookup_field_fuzzy, with NULL corrected to
NULL_TREE in two places.
* spellcheck.h (find_closest_identifier): New decl.

gcc/testsuite/ChangeLog:
* g++.dg/spellcheck-fields.C: New file.

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

8 years agoDaily bump.
gccadmin [Fri, 20 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years agoSupport __cxa_free_exception and fix exception handling.
torvald [Fri, 20 Nov 2015 00:10:08 +0000 (00:10 +0000)]
Support __cxa_free_exception and fix exception handling.

gcc/cp/
* except.c (do_free_exception): Use transactional wrapper.

libitm/
* testsuite/libitm.c++/eh-5.C: New.
* libitm.h (_ITM_cxa_free_exception): New.
* libitm.map (_ITM_cxa_free_exception): Add it.
* libitm.texi: Update ABI docs.
* libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
(gtm_transaction_cp::cxa_uncaught_count): Add.
(gtm_thread::cxa_unthrown): Remove.
(gtm_thread::cxa_uncaught_count_ptr): Add.
(gtm_thread::cxa_uncaught_count): Add.
(gtm_thread::drop_references_allocations): Rename to...
(gtm_thread::discard_allocation): ... this and adapt.
(gtm_thread::init_cpp_exceptions): New.
* beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
(gtm_thread::begin_transaction): Likewise.
(gtm_transaction_cp::save): Likewise.
(gtm_thread::trycommit): Likewise.
* eh_cpp.cc: Add overview comments.
(__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
(free_any_exception, _ITM_cxa_free_exception): New.
(gtm_thread::init_cpp_exceptions): Define.
(_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
(_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
(gtm_thread::revert_cpp_exceptions): Likewise.

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

8 years ago* config/msp430/lib2hw_mul.S: Fix alignment.
dj [Fri, 20 Nov 2015 00:08:50 +0000 (00:08 +0000)]
* config/msp430/lib2hw_mul.S: Fix alignment.

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

8 years agofix PR68428: ignore bb dominated by the scop->exit
spop [Thu, 19 Nov 2015 23:06:18 +0000 (23:06 +0000)]
fix PR68428: ignore bb dominated by the scop->exit

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

8 years agofix PR68341: correctly compute the insertion point for close phi nodes
spop [Thu, 19 Nov 2015 22:56:42 +0000 (22:56 +0000)]
fix PR68341: correctly compute the insertion point for close phi nodes

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

8 years agoadd testcase for PR68335
spop [Thu, 19 Nov 2015 22:47:48 +0000 (22:47 +0000)]
add testcase for PR68335

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

8 years ago PR c++/68422
jason [Thu, 19 Nov 2015 22:29:08 +0000 (22:29 +0000)]
PR c++/68422

* cp-tree.h (PACK_EXPANSION_SIZEOF_P): New.
* parser.c (cp_parser_sizeof_pack): Set it.
* pt.c  (tsubst_copy) [SIZEOF_EXPR]: Likewise.
(tsubst_pack_expansion): Improve T... shortcut for expression packs.

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

8 years ago gcc/
nathan [Thu, 19 Nov 2015 22:05:03 +0000 (22:05 +0000)]
gcc/
* config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
* config/nvptx/nvptx.c (nvptx_write_function_decl): Support
DECL_WEAK.
(nvptx_declare_objec_name): Likewise.

gcc/testsuite/
* lib/target-supports.exp (check_weak_available): Add nvptx-*-*.
* gcc.dg/attr-weakref-1.c: Skip for nvptx-*-*
* gcc.dg/special/weak-2.c: Likewise.
* gcc.dg/weak/weak-12.c: Likewise.
* gcc.dg/weak/weak-15.c: Likewise.
* gcc.dg/weak/weak-16.c: Likewise.
* gcc.dg/weak/weak-1.c: Likewise.
* gcc.dg/weak/weak-2.c: Likewise.
* gcc.dg/weak/weak-4.c: Likewise.
* gcc.dg/torture/pr53922.c: Likewise.
* gcc.dg/torture/pr60092.c: Likewise.

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

8 years ago PR c/68412
mpolacek [Thu, 19 Nov 2015 22:04:00 +0000 (22:04 +0000)]
PR c/68412
* c-typeck.c (parser_build_binary_op): Properly handle
C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.

* gcc.dg/pr68412-2.c: New test.
* gcc.dg/pr68412.c: New test.

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

8 years agofix bootstrap without ISL on old linkers
spop [Thu, 19 Nov 2015 20:35:12 +0000 (20:35 +0000)]
fix bootstrap without ISL on old linkers

With and without this patch passes bootstrap on x86_64-linux with and without ISL.
The problem occurs on systems with older linkers that do not remove dead symbols.

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

8 years ago * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
nathan [Thu, 19 Nov 2015 18:58:39 +0000 (18:58 +0000)]
* libgomp.oacc-c-c++-common/reduction-dbl.c: New.
* libgomp.oacc-c-c++-common/reduction-flt.c: New.
* libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
* libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
* libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
and fix.
* libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
* libgomp.oacc-c-c++-common/reduction-4.c: Likewise.

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

8 years ago PR c++/68396
jason [Thu, 19 Nov 2015 18:25:38 +0000 (18:25 +0000)]
PR c++/68396

2015-11-19  Ryan Burn  <contact@rnburn.com>

* pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing
the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false.

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

8 years ago2015-11-19 David Edelsohn <dje.gcc@gmail.com>
dje [Thu, 19 Nov 2015 17:37:12 +0000 (17:37 +0000)]
2015-11-19  David Edelsohn  <dje.gcc@gmail.com>

        Revert
2015-11-18  Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
type-limits warning.

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

8 years ago[Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode
law [Thu, 19 Nov 2015 17:30:24 +0000 (17:30 +0000)]
[Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode

* tree.h (desired_pro_or_demotion_p): New function.
* tree-vrp.c (simplify_cond_using_ranges): Call it.

* gcc.dg/tree-ssa/vrp98.c: New testcase.
* gcc.target/avr/uint8-single-reg.c: New testcase.

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

8 years ago2015-11-19 Bob Duff <duff@adacore.com>
charlet [Thu, 19 Nov 2015 16:40:37 +0000 (16:40 +0000)]
2015-11-19  Bob Duff  <duff@adacore.com>

* sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
change: correctly handle generic formals/actuals that look like
renamings.

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

8 years agoliboffloadmic/
iverbin [Thu, 19 Nov 2015 16:22:13 +0000 (16:22 +0000)]
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New.
(ImgDescMap): New typedef.
(image_descriptors): New static var.
(init): Allocate image_descriptors.
(offload): Remove vars2 argument.  Pass NULL to __offload_offload1
instead of vars2.
(unregister_main_image): New static function.
(register_main_image): Call unregister_main_image at exit.
(GOMP_OFFLOAD_init_device): Print device number, fix offload args.
(GOMP_OFFLOAD_fini_device): Likewise.
(get_target_table): Remove vd1g and vd2g, don't pass them to offload.
(offload_image): Remove declaration of the struct TargetImage.
Free table.  Insert new descriptor into image_descriptors.
(GOMP_OFFLOAD_unload_image): Call __offload_unregister_image, free
the corresponding descriptor, and remove it from address_table and
image_descriptors.
(GOMP_OFFLOAD_alloc): Print device number, remove vd1g.
(GOMP_OFFLOAD_free): Likewise.
(GOMP_OFFLOAD_host2dev): Print device number, remove vd1g and vd2g.
(GOMP_OFFLOAD_dev2host): Likewise.
(GOMP_OFFLOAD_run): Print device number, remove vd1g.
* plugin/offload_target_main.cpp (__offload_target_table_p1): Remove
vd2, don't pass it to __offload_target_enter.
(__offload_target_table_p2): Likewise.
(__offload_target_alloc): Likewise.
(__offload_target_free): Likewise.
(__offload_target_host2tgt_p1): Likewise.
(__offload_target_host2tgt_p2): Likewise.
(__offload_target_tgt2host_p1): Likewise.
(__offload_target_tgt2host_p2): Likewise.
(__offload_target_run): Likewise.
(__offload_target_tgt2tgt): Remove vd1g, don't pass it to
__offload_target_enter.

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

8 years ago PR c++/67409
jakub [Thu, 19 Nov 2015 16:18:39 +0000 (16:18 +0000)]
PR c++/67409
* decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call
emit_diagnostic instead of permerror.
(check_previous_goto_1): Adjust identify_goto callers, treat all
cases but crossing initialization and entering scope of decl with
non-trivial dtor as unconditional hard errors.
(check_goto): Use identify_goto.  Treat all cases but crossing
initialization and entering scope of decl with non-trivial dtor
as unconditional hard errors.

* g++.dg/eh/goto3.C: New test.

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

8 years ago * fwprop.c (update_uses): Use flag_checking instead of
matz [Thu, 19 Nov 2015 16:12:50 +0000 (16:12 +0000)]
* fwprop.c (update_uses): Use flag_checking instead of
gcc_checking_assert.

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

8 years agoFix typo in doc/gty.texi
dmalcolm [Thu, 19 Nov 2015 15:18:03 +0000 (15:18 +0000)]
Fix typo in doc/gty.texi

gcc/ChangeLog:
* doc/gty.texi (Support for inheritance): Fix missing
parentheses in example.

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

8 years ago PR tree-optimization/68431
mpolacek [Thu, 19 Nov 2015 15:12:35 +0000 (15:12 +0000)]
PR tree-optimization/68431
* tree-vrp.c (extract_range_from_binary_expr_1): Fix condition.

* gcc.dg/tree-ssa/pr68431.c: New test.

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

8 years ago gcc/cp/
cesar [Thu, 19 Nov 2015 14:56:51 +0000 (14:56 +0000)]
gcc/cp/
* parser.h (struct cp_omp_declare_simd_data): Add clauses member.
(struct cp_parser): Change type the of oacc_routine to
cp_omp_declare_simd_data.
* parser.c (cp_ensure_no_oacc_routine): Rework to use
cp_omp_declare_simd_data.
(cp_parser_simple_declaration): Remove boolean first.  Update call to
cp_parser_init_declarator. Don't NULL out oacc_routine.
(cp_parser_init_declarator): Remove boolean first parameter.  Update
calls to cp_finalize_oacc_routine.
(cp_parser_late_return_type_opt): Handle acc routines.
(cp_parser_member_declaration): Remove first variable.  Handle
acc routines like omp declare simd.
(cp_parser_function_definition_from_specifiers_and_declarator): Update
call to cp_finalize_oacc_routine.
(cp_parser_single_declaration): Update call to
cp_parser_init_declarator.
(cp_parser_save_member_function_body): Remove first_decl parameter.
Update call to cp_finalize_oacc_routine.
(cp_parser_finish_oacc_routine): Delete.
(cp_parser_oacc_routine): Rework to use cp_omp_declare_simd_data.
(cp_parser_late_parsing_oacc_routine): New function.
(cp_finalize_oacc_routine): Remove first argument.  Add more error
handling and set the acc routine and 'omp declare target' attributes.
(cp_parser_pragma): Remove unnecessary call to
cp_ensure_no_oacc_routine.

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

8 years ago * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
nathan [Thu, 19 Nov 2015 14:40:28 +0000 (14:40 +0000)]
* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
atomic_exchange<mode>): Input values can be immediates.

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

8 years ago PR lto/61313
ebotcazou [Thu, 19 Nov 2015 13:31:33 +0000 (13:31 +0000)]
PR lto/61313
* configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified
by the user.
* configure: Regenerate.

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

8 years agoclang-format: Enhance list of FOR_EACH macros
marxin [Thu, 19 Nov 2015 12:54:57 +0000 (12:54 +0000)]
clang-format: Enhance list of FOR_EACH macros

* clang-format: Enhance list of FOR_EACH macros.

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

8 years agoAdd clang-format config to contrib folder
marxin [Thu, 19 Nov 2015 12:32:09 +0000 (12:32 +0000)]
Add clang-format config to contrib folder

* .gitignore: Add .clang-format to ignored files.
* Makefile.in: Add clang-format.
* Makefile.tpl: Likewise.
* clang-format: New file.

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

8 years ago PR target/68408
ebotcazou [Thu, 19 Nov 2015 11:49:32 +0000 (11:49 +0000)]
PR target/68408
* config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine.
(DTORS_SECTION_ASM_OP): Likewise.

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

8 years ago PR rtl-optimization/68376
jakub [Thu, 19 Nov 2015 08:49:59 +0000 (08:49 +0000)]
PR rtl-optimization/68376
* ifcvt.c (noce_try_abs): Disable one_cmpl optimization if
encountering x <= 0 ? ~x : x or x > 0 ? ~x : x.

* gcc.c-torture/execute/pr68376-1.c: New test.
* gcc.c-torture/execute/pr68376-2.c: New test.

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

8 years ago2015-11-19 Richard Biener <rguenther@suse.de>
rguenth [Thu, 19 Nov 2015 08:47:16 +0000 (08:47 +0000)]
2015-11-19  Richard Biener  <rguenther@suse.de>

PR middle-end/68117
* tree-ssa.c (delete_tree_ssa): Revert removal of call to
redirect_edge_var_map_destroy.

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

8 years ago PR target/67770
jakub [Thu, 19 Nov 2015 08:30:19 +0000 (08:30 +0000)]
PR target/67770
* config/i386/i386.md (simple_return): Disable if
ix86_static_chain_on_stack is true.

* gcc.target/i386/pr67770.c: New test.

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

8 years ago PR preprocessor/60736
jakub [Thu, 19 Nov 2015 08:27:12 +0000 (08:27 +0000)]
PR preprocessor/60736
* include/cpplib.h (cpp_errno_filename): New prototype.
* errors.c (cpp_errno): Don't handle msgid "" specially, use
_(msgid) instead of msgid as argument to cpp_error.
(cpp_errno_filename): New function.
* files.c (read_file_guts): Use cpp_errno_filename instead of
cpp_errno.
(open_file_failed): Likewise.  Use file->name if file->path is NULL
in diagnostics.

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

8 years agoPR 68393: Handle SUBREG_PROMOTED_VAR_P in expand_direct_optab_fn
rsandifo [Thu, 19 Nov 2015 08:17:21 +0000 (08:17 +0000)]
PR 68393: Handle SUBREG_PROMOTED_VAR_P in expand_direct_optab_fn

Do the usual dance when assigning to SUBREG_PROMOTED_VAR_P destinations:
first convert to the outer mode, then extend to the inner mode.

Tested that it fixes the powerpc64le-linux-gnu breakage.  Also tested
on x86_64-linux-gnu and powerpc64-linux-gnu.

gcc/
PR bootstrap/68393
* internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P
destinations.

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

8 years ago * c-common.c (shorten_compare): Don't -Wtype-limits if the
jason [Thu, 19 Nov 2015 04:26:48 +0000 (04:26 +0000)]
* c-common.c (shorten_compare): Don't -Wtype-limits if the
non-constant operand comes from a macro.

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

8 years ago[PATCH][PR tree-optimization/68198] Avoid CFG explosion due to threading
law [Thu, 19 Nov 2015 00:33:27 +0000 (00:33 +0000)]
[PATCH][PR tree-optimization/68198] Avoid CFG explosion due to threading

PR tree-optimization/68198
* tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish
between threading a multi-way branch and a thread path that contains
a multi-way branch.  Disallow the case where a path contains a
multi-way branch and does not thread a multi-way branch.
(thread_through_all_blocks): Update comment.

        PR tree-optimization/68198
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1.
* gcc.dg/tree-ssa/pr68198.c: New test.

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

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

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

8 years ago2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 18 Nov 2015 22:55:17 +0000 (22:55 +0000)]
2015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/59910
* primary.c (gfc_match_structure_constructor): Reduce a structure
constructor in a DATA statement.

2015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/59910
* gfortran.dg/pr59910.f90: New test.

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

8 years ago2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 18 Nov 2015 22:51:39 +0000 (22:51 +0000)]
2015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/43996
* simplify.c (gfc_simplify_spread): Issue error for too large array
constructor in a PARAMETER statement.

2015-11-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/43996
* gfortran.dg/pr43996.f90: New test.

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

8 years agoAdd out-of-line versions of some <stdatomic.h> functions (PR c/65083).
jsm28 [Wed, 18 Nov 2015 22:13:44 +0000 (22:13 +0000)]
Add out-of-line versions of some <stdatomic.h> functions (PR c/65083).

PR c/65083 notes that some functions in <stdatomic.h> are normal
functions, not generic functions, and so need to have out-of-line
copies that can be called when macro expansion is suppressed (unlike
the generic functions where DR#419 makes it undefined if you suppress
a macro expansion).

This patch adds such out-of-line definitions in libatomic for those
six functions, at a new LIBATOMIC_1.2 symbol version, as trivial
wrappers to the <stdatomic.h> macros, along with declarations of those
functions in <stdatomic.h>.  Tests are added that are based on the
corresponding tests for the macros, but with parentheses around the
function names to force the out-of-line functions to be used.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc:
* ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence)
(atomic_flag_test_and_set, atomic_flag_test_and_set_explicit)
(atomic_flag_clear, atomic_flag_clear_explicit): Declare as
functions before defining as macros.

gcc/testsuite:
* gcc.dg/atomic/stdatomic-fence-2.c,
gcc.dg/atomic/stdatomic-flag-2.c: New tests.

libatomic:
* fence.c, flag.c: New files.
* Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c.
* Makefile.in: Regenerate.
* configure.ac (libtool_VERSION): Change to 3:0:2.
* configure: Regenerate.
* libatomic.map (LIBATOMIC_1.2): New symbol version.

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

8 years ago * gcc-interface/trans.c (elaborate_all_entities_for_package): New
ebotcazou [Wed, 18 Nov 2015 21:59:30 +0000 (21:59 +0000)]
* gcc-interface/trans.c (elaborate_all_entities_for_package): New
function extracted from...  Recurse on packages.
(elaborate_all_entities): ...here.  Call it on packages.

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

8 years ago * gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
ebotcazou [Wed, 18 Nov 2015 21:55:11 +0000 (21:55 +0000)]
* gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
* gcc-interface/gigi.h (enum standard_datatypes): Remove
ADT_longjmp_decl and add ADT_not_handled_by_others_decl.
(longjmp_decl): Delete.
(not_handled_by_others_decl): New macro.
(build_simple_component_ref): Delete.
(build_component_ref): Adjust prototype.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
build_component_ref.
(gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants
without default value.
* gcc-interface/trans.c (gigi): Reorder initialization sequence
and add not_handled_by_others_decl.
(Attribute_to_gnu): Adjust calls to build_component_ref.
(Subprogram_Body_to_gnu): Likewise.
(Call_to_gnu): Likewise.
(Exception_Handler_to_gnu_sjlj): Likewise.
(gnat_to_gnu): Likewise.
(range_check_info_d): Add inserted_cond field.
(Loop_Statement_to_gnu): Make two passes on the recorded range checks.
(build_noreturn_cond): New static function.
(Raise_Error_to_gnu): Record range checks in loops at -O1 and above.
(make_invariant): New static function.
(Loop_Statement_to_gnu): Use it to compute invariant expressions for
the loop bounds if possible, but do not require it if loop unswitching
is enabled.
* gcc-interface/utils.c (convert_to_fat_pointer): Likewise.
(convert): Likewise.
(maybe_unconstrained_array): Likewise.  Call it instead of
build_simple_component_ref and add guard for CONSTRUCTORs.
(unchecked_convert): Likewise.
* gcc-interface/utils2.c (compare_fat_pointers): Likewise.
(build_simple_component_ref): Remove COMPONENT parameter, unify
code dealing with VIEW_CONVERT_EXPR and make it more general,
remove special treatment for CONSTRUCTORs of template types.
(build_component_ref): Remove COMPONENT parameter and adjust call
to build_simple_component_ref.
(maybe_wrap_malloc): Likewise.
(build_allocator): Likewise.
(gnat_invariant_expr): Look through overflow checks, deal with
addition and subtraction of constants and take into account
DECL_INVARIANT_P for the COMPONENT_REF case.

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