Aditya Kumar [Mon, 23 Nov 2015 23:28:42 +0000 (23:28 +0000)]
fix PR68314: revert all patches touching the construction of the original schedule
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230778
Ian Lance Taylor [Mon, 23 Nov 2015 21:17:45 +0000 (21:17 +0000)]
re PR go/68496 ([libgo] reflect test fails on Linux x86-64)
PR go/68496
reflect: Allocate space for FFI functions returning a zero-sized type.
The libffi library does not understand zero-sized types. We represent
them as a struct with a single field of type void. If such a type is
returned from a function, libffi will copy 1 byte of data. Allocate
space for that byte, although we won't use it.
Fixes https://gcc.gnu.org/PR68496.
Reviewed-on: https://go-review.googlesource.com/17175
From-SVN: r230776
David Malcolm [Mon, 23 Nov 2015 21:00:13 +0000 (21:00 +0000)]
Fix PR objc/68438 (uninitialized source ranges)
gcc/c/ChangeLog:
PR objc/68438
* c-parser.c (c_parser_postfix_expression): Set up source ranges
for various Objective-C constructs: Class.name syntax,
@selector(), @protocol(), @encode(), and [] message syntax.
gcc/testsuite/ChangeLog:
PR objc/68438
* objc.dg/plugin: New subdirectory.
* objc.dg/plugin/diagnostic-test-expressions-1.m: New test file.
* objc.dg/plugin/plugin.exp: New file, based on
gcc.dg/plugin/plugin.exp.
From-SVN: r230775
Matthias Klose [Mon, 23 Nov 2015 20:27:57 +0000 (20:27 +0000)]
2015-11-23 Matthias Klose <doko@ubuntu.com>
* Imported zlib 1.2.8; merged local changes.
From-SVN: r230774
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Joseph Myers [Mon, 23 Nov 2015 11:03:21 +0000 (11:03 +0000)]
* zh_CN.po: Update.
From-SVN: r230750
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 23 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r230733
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
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
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
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
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
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
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
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
GCC Administrator [Sun, 22 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r230718
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Sat, 21 Nov 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r230692
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
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
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
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
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
David Malcolm [Fri, 20 Nov 2015 20:36:03 +0000 (20:36 +0000)]
Add testcase erroneously omitted from r230638
From-SVN: r230675
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
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
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
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
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
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
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
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
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
Paul Thomas [Fri, 20 Nov 2015 15:01:34 +0000 (15:01 +0000)]
Fix wrong attribution in gfortran ChangeLog
From-SVN: r230662
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
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
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
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
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
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
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
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
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
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
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
Jakub Jelinek [Fri, 20 Nov 2015 09:05:53 +0000 (10:05 +0100)]
Fix up misplaced ChangeLog entry.
From-SVN: r230648
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
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
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
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
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
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
GCC Administrator [Fri, 20 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r230637
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
DJ Delorie [Fri, 20 Nov 2015 00:08:50 +0000 (19:08 -0500)]
* config/msp430/lib2hw_mul.S: Fix alignment.
From-SVN: r230633
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
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
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
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
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
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
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
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