Aditya Kumar [Tue, 24 Nov 2015 17:57:45 +0000 (17:57 +0000)]
move all declarations to a same .h file
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r230825
Pierre-Marie de Rodat [Tue, 24 Nov 2015 16:59:43 +0000 (16:59 +0000)]
DWARF: materialize subprogram renamings in Ada as imported declarations
... so that debugger users can reference them instead of the renamed
subprograms. This is in accordance with the DWARF specification: the
section 3.2.3 (Imported (or Renamed) Declaration Entities) allows
DW_TAG_imported_declaration DIEs to be used "as a general means to
rename or provide an alias for an entity regardless of the context in
which the importing declaration or the imported entity occur." (wording
from the DWARFv3 and DWARFv4 specifications, allowed in DWARFv2).
gcc/ada/ChangeLog:
* gcc-interface/utils.c (gnat_write_global_declarations): Output
debugging information for top-level imported declarations.
gcc/ChangeLog:
* dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead
of DW_TAG_namespace for IMPORTED_DECL declarations. Call
dwarf2out_imported_module_or_decl_1 for all DWARF versions as
this function already takes care of checking what it can emit.
Bootstrapped, regtested and checked with GDB's testsuite on
x86_64-linux.
From-SVN: r230821
Szabolcs Nagy [Tue, 24 Nov 2015 16:06:30 +0000 (16:06 +0000)]
[AArch64] Documentation fix for -fpic
gcc/
* doc/invoke.texi (-fpic): Add the AArch64 limit.
(-fPIC): Add AArch64.
From-SVN: r230819
Michael Matz [Tue, 24 Nov 2015 16:00:51 +0000 (16:00 +0000)]
re PR rtl-optimization/68392 (ICE: SIGSEGV in update_uses (fwprop.c:896) with -fno-checking)
PR rtl-optimization/68392
* g++.dg/pr68392.C: New test.
From-SVN: r230818
Tom de Vries [Tue, 24 Nov 2015 14:47:55 +0000 (14:47 +0000)]
Allow pass_lim to run outside pass_tree_loop
2015-11-24 Tom de Vries <tom@codesourcery.com>
* tree-ssa-loop-im.c (tree_ssa_lim): Make static.
(pass_lim::execute): Allow to run outside pass_tree_loop.
From-SVN: r230815
Wilco Dijkstra [Tue, 24 Nov 2015 14:46:05 +0000 (14:46 +0000)]
[PATCH][AArch64] Improve add immediate expansion
gcc/
* gcc/config/aarch64/aarch64.md (add<mode>3):
Block early expansion into 2 add instructions.
(add<mode>3_pluslong): New pattern to combine complex
immediates into 2 additions.
From-SVN: r230814
Segher Boessenkool [Tue, 24 Nov 2015 14:04:11 +0000 (15:04 +0100)]
rs6000: Fix for and_operand oversight (PR68332, PR67677)
Calling rs6000_is_valid_and_mask on a reg instead of on a const_int is
not a good idea, as PR68332 and PR67677 as well as testing with
--enable-checking=yes,rtl show. Fix this.
PR target/66217
PR target/67677
PR target/68332
* config/rs6000/predicates.md (and_operand): Check that the operand
is a const_int before calling rs6000_is_valid_and_mask.
From-SVN: r230811
Nathan Sidwell [Tue, 24 Nov 2015 13:53:31 +0000 (13:53 +0000)]
* gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.
From-SVN: r230810
Kyrylo Tkachov [Tue, 24 Nov 2015 13:35:56 +0000 (13:35 +0000)]
Testcase for PR rtl-optimization/68381
PR rtl-optimization/68381
* gcc.c-torture/execute/pr68381.c: New test.
From-SVN: r230809
Rainer Orth [Tue, 24 Nov 2015 13:15:43 +0000 (13:15 +0000)]
Handle C++11 <math.h> overloads on Solaris 12
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
* configure.ac: Use it.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/c_global/cmath [__cplusplus >= 201103L]
(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::isfinite): Likewise.
(std::isinf): Likewise.
(std::isnan): Likewise.
(std::isnormal): Likewise.
(std::signbit): Likewise.
(std::isgreater): Likewise.
(std::isgreaterequal): Likewise.
(std::isless): Likewise.
(std::islessequal): Likewise.
(std::islessgreater): Likewise.
(std::isunordered): Likewise.
(std::acosh): Likewise.
(std::asinh): Likewise.
(std::atanh): Likewise.
(std::cbrt): Likewise.
(std::copysign): Likewise.
(std::erf): Likewise.
(std::erfc): Likewise.
(std::exp2): Likewise.
(std::expm1): Likewise.
(std::fdim): Likewise.
(std::fma): Likewise.
(std::fmax): Likewise.
(std::fmin): Likewise.
(std::hypot): Likewise.
(std::ilogb): Likewise.
(std::lgamma): Likewise.
(std::llrint): Likewise.
(std::llround): Likewise.
(std::log1p): Likewise.
(std::log2): Likewise.
(std::logb): Likewise.
(std::lrint): Likewise.
(std::lround): Likewise.
(std::nearbyint): Likewise.
(std::nextafter): Likewise.
(std::nexttoward): Likewise.
(std::remainder): Likewise.
(std::remquo): Likewise.
(std::rint): Likewise.
(std::round): Likewise.
(std::scalbln): Likewise.
(std::scalbn): Likewise.
(std::tgamma): Likewise.
(std::trunc): Likewise.
* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::tr1::asinh): Likewise.
(std::tr1::atanh): Likewise.
(std::tr1::cbrt): Likewise.
(std::tr1::copysign): Likewise.
(std::tr1::erf): Likewise.
(std::tr1::erfc): Likewise.
(std::tr1::exp2): Likewise.
(std::tr1::expm1): Likewise.
(std::tr1::fabs): Likewise.
(std::tr1::fdim): Likewise.
(std::tr1::fma): Likewise.
(std::tr1::fmax): Likewise.
(std::tr1::fmin): Likewise.
(std::tr1::hypot): Likewise.
(std::tr1::ilogb): Likewise.
(std::tr1::lgamma): Likewise.
(std::tr1::llrint): Likewise.
(std::tr1::llround): Likewise.
(std::tr1::log1p): Likewise.
(std::tr1::log2): Likewise.
(std::tr1::logb): Likewise.
(std::tr1::lrint): Likewise.
(std::tr1::lround): Likewise.
(std::tr1::nearbyint): Likewise.
(std::tr1::nextafter): Likewise.
(std::tr1::nexttoward): Likewise.
(std::tr1::remainder): Likewise.
(std::tr1::remquo): Likewise.
(std::tr1::rint): Likewise.
(std::tr1::scalbln): Likewise.
(std::tr1::scalbn): Likewise.
(std::tr1::tgamma): Likewise.
(std::tr1::trunc): Likewise.
(std::tr1::pow): Likewise.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.
From-SVN: r230807
Kyrylo Tkachov [Tue, 24 Nov 2015 13:08:56 +0000 (13:08 +0000)]
[AArch64][v2] Improve comparison with complex immediates followed by branch/cset
* config/aarch64/aarch64.md (*condjump): Rename to...
(condjump): ... This.
(*compare_condjump<mode>): New define_insn_and_split.
(*compare_cstore<mode>_insn): Likewise.
(*cstore<mode>_insn): Rename to...
(cstore<mode>_insn): ... This.
* config/aarch64/iterators.md (CMP): Handle ne code.
* config/aarch64/predicates.md (aarch64_imm24): New predicate.
* gcc.target/aarch64/cmpimm_branch_1.c: New test.
* gcc.target/aarch64/cmpimm_cset_1.c: Likewise.
From-SVN: r230805
Max Ostapenko [Tue, 24 Nov 2015 12:24:46 +0000 (14:24 +0200)]
Move ptrace.h to appropriate place.
libsanitizer/
* include/system/linux/asm/ptrace.h: Move to ...
* include/system/asm/ptrace.h: ... this.
From-SVN: r230804
Mikhail Maltsev [Tue, 24 Nov 2015 12:18:21 +0000 (12:18 +0000)]
Fix PR68497 (ICE with -fno-checking)
gcc/
PR target/68497
* config/i386/i386.c (output_387_binary_op): Fix assertion for
-fno-checking case.
gcc/testsuite/
PR target/68497
* gcc.target/i386/pr68497.c: New test.
From-SVN: r230803
Trevor Saunders [Tue, 24 Nov 2015 11:46:18 +0000 (11:46 +0000)]
remove val_ssa_equiv_hash_traits
gcc/ChangeLog:
2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove.
(val_ssa_equiv_hash_traits::remove): Likewise.
(pass_uncprop::execute): Adjust.
From-SVN: r230802
Trevor Saunders [Tue, 24 Nov 2015 11:46:10 +0000 (11:46 +0000)]
destroy values as well as keys when removing them from hash maps
gcc/ChangeLog:
2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* hash-map-traits.h (simple_hashmap_traits ::remove): call
destructors on values that are being removed.
* mem-stats.h (hash_map): Pass type of values to
simple_hashmap_traits.
* tree-sra.c (sra_deinitialize): Remove work around for hash
maps not destructing values.
* genmatch.c (sinfo_hashmap_traits): Adjust.
* tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise.
From-SVN: r230801
Bilyan Borisov [Tue, 24 Nov 2015 11:22:48 +0000 (11:22 +0000)]
[AARCH64][PATCH 3/3] Adding tests to check proper error reporting of out of...
[AARCH64][PATCH 3/3] Adding tests to check proper error reporting of out
of bounds accesses to vmulx_lane* NEON intrinsics
gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxd_lane_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxd_laneq_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f64_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxs_lane_f32_indices_1.c:
New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxs_laneq_f32_indices_1.c:
New.
From-SVN: r230800
Kyrylo Tkachov [Tue, 24 Nov 2015 11:03:51 +0000 (11:03 +0000)]
[cfgloop] PR middle-end/68375: Restructure get_loop_body_in_bfs_order to handle loops with only a header
PR middle-end/68375
* cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid
bogus assertion.
* gcc.dg/pr68375.c: New test.
From-SVN: r230798
Jakub Jelinek [Tue, 24 Nov 2015 10:45:52 +0000 (11:45 +0100)]
re PR target/68483 (gcc 5.2: suboptimal code compared to 4.9)
PR target/68483
* tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
is valid vec_shr pattern, don't lower it even if can_vec_perm_p
returns false.
* optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
whenever first is nelt or above. Don't mask expected with
2 * nelt - 1.
* gcc.target/i386/pr68483-1.c: New test.
* gcc.target/i386/pr68483-2.c: New test.
From-SVN: r230797
Ilya Enkovich [Tue, 24 Nov 2015 09:45:20 +0000 (09:45 +0000)]
re PR c/68337 ([MPX] memcpy() for arrays with function pointers results in huge resource usage and binaries)
gcc/
PR c/68337
* gimple-fold.c: Include ipa-chkp.h.
(gimple_fold_builtin_memory_op): Don't fold call if we
are going to instrument it and it may copy pointers.
gcc/testsuite/
PR c/68337
* gcc.target/i386/mpx/pr68337-1.c: New test.
* gcc.target/i386/mpx/pr68337-2.c: New test.
From-SVN: r230796
Kyrylo Tkachov [Tue, 24 Nov 2015 09:31:57 +0000 (09:31 +0000)]
[RTL-ree] PR rtl-optimization/68194: Restrict copy instruction in presence of conditional moves
PR rtl-optimization/68194
PR rtl-optimization/68328
PR rtl-optimization/68185
* ree.c (combine_reaching_defs): Reject copy_needed case if
copies_list is not empty.
* gcc.c-torture/execute/pr68185.c: New test.
* gcc.c-torture/execute/pr68328.c: Likewise.
From-SVN: r230795
Gary Dismukes [Tue, 24 Nov 2015 09:22:24 +0000 (09:22 +0000)]
sem_ch3.adb, [...]: Minor reformatting, rewording, and typo corrections.
2015-11-24 Gary Dismukes <dismukes@adacore.com>
* sem_ch3.adb, sem_type.adb, sem_ch7.adb, sem_ch9.adb, checks.adb,
sem_prag.adb, contracts.adb, g-strhas.ads, sem_ch6.adb: Minor
reformatting, rewording, and typo corrections.
From-SVN: r230794
Richard Biener [Tue, 24 Nov 2015 09:17:40 +0000 (09:17 +0000)]
re PR middle-end/68221 (libgomp reduction-11/12 failures)
2015-11-24 Richard Biener <rguenther@suse.de>
PR middle-end/68221
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
use mem_ref_offset.
From-SVN: r230793
Eric Botcazou [Tue, 24 Nov 2015 09:00:45 +0000 (09:00 +0000)]
decl.c (gnat_to_gnu_entity): In ASIS mode, do a minimal translation for root types with discriminants.
* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ASIS mode, do a minimal translation for root types with discriminants.
* gcc-interface/trans.c (gnat_to_gnu) <N_Subunit>: Move around.
<N_Entry_Body, N_Protected_Body, N_Task_Body>: Likewise. In ASIS mode,
process the declarations attached to the body.
From-SVN: r230792
Eric Botcazou [Tue, 24 Nov 2015 08:52:54 +0000 (08:52 +0000)]
trans.c (gnat_to_gnu): In type_annotate_only mode, do not build a NULL_EXPR for an N_Expanded_Name.
* gcc-interface/trans.c (gnat_to_gnu): In type_annotate_only mode, do
not build a NULL_EXPR for an N_Expanded_Name.
From-SVN: r230791
Max Ostapenko [Tue, 24 Nov 2015 08:44:39 +0000 (10:44 +0200)]
Fix libsanitizer build with old kernel headers on ARM after r230739.
libsanitizer/
* include/system/linux/asm/ptrace.h: New header.
From-SVN: r230790
Eric Botcazou [Tue, 24 Nov 2015 08:42:37 +0000 (08:42 +0000)]
decl.c (is_cplusplus_method): Check that the type of the first parameter (indirectly) has C++ convention too.
* gcc-interface/decl.c (is_cplusplus_method): Check that the type of
the first parameter (indirectly) has C++ convention too.
From-SVN: r230788
Segher Boessenkool [Tue, 24 Nov 2015 06:43:20 +0000 (07:43 +0100)]
combine: Handle aborts in is_parallel_of_n_reg_sets (PR68381)
Some users of is_parallel_of_n_reg_sets disregard the clobbers in a
parallel after it has returned "yes, this is a parallel of N sets and
maybe some clobbers". But combine uses a clobber of const0_rtx to
indicate substitution failure, so this leads to disaster.
Fix this by checking for such special clobbers in is_parallel_of_n_reg_sets.
PR rtl-optimization/68381
* combine.c (is_parallel_of_n_reg_sets): Return false if the pattern
is poisoned.
From-SVN: r230786
Nick Clifton [Tue, 24 Nov 2015 05:11:15 +0000 (05:11 +0000)]
[PATCH] Fix invalid redundant extension elimination for rl78 port
* ree.c (add_removable_extension): Avoid mis-optimizing cases where
the source/dest of the target extension require a different number of
hard registers.
(combine_set_extension): Remove #if 0 code.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r230785
Jan Hubicka [Tue, 24 Nov 2015 03:58:47 +0000 (04:58 +0100)]
* gcc.c-torture/execute/lto-tbaa-1.c: New testcase.
From-SVN: r230784
GCC Administrator [Tue, 24 Nov 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r230783
David Edelsohn [Tue, 24 Nov 2015 00:12:21 +0000 (19:12 -0500)]
Fix missing ChangeLog entry for Graphite head files fix.
From-SVN: r230780
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