gcc.git
9 years agofix PR68493: bail out when codegen_error is set
Aditya Kumar [Mon, 23 Nov 2015 19:31:00 +0000 (19:31 +0000)]
fix PR68493: bail out when codegen_error is set

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230772

9 years agofix PR68279: bail out when scev gets instantiated to not_known
Aditya Kumar [Mon, 23 Nov 2015 19:28:13 +0000 (19:28 +0000)]
fix PR68279: bail out when scev gets instantiated to not_known

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230771

9 years agocall update_ssa once
Aditya Kumar [Mon, 23 Nov 2015 19:28:06 +0000 (19:28 +0000)]
call update_ssa once

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230770

9 years agore PR tree-optimization/68455 (ICE: tree check: expected integer_cst, have plus_expr...
Marek Polacek [Mon, 23 Nov 2015 17:18:36 +0000 (17:18 +0000)]
re PR tree-optimization/68455 (ICE: tree check: expected integer_cst, have plus_expr in decompose, at tree.h:5123)

PR tree-optimization/68455
* tree-vrp.c (extract_range_from_binary_expr_1): Don't call
extract_range_from_multiplicative_op_1 on symbolic ranges.

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

From-SVN: r230768

9 years agoAdd uaddv4_optab and usubv4_optab
Richard Henderson [Mon, 23 Nov 2015 15:55:58 +0000 (07:55 -0800)]
Add uaddv4_optab and usubv4_optab

PR target/67089
     * optabs.def (uaddv4_optab, usubv4_optab): New.
     * internal-fn.c (expand_addsub_overflow): Use uaddv4_optab
     and usubv4_optab in the u +- u -> u case.
     * doc/md.texi (Standard Names): Document addv{m}4, subv{m}4,
     mulv{m}4, uaddv{m}4, usubv{m}4, umulv{m}4.

     * config/i386/i386.md (uaddv<SWI>4, usubv<SWI>4): New.

From-SVN: r230767

9 years agore PR tree-optimization/68465 (pass_lim doesn't detect identical loop entry conditions)
Richard Biener [Mon, 23 Nov 2015 15:21:32 +0000 (15:21 +0000)]
re PR tree-optimization/68465 (pass_lim doesn't detect identical loop entry conditions)

2015-11-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68465
* tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children):
Also record equalities from multiple predecessor blocks if
only one non-backedge exists.

* gcc.dg/tree-ssa/ssa-fre-52.c: New testcase.

From-SVN: r230764

9 years ago[ARM] PR target/68059 libgcc should not use __write for printing fatal error
Szabolcs Nagy [Mon, 23 Nov 2015 15:17:55 +0000 (15:17 +0000)]
[ARM] PR target/68059 libgcc should not use __write for printing fatal error

libgcc/
PR target/68059
* config/arm/linux-atomic-64bit.c (__write): Rename to...
(write): ...this and fix the return type.

From-SVN: r230762

9 years ago[AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop
Kyrylo Tkachov [Mon, 23 Nov 2015 14:56:03 +0000 (14:56 +0000)]
[AArch64] PR target/68363 Check that argument is real INSN in aarch64_madd_needs_nop

PR target/68363
* config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments
that are not INSN_P.

* gcc.target/aarch64/pr68363_1.c: New test.

From-SVN: r230760

9 years agoCorrect graphite*.c ISL header file inclusion order.
David Edelsohn [Mon, 23 Nov 2015 14:23:59 +0000 (09:23 -0500)]
Correct graphite*.c ISL header file inclusion order.

* system.h: Don't poison calloc and strdup if USES_ISL is defined.
* graphite-dependences.c: Define USES_ISL.  Include ISL header files
after GCC header files and before graphite header files.
* graphite-dependences.c: Same.
* graphite-isl-ast-to-gimple.c: Same.
* graphite-optimize-isl.c: Same.
* graphite-poly.c: Same.
* graphite-scop-detection.c: Same.
* graphite-sese-to-poly.c: Same.
* graphite.c: Same.

From-SVN: r230759

9 years ago[AARCH64] Adding constant folding for __builtin_fmulx* with scalar 32 and 64 bit...
Bilyan Borisov [Mon, 23 Nov 2015 14:23:20 +0000 (14:23 +0000)]
[AARCH64] Adding constant folding for __builtin_fmulx* with scalar 32 and 64 bit arguments

gcc/

* config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin): Added
constant folding.

gcc/testsuite/

* gcc.target/aarch64/simd/vmulx.x: New.
* gcc.target/aarch64/simd/vmulx_f64_2.c: Likewise.
* gcc.target/aarch64/simd/vmulxd_f64_2.c: Likewise.
* gcc.target/aarch64/simd/vmulxs_f32_2.c: Likewise.

From-SVN: r230758

9 years agore PR c++/68001 ([cilkplus] ICE in cp_gimplify_expr, at cp/cp-gimplify.c:760)
Igor Zamyatin [Mon, 23 Nov 2015 12:58:12 +0000 (12:58 +0000)]
re PR c++/68001 ([cilkplus] ICE in cp_gimplify_expr, at cp/cp-gimplify.c:760)

PR c++/68001

gcc/c-family
PR c++/68001
* c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
* cilk.c (recognize_spawn): Determine location in a more precise
way.
gcc/cp
* cp-gimplify.c (cp_gimplify_expr): Stop the process if see an error.
gcc/testsuite
* g++.dg/cilk-plus/CK/pr68001.cc: New test.

From-SVN: r230755

9 years ago[Patch] Drop constant overflow flag in adjust_range_with_scev when possible
Jiong Wang [Mon, 23 Nov 2015 12:14:05 +0000 (12:14 +0000)]
[Patch] Drop constant overflow flag in adjust_range_with_scev when possible

2015-11-23  Richard Biener  <rguenth@gcc.gnu.com>
            Jiong Wang  <jiong.wang@arm.com>

gcc/
  PR tree-optimization/68317
  PR tree-optimization/68326
  * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the
  final min and max are not infinity.

gcc/testsuite/
  * gcc.dg/pr68317.c: New testcase.

From-SVN: r230754

9 years agosystem-aix.ads: Add Frontend_Exceptions flag.
Olivier Hainque [Mon, 23 Nov 2015 11:31:24 +0000 (11:31 +0000)]
system-aix.ads: Add Frontend_Exceptions flag.

2015-11-23  Olivier Hainque  <hainque@adacore.com>

* system-aix.ads: Add Frontend_Exceptions flag.
* system-aix64.ads: Likewise.
* system-darwin-ppc.ads: Likewise.
* system-darwin-ppc64.ads: Likewise.
* system-darwin-x86.ads: Likewise.
* system-darwin-x86_64.ads: Likewise.
* system-dragonfly-x86_64.ads: Likewise.
* system-freebsd-x86.ads: Likewise.
* system-freebsd-x86_64.ads: Likewise.
* system-hpux-ia64.ads: Likewise.
* system-hpux.ads: Likewise.
* system-linux-alpha.ads: Likewise.
* system-linux-armeb.ads: Likewise.
* system-linux-armel.ads: Likewise.
* system-linux-hppa.ads: Likewise.
* system-linux-ia64.ads: Likewise.
* system-linux-mips.ads: Likewise.
* system-linux-mips64el.ads: Likewise.
* system-linux-mipsel.ads: Likewise.
* system-linux-ppc.ads: Likewise.
* system-linux-ppc64.ads: Likewise.
* system-linux-s390.ads: Likewise.
* system-linux-s390x.ads: Likewise.
* system-linux-sh4.ads: Likewise.
* system-linux-sparc.ads: Likewise.
* system-linux-sparcv9.ads: Likewise.
* system-linux-x86.ads: Likewise.
* system-linux-x86_64.ads: Likewise.
* system-mingw-x86_64.ads: Likewise.
* system-mingw.ads: Likewise.
* system-rtems.ads: Likewise.
* system-solaris-sparc.ads: Likewise.
* system-solaris-sparcv9.ads: Likewise.
* system-solaris-x86.ads: Likewise.
* system-solaris-x86_64.ads: Likewise.
* system-vxworks-arm.ads: Likewise.
* system-vxworks-m68k.ads: Likewise.
* system-vxworks-mips.ads: Likewise.
* system-vxworks-ppc.ads: Likewise.
* system-vxworks-sparcv9.ads: Likewise.
* system-vxworks-x86.ads: Likewise.
* system.ads: Likewise.

From-SVN: r230753

9 years agoopt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ, Back_End_SJLJ and...
Olivier Hainque [Mon, 23 Nov 2015 11:20:34 +0000 (11:20 +0000)]
opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ, Back_End_SJLJ and Back_End_ZCX.

2015-11-23  Olivier Hainque  <hainque@adacore.com>
    Eric Botcazou  <botcazou@adacore.com>

* opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ,
Back_End_SJLJ and Back_End_ZCX.
(Back_End_Exceptions, Front_End_Exceptions, ZCX_Exceptions,
SJLJ_Exceptions): New functions, reflecting properties of the current
Exception_Mechanism.
* opt.adb: Implement the new functions.
* fe.h: Bind the new Exception_Mechanism and helper functions for gigi.

* exp_ch11.adb (Expand_At_End_Handler): Replace test on mechanism by
use of property helper and update comments.
(Expand_Exception_Handlers): Replace tests on mechanism by use of
helper. Restrict Abort_Defer to ZCX specifically.
* exp_ch9.adb (Expand_N_Asynchronous_Select): Replace tests on
mechanism by calls to helper functions. Abort_Undefer for ZCX only,
paired with Expand_Exception_Handlers.
* exp_sel.adb (Build_Abort_Block_Handler): Replace tests on mechanism
by calls to helper functions. Abort_Undefer for ZCX only, paired with
Expand_Exception_Handlers.

* lib-writ.ads (P line documentation): Add entry for "FX",
representative of unit compiled with Frontend_Exceptions True.
* lib-writ.adb (Output_Main_Program_Line): Add "FX" on P line if
compiled with Frontend_Exceptions True.

* ali.ads (ALIs_Record): Ada a Frontend_Exceptions component, to reflect
whether the ALI file contained an "FX" indication on the P line.
(Frontend_Exceptions_Specified): New boolean, to keep track of whether
at least an FX ALI file is in the closure.
* ali.adb (Scan_ALI): Handle "FX" on the P line.
(Initialize_ALI): Initialize Frontend_Exceptions_Specified to False.

* targparm.ads: Update desription of exception schemes.
(Frontend_Exceptions_On_Target): New flag, reflect Frontend_Exceptions
set to True in system.ads, or not set at all.
* targparm.adb (Targparm_Tags): Add FEX to convey Frontend_Exceptions.
Rename ZCD to ZCX for consistency.
(FEX_Str, Targparm_Str, Get_Target_Parameters): Adjust accordingly.

* gnat1drv.adb (Adjust_Global_Switches): Adjust Exception_Mechanism
setting, now from combination of Frontend_Exceptions and ZCX_By_Default.

* bcheck.adb (Check_Consistent_Zero_Cost_Exception_Handling): Rename
as ...
(Check_Consistent_Exception_Handling): Check consistency of both
ZCX_By_Default and Frontend_Exceptions.
(Check_Configuration_Consistency): Check_Consistent_Exception_Handling
if either flag was set at least once.

* make.adb (Check): Remove processing of a possible -fsjlj coming from
lang-specs.h.
* gnatlink.adb (Gnatlin): Likewise.

* gcc-interface/Makefile.in (gnatlib-sjlj/zcx): Now set
both ZCX_By_Default and Frontend_Exceptions.
* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable):
Use eh property helper to test for back-end exceptions. Adjust
mechanism name when testing for front-end sjlj.
(case E_Procedure): Likewise.
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
Likewise, and rename local variables.
(Exception_Handler_to_gnu_sjlj): Rename as
Exception_Handler_to_gnu_fe_sjlj.
(Exception_Handler_to_gnu_zcx): Rename as
Exception_Handler_to_gnu_gcc and adjust tests on eh mechanisms
to use property helpers or correct mechanism name.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r230752

9 years ago* zh_CN.po: Update.
Joseph Myers [Mon, 23 Nov 2015 11:03:21 +0000 (11:03 +0000)]
* zh_CN.po: Update.

From-SVN: r230750

9 years agore PR tree-optimization/68327 (ICE on valid code at -O3 on x86_64-linux-gnu in vect_i...
Ilya Enkovich [Mon, 23 Nov 2015 10:01:51 +0000 (10:01 +0000)]
re PR tree-optimization/68327 (ICE on valid code at -O3 on x86_64-linux-gnu in vect_is_simple_use, at tree-vect-stmts.c:8562)

gcc/

PR tree-optimization/68327
* tree-vect-loop.c (vect_determine_vectorization_factor): Don't
compute vectype for non-relevant mask producers.
* gcc/tree-vect-stmts.c (vectorizable_comparison): Check stmt
relevance earlier.

gcc/testsuite/

PR tree-optimization/68327
* gcc.dg/pr68327.c: New test.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r230743

9 years agoAlways call free_stmt_vec_info_vec in gather_scalar_reductions
Tom de Vries [Mon, 23 Nov 2015 09:45:38 +0000 (09:45 +0000)]
Always call free_stmt_vec_info_vec in gather_scalar_reductions

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

PR tree-optimization/68460
* tree-parloops.c (gather_scalar_reductions): Also call
free_stmt_vec_info_vec if simple_loop_info == NULL.

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

From-SVN: r230742

9 years agolibsanitizer merge from upstream r253555, compiler part.
Max Ostapenko [Mon, 23 Nov 2015 09:15:13 +0000 (11:15 +0200)]
libsanitizer merge from upstream r253555, compiler part.

gcc/

* opts.c (finish_options): Allow -fsanitize-recover=address for
userspace sanitization.
* asan.c (asan_expand_check_ifn): Redefine recover_p.
* doc/invoke.texi (fsanitize-recover): Update documentation.

gcc/testsuite/

* c-c++-common/asan/halt_on_error-1.c: New test.
* c-c++-common/asan/halt_on_error-2.c: Likewise.

From-SVN: r230741

9 years agore PR target/68482 (No vectorization for x86-64)
Richard Biener [Mon, 23 Nov 2015 09:11:00 +0000 (09:11 +0000)]
re PR target/68482 (No vectorization for x86-64)

2015-11-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68482
* gcc.dg/vect/pr68482.c: New testcase.

From-SVN: r230740

9 years agolibsanitizer merge from upstream r253555.
Max Ostapenko [Mon, 23 Nov 2015 09:07:18 +0000 (11:07 +0200)]
libsanitizer merge from upstream r253555.

libsanitizer/

2015-11-23  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

* All source files: Merge from upstream r253555.
* configure.tgt: Enable LSan on aarch64-*-linux* targets. Add new
dependences for TSan for aarch64-*-linux* targets.
* tsan/Makefile.am: Add new source files.
* configure: Regenerate.
* tsan/Makefile.in: Likewise.

From-SVN: r230739

9 years agoMark by_ref mem_ref in build_receiver_ref as non-trapping
Tom de Vries [Mon, 23 Nov 2015 08:56:49 +0000 (08:56 +0000)]
Mark by_ref mem_ref in build_receiver_ref as non-trapping

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

* omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping.

From-SVN: r230738

9 years agore PR tree-optimization/68445 (ICE: internal compiler error: in operator[], at vec.h)
Richard Biener [Mon, 23 Nov 2015 08:36:59 +0000 (08:36 +0000)]
re PR tree-optimization/68445 (ICE: internal compiler error: in operator[], at vec.h)

2015-11-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68445
* tree-vect-slp.c (vect_create_mask_and_perm): Properly use
two different strides.

* gcc.dg/vect/pr68445.c: New testcase.

From-SVN: r230737

9 years agoS/390: Fix symbol ref alignment
Robin Dapp [Mon, 23 Nov 2015 08:05:33 +0000 (08:05 +0000)]
S/390: Fix symbol ref alignment

This patch fixes the treatment of symbol ref alignments for
arrays and structs in S390. Until now, the NOT_NATURALLY_ALIGNED flag
was not correctly set for array elements and structs larger than 8
bytes. Therefore, load relative instructions that require a specific
alignment would not always be generated. This patch uses separate flags
for 2-, 4-, and 8-byte alignment to fix the problem.

gcc/testsuite/ChangeLog:

2015-11-23  Robin Dapp  <rdapp@linux.vnet.ibm.com>

        * gcc.target/s390/load-relative-check.c: New test to check
        generation of load relative instructions.

gcc/ChangeLog:

2015-11-23  Robin Dapp  <rdapp@linux.vnet.ibm.com>

        * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc.
        * config/s390/s390.c (s390_check_symref_alignment): Use new
        symref flags, early abort on wrong alignment
        (s390_secondary_reload): Use new symref flags.
        (s390_encode_section_info): Likewise.
        * config/s390/predicates.md: Likewise.

From-SVN: r230735

9 years agore PR fortran/52251 (Nonadvancing I/O and the t edit descriptor)
Jerry DeLisle [Mon, 23 Nov 2015 00:40:51 +0000 (00:40 +0000)]
re PR fortran/52251 (Nonadvancing I/O and the t edit descriptor)

2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/52251
* io/transfer.c (formatted_transfer_scalar_write): Reset skips count.
(finalize_transfer): For ADVANCE_NO, emit pending spaces and reset the
skip count.

2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

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

From-SVN: r230734

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

From-SVN: r230733

9 years agore PR target/68390 (Incorrect code due to indirect tail call of varargs function...
Kugan Vivekanandarajah [Sun, 22 Nov 2015 23:07:58 +0000 (23:07 +0000)]
re PR target/68390 (Incorrect code due to indirect tail call of varargs function with hard float ABI)

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.

From-SVN: r230730

9 years agofmt_g0_1.f08: Update test.
Jerry DeLisle [Sun, 22 Nov 2015 22:17:52 +0000 (22:17 +0000)]
fmt_g0_1.f08: Update test.

2015-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

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

From-SVN: r230729

9 years agowrite_float.def (output_float): Move block determining room for leading zero to befor...
Jerry DeLisle [Sun, 22 Nov 2015 22:14:46 +0000 (22:14 +0000)]
write_float.def (output_float): Move block determining room for leading zero to before checkng g0 formatting.

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.

From-SVN: r230728

9 years agolibitm: Fix recent changes to allocations log.
Torvald Riegel [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.

From-SVN: r230727

9 years agore PR fortran/68486 (187.facerec in SPEC CPU 2000 failed to build)
Steven G. Kargl [Sun, 22 Nov 2015 19:41:20 +0000 (19:41 +0000)]
re PR fortran/68486 (187.facerec in SPEC CPU 2000 failed to build)

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.

From-SVN: r230726

9 years agoopenmp.c (match_oacc_clause_gang): Fix uninitialized variable.
James Norris [Sun, 22 Nov 2015 19:25:29 +0000 (19:25 +0000)]
openmp.c (match_oacc_clause_gang): Fix uninitialized variable.

gcc/fortran/
* openmp.c (match_oacc_clause_gang): Fix uninitialized variable.
(gfc_resolve_oacc_declare): Fix comparision.

Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r230725

9 years agodump-parse-tree.c (show_namespace): Handle declares.
James Norris [Sun, 22 Nov 2015 16:45:38 +0000 (16:45 +0000)]
dump-parse-tree.c (show_namespace): Handle declares.

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.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r230722

9 years ago[AARCH64][PATCH 2/3] Implementing vmulx_lane NEON intrinsic variants
Bilyan Borisov [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.

From-SVN: r230720

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

From-SVN: r230718

9 years agolto.c (iterative_hash_canonical_type): Always recurse for pointers.
Jan Hubicka [Sat, 21 Nov 2015 23:59:49 +0000 (00:59 +0100)]
lto.c (iterative_hash_canonical_type): Always recurse for pointers.

* 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.

From-SVN: r230715

9 years agolto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch flag for types...
Jan Hubicka [Sat, 21 Nov 2015 22:30:28 +0000 (23:30 +0100)]
lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch flag for types that are not ODR...

* lto-symtab.c (warn_type_compatibility_p): Do not set ODR mismatch
flag for types that are not ODR; fix loop walking parameters.

From-SVN: r230712

9 years agosimplify.c (gfc_simplify_cshift): Work around bootstrap issues due to inappropriate...
Steven G. Kargl [Sat, 21 Nov 2015 20:06:17 +0000 (20:06 +0000)]
simplify.c (gfc_simplify_cshift): Work around bootstrap issues due to inappropriate warning options.

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

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

From-SVN: r230710

9 years agosimplify.c (gfc_simplify_cshift): Implement simplification of CSHIFT.
Steven G. Kargl [Sat, 21 Nov 2015 16:25:23 +0000 (16:25 +0000)]
simplify.c (gfc_simplify_cshift): Implement simplification of CSHIFT.

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.

From-SVN: r230709

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

From-SVN: r230708

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

From-SVN: r230707

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

From-SVN: r230706

9 years agonvptx.c (write_function_decl_and_comment): Print leading blank line.
Nathan Sidwell [Sat, 21 Nov 2015 13:57:09 +0000 (13:57 +0000)]
nvptx.c (write_function_decl_and_comment): Print leading blank line.

* 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.

From-SVN: r230705

9 years agovbase1.C: Also run on i?86-*-*.
Uros Bizjak [Sat, 21 Nov 2015 12:20:56 +0000 (13:20 +0100)]
vbase1.C: Also run on i?86-*-*.

* g++.dg/init/vbase1.C: Also run on i?86-*-*.

From-SVN: r230704

9 years agore PR debug/66432 (libgomp.c/appendix-a/a.29.1.c -O2 -g: type mismatch between an...
Jakub Jelinek [Sat, 21 Nov 2015 08:24:13 +0000 (09:24 +0100)]
re PR debug/66432 (libgomp.c/appendix-a/a.29.1.c -O2 -g: type mismatch between an SSA_NAME and its symbol)

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.

From-SVN: r230702

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

From-SVN: r230701

9 years agore PR go/66378 (libgo syscall.Sendfile() does not honor/use offset argument)
Ian Lance Taylor [Sat, 21 Nov 2015 04:43:50 +0000 (04:43 +0000)]
re PR go/66378 (libgo syscall.Sendfile() does not honor/use offset argument)

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

From-SVN: r230699

9 years agoipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL...
Jan Hubicka [Sat, 21 Nov 2015 03:57:48 +0000 (04:57 +0100)]
ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL...

* 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.

From-SVN: r230698

9 years agore PR go/66406 (go.test/test/nilptr.go FAILs with PIE)
Ian Lance Taylor [Sat, 21 Nov 2015 01:47:13 +0000 (01:47 +0000)]
re PR go/66406 (go.test/test/nilptr.go FAILs with PIE)

PR go/66406
* go.test/go-test.exp (go-gc-tests): Skip nilptr.go if PIE.

From-SVN: r230697

9 years agore PR go/65785 (libgo TestIPv4MulticastListener test fails on machine with no network...
Ian Lance Taylor [Sat, 21 Nov 2015 01:41:24 +0000 (01:41 +0000)]
re PR go/65785 (libgo TestIPv4MulticastListener test fails on machine with no network connection)

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

From-SVN: r230695

9 years agore PR go/66574 (Time is provided in millisecond precision instead of nanoseconds...
Ian Lance Taylor [Sat, 21 Nov 2015 01:27:44 +0000 (01:27 +0000)]
re PR go/66574 (Time is provided in millisecond precision instead of nanoseconds as described in go documentation)

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

From-SVN: r230694

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

From-SVN: r230692

9 years agore PR go/68141 (go/gofrontend/import-archive.cc: 2 * poor choice of function paramete...
Ian Lance Taylor [Fri, 20 Nov 2015 23:44:25 +0000 (23:44 +0000)]
re PR go/68141 (go/gofrontend/import-archive.cc: 2 * poor choice of function parameter type ?)

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

From-SVN: r230689

9 years agore PR go/68072 (malformed DWARF TagVariable entry)
Ian Lance Taylor [Fri, 20 Nov 2015 22:48:47 +0000 (22:48 +0000)]
re PR go/68072 (malformed DWARF TagVariable entry)

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

From-SVN: r230685

9 years agovbase1.C: Only run on x86_64-*-* as this testcase isn't portable.
Mike Stump [Fri, 20 Nov 2015 22:12:28 +0000 (22:12 +0000)]
vbase1.C: Only run on x86_64-*-* as this testcase isn't portable.

* g++.dg/init/vbase1.C: Only run on x86_64-*-* as this testcase
isn't portable.

From-SVN: r230683

9 years agosparc.md (umulxhi_vis): Move around.
Eric Botcazou [Fri, 20 Nov 2015 22:01:46 +0000 (22:01 +0000)]
sparc.md (umulxhi_vis): Move around.

* 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.

From-SVN: r230681

9 years agocmd: Use correct install tool dir with gccgo
Ian Lance Taylor [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

From-SVN: r230677

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

From-SVN: r230675

9 years agoPR 62314: add ability to add fixit-hints to a diagnostic
David Malcolm [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.

From-SVN: r230674

9 years agore PR middle-end/68221 (libgomp reduction-11/12 failures)
Jakub Jelinek [Fri, 20 Nov 2015 19:50:46 +0000 (20:50 +0100)]
re PR middle-end/68221 (libgomp reduction-11/12 failures)

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.

From-SVN: r230672

9 years agore PR middle-end/68339 (g++.dg/vect/simd-clone-2.cc ICEs with aggressive GC settings...
Jakub Jelinek [Fri, 20 Nov 2015 19:49:47 +0000 (20:49 +0100)]
re PR middle-end/68339 (g++.dg/vect/simd-clone-2.cc ICEs with aggressive GC settings and OpenMP)

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.

From-SVN: r230671

9 years agore PR libstdc++/68448 (Python Pretty Printers get disabled on libstdc++ reload by...
Jan Kratochvil [Fri, 20 Nov 2015 19:00:51 +0000 (19:00 +0000)]
re PR libstdc++/68448 (Python Pretty Printers get disabled on libstdc++ reload by GDB)

PR libstdc++/68448
* python/hook.in: Call register_libstdcxx_printers.
* python/libstdcxx/v6/__init__.py: Wrap it to
register_libstdcxx_printers.

From-SVN: r230669

9 years agoFix cygwin performance loss on linpack.
Jim 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.

From-SVN: r230667

9 years ago[AArch64] Add attribute for compatibility with ARM pipeline models
Evandro Menezes [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.

From-SVN: r230666

9 years agoc-common.c (shorten_compare): But look through macros from system headers.
Jason Merrill [Fri, 20 Nov 2015 15:51:35 +0000 (10:51 -0500)]
c-common.c (shorten_compare): But look through macros from system headers.

* c-common.c (shorten_compare): But look through macros from
system headers.

From-SVN: r230665

9 years ago[ARM] Do not expand movmisalign pattern if not in 32-bit mode
Kyrylo Tkachov [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.

From-SVN: r230664

9 years ago[ARM] PR 68149 Fix ICE in unaligned_loaddi split
Kyrylo Tkachov [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.

From-SVN: r230663

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

From-SVN: r230662

9 years ago[multiple changes]
Paul Thomas [Fri, 20 Nov 2015 14:50:35 +0000 (14:50 +0000)]
[multiple changes]

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.

From-SVN: r230661

9 years agoSync top level configure with binutils-gdb.
Tristan 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.

From-SVN: r230660

9 years agonvptx.c (nvptx_use_anchors_for_symbol_p): New.
Nathan Sidwell [Fri, 20 Nov 2015 14:23:18 +0000 (14:23 +0000)]
nvptx.c (nvptx_use_anchors_for_symbol_p): New.

* config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.

Co-Authored-By: James Norris <jnorris@codesourcery.com>
From-SVN: r230659

9 years agore PR tree-optimization/68413 (internal compiler error: in vect_transform_stmt)
Alan Hayward [Fri, 20 Nov 2015 14:20:24 +0000 (14:20 +0000)]
re PR tree-optimization/68413 (internal compiler error: in vect_transform_stmt)

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

From-SVN: r230658

9 years agocompiler: Use receiver name in hash/equal for type within method.
Ian Lance Taylor [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

From-SVN: r230657

9 years agoFix typo and trailing whitespace in dump-file strings in parloops
Tom de 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.

From-SVN: r230655

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

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

From-SVN: r230654

9 years ago[ARM] Disable neon testing for armv7-m
Andre Vieira [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.

From-SVN: r230653

9 years agomd.texi (Standard Names): Move entry for addptr3 around...
Eric Botcazou [Fri, 20 Nov 2015 11:04:43 +0000 (11:04 +0000)]
md.texi (Standard Names): Move entry for addptr3 around...

* 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.

From-SVN: r230651

9 years agoDo final value replacement in try_create_reduction_list
Tom de 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.

From-SVN: r230650

9 years agoChangeLog: Fix whitespace.
Uros Bizjak [Fri, 20 Nov 2015 10:00:24 +0000 (11:00 +0100)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r230649

9 years agoFix up misplaced ChangeLog entry.
Jakub Jelinek [Fri, 20 Nov 2015 09:05:53 +0000 (10:05 +0100)]
Fix up misplaced ChangeLog entry.

From-SVN: r230648

9 years agore PR tree-optimization/52272 (Performance regression of 410.bwaves on x86.)
Bin Cheng [Fri, 20 Nov 2015 09:05:08 +0000 (09:05 +0000)]
re PR tree-optimization/52272 (Performance regression of 410.bwaves on x86.)

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.

From-SVN: r230647

9 years agore PR c++/67354 (internal compiler error: in add_to_same_comdat_group, at symtab...
Jakub Jelinek [Fri, 20 Nov 2015 09:03:45 +0000 (10:03 +0100)]
re PR c++/67354 (internal compiler error: in add_to_same_comdat_group, at symtab.c:421)

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.

From-SVN: r230646

9 years agoS/390: Add bswaphi2 pattern
Andreas 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.

From-SVN: r230643

9 years agoS/390: Clobber r1 in patterns resulting in pfpo instruction.
Dominik Vogt [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.

From-SVN: r230642

9 years agore PR c++/68158 (Function attributes parsed incorrectly in C++ (while -fcilkplus))
Kirill Yukhin [Fri, 20 Nov 2015 05:42:41 +0000 (05:42 +0000)]
re PR c++/68158 (Function attributes parsed incorrectly in C++ (while -fcilkplus))

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.

From-SVN: r230641

9 years agoC++ FE: offer suggestions for misspelled field names
David Malcolm [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.

From-SVN: r230638

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

From-SVN: r230637

9 years agoSupport __cxa_free_exception and fix exception handling.
Torvald Riegel [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.

From-SVN: r230634

9 years ago* config/msp430/lib2hw_mul.S: Fix alignment.
DJ Delorie [Fri, 20 Nov 2015 00:08:50 +0000 (19:08 -0500)]
* config/msp430/lib2hw_mul.S: Fix alignment.

From-SVN: r230633

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

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230632

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

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230631

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

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230630

9 years agore PR c++/68422 (compile-time cost of sizeof... is quadratic)
Jason Merrill [Thu, 19 Nov 2015 22:29:08 +0000 (17:29 -0500)]
re PR c++/68422 (compile-time cost of sizeof... is quadratic)

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.

From-SVN: r230629

9 years agonvptx.h (SUPPORTS_WEAK): Define.
Nathan Sidwell [Thu, 19 Nov 2015 22:05:03 +0000 (22:05 +0000)]
nvptx.h (SUPPORTS_WEAK): Define.

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.

From-SVN: r230628

9 years agore PR c/68412 (ICE with -Wall -Wextra in fold_binary_loc())
Marek Polacek [Thu, 19 Nov 2015 22:04:00 +0000 (22:04 +0000)]
re PR c/68412 (ICE with -Wall -Wextra in fold_binary_loc())

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.

From-SVN: r230627

9 years agofix bootstrap without ISL on old linkers
Aditya Kumar [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.

From-SVN: r230625

9 years agoreduction-dbl.c: New.
Nathan Sidwell [Thu, 19 Nov 2015 18:58:39 +0000 (18:58 +0000)]
reduction-dbl.c: New.

* 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.

From-SVN: r230621

9 years agore PR c++/68396 (function auto-deduced return types get incorrectly classified as...
Ryan Burn [Thu, 19 Nov 2015 18:25:38 +0000 (18:25 +0000)]
re PR c++/68396 (function auto-deduced return types get incorrectly classified as parameter packs)

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.

From-SVN: r230620

9 years agorevert: rs6000.c (use_toc_relative_ref): Ignore type-limits warning.
David Edelsohn [Thu, 19 Nov 2015 17:37:12 +0000 (17:37 +0000)]
revert: rs6000.c (use_toc_relative_ref): Ignore type-limits warning.

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.

From-SVN: r230619

9 years ago[Patch, vrp] Allow VRP type conversion folding only for widenings upto word mode
Senthil Kumar Selvaraj [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.

From-SVN: r230618

9 years agosem_elab.adb (Check_Internal_Call_Continue): Correction to previous change...
Bob Duff [Thu, 19 Nov 2015 16:40:37 +0000 (16:40 +0000)]
sem_elab.adb (Check_Internal_Call_Continue): Correction to previous change...

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.

From-SVN: r230617