David Malcolm [Fri, 27 Jan 2017 14:25:59 +0000 (14:25 +0000)]
docs: Add __GIMPLE and __RTL to the "Internals" doc
gcc/ChangeLog:
* doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
"RTL Tests" to menu.
(GIMPLE Tests): New node.
(RTL Tests): New node.
From-SVN: r244977
Richard Biener [Fri, 27 Jan 2017 13:56:59 +0000 (13:56 +0000)]
re PR tree-optimization/79245 (Inefficient loop distribution to memcpy)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79245
* tree-loop-distribution.c (distribute_loop): Apply cost
modeling also to detected patterns.
* gcc.dg/tree-ssa/ldist-23.c: XFAIL.
* gcc.dg/tree-ssa/ldist-25.c: New testcase.
From-SVN: r244976
Jakub Jelinek [Fri, 27 Jan 2017 13:25:28 +0000 (14:25 +0100)]
re PR c/79199 (ICE with -Wduplicated-branches)
PR c/79199
* c-c++-common/Wduplicated-branches-13.c: Require int32plus effective
target. Use 4294967293U instead of
4294967293.
From-SVN: r244975
Richard Biener [Fri, 27 Jan 2017 12:30:43 +0000 (12:30 +0000)]
re PR tree-optimization/71433 (-Warray-bounds false positive with -O2)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/71433
* tree-vrp.c (register_new_assert_for): Revert earlier changes.
(compare_assert_loc): New function.
(process_assert_insertions): Sort and optimize assert locations
to remove duplicates and push down identical assertions on
edges to their destination block.
* gcc.dg/Warray-bounds-21.c: New testcase.
From-SVN: r244974
Richard Biener [Fri, 27 Jan 2017 12:24:54 +0000 (12:24 +0000)]
re PR tree-optimization/79244 (ice in replace_uses_by, at tree-cfg.c:1866)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79244
* tree-vrp.c (remove_range_assertions): Forcefully propagate
out SSA names even if abnormal.
* gcc.dg/torture/pr79244.c: New testcase.
From-SVN: r244973
Jakub Jelinek [Fri, 27 Jan 2017 11:34:58 +0000 (12:34 +0100)]
fib-opr-overload.cc (main): Change all occurrences of 40 to 32.
* g++.dg/cilk-plus/CK/fib-opr-overload.cc (main): Change
all occurrences of 40 to 32.
From-SVN: r244967
Jakub Jelinek [Fri, 27 Jan 2017 11:28:34 +0000 (12:28 +0100)]
realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
* realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
instead of MPFR_RNDN.
From-SVN: r244966
Richard Earnshaw [Fri, 27 Jan 2017 11:22:30 +0000 (11:22 +0000)]
[ARM] Fix PR target/79239 - unrecognized insn after pragma gcc pop_options
{committed for rearnsha}
It turns out that because the compiler uses a hash table to save the
cl_target_option structures it is unsafe to modify the result of
build_target_option_node() (doing so will cause the hash lookup to
fail). This PR was due to not properly understanding this limitation.
The fix is to create temporary copies of the cl_target_option nodes for
use during target option processing and then only creating the tree node
once the options have been suitably modified.
gcc:
PR target/79239
* arm.c (arm_option_override): Don't call build_target_option_node
until after doing all option overrides.
(arm_valid_target_attribute_tree): Likewise.
gcc/testsuite:
* gcc.target/arm/pr79239.c: New test.
From-SVN: r244965
Martin Liska [Fri, 27 Jan 2017 09:58:34 +0000 (10:58 +0100)]
Enhance doc for -fprofile-arcs
2017-01-27 Martin Liska <mliska@suse.cz>
* doc/invoke.texi (-fprofile-arcs): Document profiling support
for {cd}tors and C++ {cd}tors.
From-SVN: r244964
Dominik Vogt [Fri, 27 Jan 2017 08:07:26 +0000 (08:07 +0000)]
S/390: Fix matching setmem_long_and*.
The attached patch reactivates the setmem_long_and* patterns on S/390
that have not been generated for a while.
gcc/ChangeLog:
2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.md ("*setmem_long_and")
("*setmem_long_and_31z"): Use zero_extend instead of and.
gcc/testsuite/ChangeLog:
2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/md/setmem_long-1.c: Remove xfail, skip with -O0.
From-SVN: r244963
Adam Butcher [Fri, 27 Jan 2017 07:59:06 +0000 (07:59 +0000)]
re PR c++/64382 (ICE due to use of `this` inside a lambda that captures everything by ref inside a member function of a class template)
Fix PR c++/64382
PR c++/64382
* cp/parser.c (parsing_default_capturing_generic_lambda_in_template):
New function.
* cp/cp-tree.h: Declare it.
* cp/semantics.c (finish_id_expression): Resolve names within a default
capturing generic lambda defined within a template prior to
instantiation to allow for captures to be added to the closure type.
PR c++/64382
* g++.dg/cpp1y/pr64382.C: New test.
From-SVN: r244962
Martin Sebor [Fri, 27 Jan 2017 02:45:32 +0000 (02:45 +0000)]
gimple-ssa-sprintf.c (format_floating): Simplify the computation of precision to avoid preprocessor conditional.
gcc/ChangeLog:
* gimple-ssa-sprintf.c (format_floating): Simplify the computation
of precision to avoid preprocessor conditional.
From-SVN: r244961
GCC Administrator [Fri, 27 Jan 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r244960
Martin Sebor [Thu, 26 Jan 2017 23:37:17 +0000 (23:37 +0000)]
gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and HAVE_DFmode before using XFmode or DFmode.
gcc/ChangeLog:
* gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
HAVE_DFmode before using XFmode or DFmode.
(parse_directive): Avoid using the z length modifier to avoid
the ISO C++98 does not support the ‘z’ gnu_printf length modifier.
From-SVN: r244957
Martin Sebor [Thu, 26 Jan 2017 23:07:02 +0000 (23:07 +0000)]
PR middle-end/78703 - fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
gcc/ChangeLog:
PR middle-end/78703
* gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
to accept adjustment as an array.
(get_int_range): New function.
(struct directive): Make width and prec arrays.
(directive::set_width, directive::set_precision): Call get_int_range.
(format_integer, format_floating): Handle width and precision ranges.
(format_string, parse_directive): Same.
gcc/testsuite/ChangeLog:
PR middle-end/78703
* gcc.dg/tree-ssa/builtin-snprintf-warn-1.c: Update
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Rename...
* gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: ...to this.
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: New test.
From-SVN: r244956
Jakub Jelinek [Thu, 26 Jan 2017 21:45:57 +0000 (22:45 +0100)]
re PR c++/79129 (ICE with -fdebug-types-section starting with r240578)
PR debug/79129
* dwarf2out.c (generate_skeleton_bottom_up): For children with
comdat_type_p set, just clone them, but keep the children in the
original DIE.
* g++.dg/debug/dwarf2/pr79129.C: New test.
From-SVN: r244955
Jakub Jelinek [Thu, 26 Jan 2017 21:44:49 +0000 (22:44 +0100)]
re PR debug/78835 (ICE with -fdebug-types-section and member function)
PR debug/78835
* dwarf2out.c (prune_unused_types): Mark all functions with DIEs
which have direct callers with -fvar-tracking-assignments enabled
in the current TU.
(resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
inside of type units.
* g++.dg/debug/dwarf2/pr78835.C: New test.
From-SVN: r244954
Martin Sebor [Thu, 26 Jan 2017 21:14:18 +0000 (21:14 +0000)]
PR middle-end/78703 -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
gcc/ChangeLog:
PR middle-end/78703
* gimple-ssa-sprintf.c (struct result_range): Add likely and
unlikely counters.
(struct format_result): Replace number_chars, number_chars_min,
and number_chars_max with a single member of struct result_range.
Remove bounded.
(format_result::operator+=): Adjust.
(struct fmtresult): Remove bounded. Handle likely and unlikely
counters.
(fmtresult::adjust_for_width_or_precision): New function.
(fmtresult:type_max_digits): New function.
(bytes_remaining): Handle likely and unlikely counters.
(min_bytes_remaining): Remove.
(format_percent): Simplify.
(format_integer, format_floating): Set likely and unlikely counters.
(get_string_length, format_character, format_string): Same.
(format_plain, should_warn_p): New function.
(maybe_warn): Call should_warn_p. Update diagnostic messages
and handle those for all directives, including plain strings.
(format_directive): Handle likely and unlikely counters.
Remove unnecessary quoting from diagnostics. Add an informational
note.
(add_bytes): Remove.
(pass_sprintf_length::compute_format_length): Simplify.
(try_substitute_return_value): Handle likely and unlikely counters.
gcc/testsuite/ChangeLog:
PR middle-end/78703
* gcc.dg/format/pr78569.c: Adjust.
* gcc.dg/tree-ssa/builtin-snprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-5.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf.c: Same.
From-SVN: r244953
Jonathan Wakely [Thu, 26 Jan 2017 19:40:02 +0000 (19:40 +0000)]
PR libstdc++/70607 revert recent changes to <tr1/complex>
PR libstdc++/70607
* include/tr1/complex (conj): Remove using-declaration and restore
overloads, reverting previous change.
From-SVN: r244951
Jonathan Wakely [Thu, 26 Jan 2017 19:39:53 +0000 (19:39 +0000)]
Fix libstdc++ testsuite failures in C++98 and C++11 mode
* testsuite/23_containers/list/operations/78389.cc: Fix for C++11
mode.
* testsuite/23_containers/priority_queue/requirements/constructible.cc:
Mark as unsupported in C++98 mode.
* testsuite/23_containers/queue/requirements/constructible.cc:
Likewise.
* testsuite/23_containers/stack/requirements/constructible.cc:
Likewise.
* testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
From-SVN: r244950
Jakub Jelinek [Thu, 26 Jan 2017 19:39:40 +0000 (20:39 +0100)]
re PR c++/68727 (invalid offsetof expressions accepted)
PR c++/68727
* cp-tree.def (OFFSETOF_EXPR): Bump number of operands to 2.
* cp-tree.h (finish_offsetof): Add OBJECT_PTR argument.
* parser.c (cp_parser_builtin_offsetof): Pass result of
build_static_cast of null_pointer_node to finish_offsetof.
* semantics.c (finish_offsetof): Add OBJECT_PTR argument, use
it for -Winvalid-offsetof pedwarn instead of trying to guess
original offsetof type from EXPR. Save OBJECT_PTR as a new
second operand to OFFSETOF_EXPR.
* pt.c (tsubst_copy_and_build) <case OFFSETOF_EXPR>: Adjust
finish_offsetof caller, pass the second operand of OFFSETOF_EXPR
as OBJECT_PTR.
* g++.dg/other/offsetof8.C: Add expected error.
* g++.dg/other/offsetof9.C: New test.
From-SVN: r244949
Jakub Jelinek [Thu, 26 Jan 2017 19:37:08 +0000 (20:37 +0100)]
* testsuite/lib/libgomp.exp
(check_effective_target_hsa_offloading_selected_nocache): Fix up
check_compile invocation. Fix up removal of executable. Drop
bogus "2>&1" argument.
From-SVN: r244948
Ian Lance Taylor [Thu, 26 Jan 2017 19:07:54 +0000 (19:07 +0000)]
runtime: fix setting of isarchive
When I updated to Go 1.8, the initsig function moved from
signal1_unix.go to signal_unix.go, and lost a gccgo-specific change in
the move. Add it back.
This would have been caught by the misc/cgo/testcarchive tests in the
gc repository, but we don't run those in the gccgo repository. We
should fix that, somehow.
Reviewed-on: https://go-review.googlesource.com/35839
From-SVN: r244947
Ian Lance Taylor [Thu, 26 Jan 2017 19:05:16 +0000 (19:05 +0000)]
runtime: fix context used by getTraceback
I typoed the argument passed to getcontext in getTraceback, and the
error was hidden by ucontext_arg. This would have been caught by some
of the runtime package tests, but we don't run most of them because
they rely on `go build`, and the go tool is not available while
running the libgo testsuite. We should fix the libgo testsuite,
somehow, so that they run.
Reviewed-on: https://go-review.googlesource.com/35837
From-SVN: r244946
Jonathan Wakely [Thu, 26 Jan 2017 18:32:55 +0000 (18:32 +0000)]
Fix namespace versioning and remove __detail::__identity helpers
PR libstdc++/79243
* include/bits/c++config (literals::string_view_literals::__7): Add.
Only declare versioned namespaces for the relevant C++ dialects.
* include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
Add versioning macros.
* include/experimental/bits/lfts_config.h:
(fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
* include/experimental/string_view (fundamentals_v2::__detail):
Add versioning macros.
(fundamentals_v2::__detail::__identity): Remove.
(fundamentals_v2::__detail::__idt): Use common_type instead of
__detail::__identity.
* include/std/string_view (__detail::__identity, __detail::__idt):
Likewise.
(literals::string_view_literals): Fix nesting of versioning macros.
From-SVN: r244945
David Edelsohn [Thu, 26 Jan 2017 18:19:39 +0000 (18:19 +0000)]
* g++.dg/opt/declone3.C: Require LTO.
From-SVN: r244944
Carl Love [Thu, 26 Jan 2017 17:39:38 +0000 (17:39 +0000)]
rs6000-c (altivec_overloaded_builtins): Remove bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins
gcc/ChangeLog:
2017-01-26 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove
bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins
From-SVN: r244943
Vladimir Makarov [Thu, 26 Jan 2017 17:08:12 +0000 (17:08 +0000)]
re PR target/79131 (ICE: in extract_constrain_insn, at recog.c:2213, big-endian ARM)
2017-01-26 Vladimir Makarov <vmakarov@redhat.com>
PR target/79131
* lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take
endianess for subregs into account.
* lra-constraints.c (lra_constraints): Do risky transformations
always on the first iteration.
* lra-lives.c (check_pseudos_live_through_calls): Add arg
last_call_used_reg_set.
(process_bb_lives): Define and use last_call_used_reg_set.
* lra.c (lra): Always continue after lra_constraints on the first
iteration.
2017-01-26 Vladimir Makarov <vmakarov@redhat.com>
PR target/79131
* gcc.target/arm/pr79131.c: New.
From-SVN: r244942
Kirill Yukhin [Thu, 26 Jan 2017 16:56:12 +0000 (16:56 +0000)]
AVX-512. Fix constants for 32b variant.
gcc/testsuite/
* gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long
constant.
* gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
From-SVN: r244941
Uros Bizjak [Thu, 26 Jan 2017 16:50:50 +0000 (17:50 +0100)]
ChangeLog: Fix relative path in my entry.
From-SVN: r244940
Uros Bizjak [Thu, 26 Jan 2017 16:47:15 +0000 (17:47 +0100)]
ChangeLog: Move my last entry ...
* ChangeLog: Move my last entry ...
* config/ChangeLog: ... here.
From-SVN: r244938
Jason Merrill [Thu, 26 Jan 2017 15:32:22 +0000 (10:32 -0500)]
* name-lookup.c (parse_using_directive): Deprecate strong using.
From-SVN: r244936
Jason Merrill [Thu, 26 Jan 2017 15:30:43 +0000 (10:30 -0500)]
PR c++/79176 - lambda ICE with -flto -Os
* decl2.c (vague_linkage_p): Handle decloned 'tors.
* tree.c (decl_linkage): Likewise.
From-SVN: r244935
Bin Cheng [Thu, 26 Jan 2017 15:04:27 +0000 (15:04 +0000)]
ldp_vec_64_1.c: Xfail.
gcc/testsuite
* gcc.target/aarch64/ldp_vec_64_1.c: Xfail.
From-SVN: r244934
Jonathan Wakely [Thu, 26 Jan 2017 14:30:45 +0000 (14:30 +0000)]
PR libstdc++/79190 add fallback aligned_alloc implementation
libstdc++-v3:
PR libstdc++/79190
* libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
[!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
&& !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
Retrieve original pointer value allocated by malloc.
* libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
&& !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
&& !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
Define, adjusting pointer value allocated by malloc and storing for
retrieval by operator delete.
gcc/testsuite:
PR libstdc++/79190
* g++.dg/cpp1z/aligned-new3.C: Replace operator new so behaviour
matches replaced operator delete.
From-SVN: r244933
Jakub Jelinek [Thu, 26 Jan 2017 12:24:58 +0000 (13:24 +0100)]
avx512fintrin.h (_ktest_mask16_u8, [...]): Move to ...
* config/i386/avx512fintrin.h (_ktest_mask16_u8,
_ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ...
* config/i386/avx512dqintrin.h (_ktest_mask16_u8,
_ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here.
* config/i386/i386-builtin.def (__builtin_ia32_ktestchi,
__builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use
OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F.
* config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator.
(kadd<mode>, ktest<mode>): Use it instead of SWI1248_AVX512BWDQ.
testsuite/
* gcc.target/i386/avx512f-kaddw-1.c: Renamed to ...
* gcc.target/i386/avx512dq-kaddw-1.c: ... this. New test. Replace
avx512f with avx512dq.
* gcc.target/i386/avx512f-ktestw-1.c: Renamed to ...
* gcc.target/i386/avx512dq-ktestw-1.c: ... this. New test. Replace
avx512f with avx512dq.
* gcc.target/i386/avx512f-ktestw-2.c: Renamed to ...
* gcc.target/i386/avx512dq-ktestw-2.c: ... this. New test. Replace
avx512f with avx512dq.
From-SVN: r244929
Marek Polacek [Thu, 26 Jan 2017 11:37:33 +0000 (11:37 +0000)]
re PR c/79199 (ICE with -Wduplicated-branches)
PR c/79199
* fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL
for the third operand.
* c-c++-common/Wduplicated-branches-13.c: New test.
From-SVN: r244928
Jakub Jelinek [Thu, 26 Jan 2017 11:20:51 +0000 (12:20 +0100)]
declare-simd-4.f90: Add cleanup-modules directive.
* testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
directive.
From-SVN: r244927
Jakub Jelinek [Thu, 26 Jan 2017 11:05:03 +0000 (12:05 +0100)]
re PR middle-end/79236 (Many libgomp tests fail if configured with --enable-offload-targets=nvptx-none but NVidia HW or libcuda.so.1 unavailable)
PR middle-end/79236
* omp-low.c (struct omp_context): Add simt_stmt field.
(scan_omp_for): Return omp_context *.
(scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD
context to the _simt_ SIMD stmt.
(lower_omp_for): For combined SIMD with sibling _simt_
SIMD, make sure to use the same decls in _looptemp_
clauses as in the sibling.
From-SVN: r244924
David Sherwood [Thu, 26 Jan 2017 10:41:35 +0000 (10:41 +0000)]
re PR middle-end/79212 (internal compiler error: in maybe_lookup_decl_in_outer_ctx, at omp-low.c:4134)
2017-01-26 David Sherwood <david.sherwood@arm.com>
gcc/
PR middle-end/79212
* gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in
all contexts.
gcc/testsuite/
PR middle-end/79212
* gfortran.dg/gomp/sharing-4.f90: New test.
From-SVN: r244922
Jakub Jelinek [Thu, 26 Jan 2017 08:46:36 +0000 (09:46 +0100)]
re PR target/70465 (Poor code for x87 asm)
PR target/70465
* reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1);
emit fld b; fld a; if possible.
* gcc.target/i386/pr70465.c: New test.
From-SVN: r244921
Jakub Jelinek [Thu, 26 Jan 2017 08:26:48 +0000 (09:26 +0100)]
update-copyright.py: Add libhsail-rt to self.default_dirs and call self.add_dir on it.
contrib/
* update-copyright.py: Add libhsail-rt to self.default_dirs
and call self.add_dir on it. Add Intel Corporation to external
authors.
gcc/
* brig-builtins.def: Update copyright years.
* config/arm/arm_acle_builtins.def: Update copyright years.
gcc/brig/
Update copyright years.
gcc/testsuite/
* brig.dg/dg.exp: Update copyright years.
* lib/brig-dg.exp: Update copyright years.
* lib/brig.exp: Update copyright years.
libhsail-rt/
Update copyright years.
libstdc++-v3/
* libsupc++/eh_atomics.h: Update copyright years.
* testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
From-SVN: r244920
Jakub Jelinek [Thu, 26 Jan 2017 08:24:22 +0000 (09:24 +0100)]
update-copyright.py: Add libhsail-rt to self.default_dirs and call self.add_dir on it.
contrib/
* update-copyright.py: Add libhsail-rt to self.default_dirs
and call self.add_dir on it. Add Intel Corporation to external
authors.
gcc/
* brig-builtins.def: Update copyright years.
* config/arm/arm_acle_builtins.def: Update copyright years.
gcc/brig/
Update copyright years.
gcc/testsuite/
* brig.dg/dg.exp: Update copyright years.
* lib/brig-dg.exp: Update copyright years.
* lib/brig.exp: Update copyright years.
libhsail-rt/
Update copyright years.
libstdc++-v3/
* libsupc++/eh_atomics.h: Update copyright years.
* testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
From-SVN: r244919
Michael Meissner [Thu, 26 Jan 2017 04:16:11 +0000 (04:16 +0000)]
re PR target/79179 (PowerPC64: -mcpu=power9 creates stxsd with bad offset)
[gcc]
2017-01-25 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79179
* config/rs6000/vsx.md (vsx_extract_<mode>_store): Use wY
constraint instead of o for the stxsd instruction.
[gcc/testsuite]
2017-01-25 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79179
* gcc.target/powerpc/pr79179.c: New test.
From-SVN: r244917
Bill Schmidt [Thu, 26 Jan 2017 03:21:49 +0000 (03:21 +0000)]
vsx-elemrev-4.c: Change expected code generation to accept D-mode memory accesses.
2017-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vsx-elemrev-4.c: Change expected code
generation to accept D-mode memory accesses.
From-SVN: r244916
GCC Administrator [Thu, 26 Jan 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r244915
Martin Sebor [Thu, 26 Jan 2017 00:02:25 +0000 (00:02 +0000)]
decl.c (grokdeclarator): Fix a typo in a comment.
gcc/cp/ChangeLog:
* decl.c (grokdeclarator): Fix a typo in a comment.
This line, and those below, will be ignored--
M ChangeLog
M decl.c
From-SVN: r244912
Martin Sebor [Wed, 25 Jan 2017 23:19:01 +0000 (16:19 -0700)]
ChangeLog only update missed in r244910.
From-SVN: r244911
Martin Sebor [Wed, 25 Jan 2017 23:11:53 +0000 (23:11 +0000)]
PR c++/71290 - Flexible array member is not diagnosed with -pedantic
gcc/cp/ChangeLog:
PR c++/71290
* decl.c (grokdeclarator): Warn on flexible array members.
gcc/testsuite/ChangeLog:
PR c++/71290
* g++.dg/ext/flexarray-mangle-2.C: Adjust.
* g++.dg/ext/flexarray-mangle.C: Same.
* g++.dg/ext/flexarray-subst.C: Same.
* g++.dg/ext/flexary10.C: Same.
* g++.dg/ext/flexary11.C: Same.
* g++.dg/ext/flexary14.C: Same.
* g++.dg/ext/flexary16.C: Same.
* g++.dg/ext/flexary18.C: Same.
* g++.dg/ext/flexary19.C: Same.
* g++.dg/ext/flexary7.C: Same.
* gcc/testsuite/g++.dg/cpp1z/has-unique-obj-representations1.C: Same.
* gcc/testsuite/g++.dg/ubsan/object-size-1.C: Same.
* gcc/testsuite/obj-c++.dg/property/at-property-23.mm: Same.
From-SVN: r244910
Jakub Jelinek [Wed, 25 Jan 2017 22:36:18 +0000 (23:36 +0100)]
re PR c++/78896 ([C++17] Segmentation fault occurs when use variable initialized using structured binding with capture-by-ref lambda)
PR c++/78896
* decl.c (cp_finish_decomp): Disallow memberwise decomposition of
lambda expressions.
* g++.dg/cpp1z/decomp24.C: New test.
From-SVN: r244909
Jakub Jelinek [Wed, 25 Jan 2017 20:51:10 +0000 (21:51 +0100)]
re PR c++/77914 (Wrong lambda definition accepted)
PR c++/77914
* parser.c (cp_parser_lambda_declarator_opt): Pedwarn with
OPT_Wpedantic on lambda templates for -std=c++14 and higher.
* g++.dg/cpp1y/lambda-generic-77914.C: New test.
* g++.dg/cpp1y/lambda-generic-dep.C: Add -pedantic to dg-options,
expect a warning.
* g++.dg/cpp1y/lambda-generic-x.C: Add -Wpedantic to dg-options,
expect warnings.
* g++.dg/cpp1y/lambda-generic-mixed.C: Add empty dg-options.
* g++.dg/cpp1y/pr59636.C: Likewise.
* g++.dg/cpp1y/pr60190.C: Likewise.
From-SVN: r244907
Bin Cheng [Wed, 25 Jan 2017 17:07:30 +0000 (17:07 +0000)]
vect-24.c: Remove xfail on ARM targets.
gcc/testsuite
* gcc.dg/vect/vect-24.c: Remove xfail on ARM targets.
From-SVN: r244905
Carl Love [Wed, 25 Jan 2017 16:23:48 +0000 (16:23 +0000)]
rs6000-c (altivec_overloaded_builtins): Fix order of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD.
gcc/ChangeLog:
2017-01-25 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD.
gcc/testsuite/ChangeLog:
2017-01-25 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-3-p8.c: Add missing tests for the
vec_packs built-ins
From-SVN: r244904
Christophe Lyon [Wed, 25 Jan 2017 15:41:55 +0000 (15:41 +0000)]
[ARM][testsuite] Force -mcpu=cortex-a57 for vsel* tests.
2017-01-25 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/vseleqdf.c: Require arm_arch_v8a_ok, add
-mcpu=cortex-a57.
* gcc.target/arm/vseleqsf.c: Likewise.
* gcc.target/arm/vselgedf.c: Likewise.
* gcc.target/arm/vselgesf.c: Likewise.
* gcc.target/arm/vselgtdf.c: Likewise.
* gcc.target/arm/vselgtsf.c: Likewise.
* gcc.target/arm/vselledf.c: Likewise.
* gcc.target/arm/vsellesf.c: Likewise.
* gcc.target/arm/vselltdf.c: Likewise.
* gcc.target/arm/vselltsf.c: Likewise.
* gcc.target/arm/vselnedf.c: Likewise.
* gcc.target/arm/vselnesf.c: Likewise.
* gcc.target/arm/vselvcdf.c: Likewise.
* gcc.target/arm/vselvcsf.c: Likewise.
* gcc.target/arm/vselvsdf.c: Likewise.
* gcc.target/arm/vselvssf.c: Likewise.
From-SVN: r244903
Thomas Schwinge [Wed, 25 Jan 2017 15:38:01 +0000 (16:38 +0100)]
libhsail-rt: Fix some Autotools issues
contrib/
* gcc_update (files_and_dependencies): Care for "libhsail-rt".
libhsail-rt/
* configure.ac: Don't instantiate AC_CONFIG_MACRO_DIR.
* configure: Regenerate.
libhsail-rt/
* config.h.in: Remove stale file.
From-SVN: r244902
Jonathan Wakely [Wed, 25 Jan 2017 15:01:10 +0000 (15:01 +0000)]
Fix "classe" typo in C++ Dialect Options docs
* doc/invoke.texi (C++ Dialect Options): Fix typo.
From-SVN: r244901
Jonathan Wakely [Wed, 25 Jan 2017 15:01:05 +0000 (15:01 +0000)]
PR libstdc++/70607 make proj(T) and conj(T) return complex<T>
PR libstdc++/61791
PR libstdc++/70607
* include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
(proj(T), conj(T)): Change return types per DR 1522.
* include/tr1/complex (conj): Remove overloads and use std::conj.
* testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
* testsuite/26_numerics/complex/dr781.cc: ... this, and update.
* testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
real(T) and imag(T). Allow testing for C++11 too.
From-SVN: r244900
Richard Biener [Wed, 25 Jan 2017 13:14:41 +0000 (13:14 +0000)]
re PR testsuite/72850 (FAIL: gcc.dg/tree-ssa/pr69270-3.c scan-tree-dump-times uncprop1 ", 1" 4)
2017-01-25 Richard Biener <rguenther@suse.de>
PR testsuite/72850
* gcc.dg/tree-ssa/pr69270-3.c: Change back expected outcome
to what we had before adding the threading passes.
From-SVN: r244898
Richard Biener [Wed, 25 Jan 2017 12:30:41 +0000 (12:30 +0000)]
re PR target/69264 (ICE building spidermonkey -mcpu=970 -maltivec -O3: rs6000_builtin_vectorization_cost, at config/rs6000/rs6000.c:4350)
2017-01-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/69264
* target.def (vector_alignment_reachable): Improve documentation.
* doc/tm.texi: Regenerate.
* targhooks.c (default_builtin_vector_alignment_reachable): Simplify
and add a comment.
* tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert
earlier changes with respect to TYPE_USER_ALIGN.
(vector_alignment_reachable_p): Likewise. Improve dumping.
* g++.dg/torture/pr69264.C: New testcase.
From-SVN: r244897
Jakub Jelinek [Wed, 25 Jan 2017 11:57:53 +0000 (12:57 +0100)]
Add svn:executable property.
From-SVN: r244896
Jakub Jelinek [Wed, 25 Jan 2017 11:54:36 +0000 (12:54 +0100)]
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
PR other/79046
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
(ACLOCAL_AMFLAGS): Set to -I .. -I ../config .
* aclocal.m4: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
From-SVN: r244895
Kyrylo Tkachov [Wed, 25 Jan 2017 11:10:30 +0000 (11:10 +0000)]
[ARM] PR target/79145 Fix xordi3 expander for immediate operands in iWMMXt
PR target/79145
* config/arm/arm.md (xordi3): Force constant operand into a register
for TARGET_IWMMXT.
* gcc.target/arm/pr79145.c: New test.
From-SVN: r244894
Kyrylo Tkachov [Wed, 25 Jan 2017 10:13:53 +0000 (10:13 +0000)]
[doc] Correct optimisation levels documentation for -fstore-merging
* doc/invoke.texi (-fstore-merging): Correct default optimization
levels at which it is enabled.
(-O): Move -fstore-merging from list to...
(-O2): ... Here.
From-SVN: r244893
Richard Biener [Wed, 25 Jan 2017 09:48:10 +0000 (09:48 +0000)]
re PR debug/78363 (ICE in in force_type_die, at dwarf2out.c:24864)
2017-01-25 Richard Biener <rguenther@suse.de>
PR debug/78363
* omp-expand.c: Include debug.h.
(expand_omp_taskreg): Make sure to generate early debug before
outlining anything from a function.
(expand_omp_target): Likewise.
(grid_expand_target_grid_body): Likewise.
* g++.dg/gomp/pr78363-1.C: New testcase.
* g++.dg/gomp/pr78363-2.C: Likewise.
* g++.dg/gomp/pr78363-3.C: Likewise.
From-SVN: r244892
Kyrylo Tkachov [Wed, 25 Jan 2017 09:24:49 +0000 (09:24 +0000)]
[testsuite] Require shared effective target for some lto.exp tests
* gcc.dg/lto/pr54709_0.c: Require 'shared' effective target.
* gcc.dg/lto/pr61526_0.c: Likewise.
* gcc.dg/lto/pr64415_0.c: Likewise.
From-SVN: r244891
Maxim Ostapenko [Wed, 25 Jan 2017 07:45:40 +0000 (07:45 +0000)]
re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initialization-order-fiasco")
PR lto/79061
gcc/
* asan.c (get_translation_unit_decl): New function.
(asan_add_global): Extract modules file name from globals
TRANSLATION_UNIT_DECL name.
gcc/fortran/
* f95-lang.c (gfc_create_decls): Include stringpool.h.
Pass main_input_filename to build_translation_unit_decl.
gcc/ada/
* gcc-interface/utils.c (get_global_context): Pass main_input_filename
to build_translation_unit_decl.
gcc/c/
* c-decl.c (pop_scope): Pass main_input_filename to
build_translation_unit_decl.
gcc/cp/
* decl.c (cxx_init_decl_processing): Pass main_input_filename
to build_translation_unit_decl.
From-SVN: r244890
Ian Lance Taylor [Wed, 25 Jan 2017 05:12:26 +0000 (05:12 +0000)]
compiler: improvements for type alias handling
Give an error for an attempt to define a method on an imported type.
Give an error for each attempt to define a method on a builtin type.
Adjust error messages to be closer to gc error messages.
With these changes gccgo passes current tests on dev.typealias branch.
This changes the errors printed for test/fixedbugs/issue5089.go, but
the change is an improvement:
Before:
fixedbugs/issue5089.go:13:1: error: redefinition of ‘bufio.Buffered’: receiver name changed
func (b *bufio.Reader) Buffered() int { // ERROR "non-local|redefinition"
^
fixedbugs/issue5089.go:11:13: note: previous definition of ‘bufio.Buffered’ was here
import "bufio" // GCCGO_ERROR "previous"
^
Now:
fixedbugs/issue5089.go:13:7: error: may not define methods on non-local type
func (b *bufio.Reader) Buffered() int { // ERROR "non-local|redefinition"
^
Reviewed-on: https://go-review.googlesource.com/35642
From-SVN: r244889
GCC Administrator [Wed, 25 Jan 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r244888
Jakub Jelinek [Tue, 24 Jan 2017 22:33:41 +0000 (23:33 +0100)]
re PR c++/79205 (ICE in create_tmp_var, at gimple-expr.c:473)
PR c++/79205
* cp-gimplify.c (cp_genericize_r): Add result of
convert_from_reference on invisiref parm to p_set.
* g++.dg/cpp1z/decomp22.C: New test.
* g++.dg/cpp1z/decomp23.C: New test.
From-SVN: r244885
Jakub Jelinek [Tue, 24 Jan 2017 22:32:30 +0000 (23:32 +0100)]
op-common.h (_FP_MUL, [...]): Add /* FALLTHRU */ comments.
* soft-fp/op-common.h (_FP_MUL, _FP_FMA, _FP_DIV): Add
/* FALLTHRU */ comments.
From-SVN: r244884
Nathan Sidwell [Tue, 24 Jan 2017 19:29:44 +0000 (19:29 +0000)]
PR c++/78469 - defaulted ctor and inaccessible dtor
PR c++/78469 - defaulted ctor and inaccessible dtor
* cp-tree.h (tsubst_flags): Add tf_no_cleanup.
* init.c (build_new_1): Pass tf_no_cleanup to build_value_init.
* tree.c (build_target_expr): Check tf_no_cleanup.
PR c++/78469
* g++.dg/cpp0x/pr78469.C: New.
From-SVN: r244882
Nathan Sidwell [Tue, 24 Jan 2017 19:25:32 +0000 (19:25 +0000)]
PR c++/79118 - anon-members and constexpr
PR c++/79118 - anon-members and constexpr
* constexpr.c (cx_check_missing_mem_inits): Caller passes type not
ctor decl. Recursively check anonymous members.
(register_constexpr_fundef): Adjust cx_check_missing_mem_inits
call.
(explain_invalid_constexpr_fn): Likewise.
PR c++/79118
* g++.dg/cpp0x/pr79118.C: New.
From-SVN: r244881
Eric Botcazou [Tue, 24 Jan 2017 17:15:02 +0000 (17:15 +0000)]
re PR target/77439 (wrong code for sibcall with longcall, APCS frame and VFP)
PR target/77439
* config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
for long calls with APCS frame and VFP.
From-SVN: r244879
David Malcolm [Tue, 24 Jan 2017 17:07:36 +0000 (17:07 +0000)]
Add "__RTL" to cc1
gcc/c-family/ChangeLog:
* c-common.c (c_common_reswords): Add "__RTL".
* c-common.h (enum rid): Add RID_RTL.
gcc/c/ChangeLog:
* c-parser.c: Include "read-rtl-function.h" and
"run-rtl-passes.h".
(c_parser_declaration_or_fndef): Rename "gimple-pass-list" in
grammar to gimple-or-rtl-pass-list. Add rtl-function-definition
production. Update for renaming of field "gimple_pass" to
"gimple_or_rtl_pass". If __RTL was seen, call
c_parser_parse_rtl_body. Convert a timevar_push/pop pair
to an auto_timevar, to cope with early exit.
(c_parser_declspecs): Update RID_GIMPLE handling for renaming of
field "gimple_pass" to "gimple_or_rtl_pass", and for renaming of
c_parser_gimple_pass_list to c_parser_gimple_or_rtl_pass_list.
Handle RID_RTL.
(c_parser_parse_rtl_body): New function.
* c-tree.h (enum c_declspec_word): Add cdw_rtl.
(struct c_declspecs): Rename field "gimple_pass" to
"gimple_or_rtl_pass". Add field "rtl_p".
* gimple-parser.c (c_parser_gimple_pass_list): Rename to...
(c_parser_gimple_or_rtl_pass_list): ...this, updating accordingly.
* gimple-parser.h (c_parser_gimple_pass_list): Rename to...
(c_parser_gimple_or_rtl_pass_list): ...this.
gcc/ChangeLog:
* cfg.c (original_copy_tables_initialized_p): New function.
* cfg.h (original_copy_tables_initialized_p): New decl.
* cfgrtl.c (relink_block_chain): Guard the call to
free_original_copy_tables with a call to
original_copy_tables_initialized_p.
* cgraph.h (symtab_node::native_rtl_p): New decl.
* cgraphunit.c (symtab_node::native_rtl_p): New function.
(symtab_node::needed_p): Don't assert for early assembly output
for __RTL functions.
(cgraph_node::finalize_function): Set "force_output" for __RTL
functions.
(cgraph_node::analyze): Bail out early for __RTL functions.
(analyze_functions): Update assertion to support __RTL functions.
(cgraph_node::expand): Bail out early for __RTL functions.
* final.c (rest_of_clean_state): Don't call delete_tree_ssa for
__RTL functions.
* function.h (struct function): Update comment for field
"pass_startwith".
* gimple-expr.c: Include "tree-pass.h".
(gimple_has_body_p): Return false for __RTL functions.
* Makefile.in (OBJS): Add run-rtl-passes.o.
* pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New
accessor.
(gcc::pass_manager::get_clean_slate): New accessor.
* passes.c: Include "insn-addr.h".
(should_skip_pass_p): Add logging. Update logic for running
"expand" to be compatible with both __GIMPLE and __RTL. Guard
property-provider override so it is only done for gimple passes.
Don't skip dfinit.
(skip_pass): New function.
(execute_one_pass): Call skip_pass when skipping passes.
* read-md.c (md_reader::read_char): Support filtering
the input to a subset of line numbers.
(md_reader::md_reader): Initialize fields
m_first_line and m_last_line.
(md_reader::read_file_fragment): New function.
* read-md.h (md_reader::read_file_fragment): New decl.
(md_reader::m_first_line): New field.
(md_reader::m_last_line): New field.
* read-rtl-function.c (function_reader::create_function): Only
create cfun if it doesn't already exist. Set PROP_rtl on cfun's
curr_properties. Set DECL_INITIAL to a dummy block.
(read_rtl_function_body_from_file_range): New function.
* read-rtl-function.h (read_rtl_function_body_from_file_range):
New decl.
* run-rtl-passes.c: New file.
* run-rtl-passes.h: New file.
gcc/testsuite/ChangeLog:
* gcc.dg/rtl/aarch64/asr_div1.c: New test case.
* gcc.dg/rtl/aarch64/pr71779.c: New test case.
* gcc.dg/rtl/rtl.exp: New file.
* gcc.dg/rtl/test.c: New file.
* gcc.dg/rtl/truncated-rtl-file.c: New test case.
* gcc.dg/rtl/unknown-rtx-code.c: New test case.
* gcc.dg/rtl/x86_64/dfinit.c: New test case.
* gcc.dg/rtl/x86_64/different-structs.c: New test case.
* gcc.dg/rtl/x86_64/final.c: New test case.
* gcc.dg/rtl/x86_64/into-cfglayout.c: New test case.
* gcc.dg/rtl/x86_64/ira.c: New test case.
* gcc.dg/rtl/x86_64/pro_and_epilogue.c: New test case.
* gcc.dg/rtl/x86_64/test-multiple-fns.c: New test case.
* gcc.dg/rtl/x86_64/test-return-const.c.after-expand.c: New test case.
* gcc.dg/rtl/x86_64/test-return-const.c.before-fwprop.c: New test case.
* gcc.dg/rtl/x86_64/test-rtl.c: New test case.
* gcc.dg/rtl/x86_64/test_1.h: New file.
* gcc.dg/rtl/x86_64/times-two.c.after-expand.c: New test case.
* gcc.dg/rtl/x86_64/times-two.c.before-df.c: New test case.
* gcc.dg/rtl/x86_64/times-two.h: New file.
* gcc.dg/rtl/x86_64/vregs.c: New test case.
From-SVN: r244878
Jeff Law [Tue, 24 Jan 2017 15:49:32 +0000 (08:49 -0700)]
microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase buffer size.
* config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase
buffer size.
From-SVN: r244877
David Edelsohn [Tue, 24 Jan 2017 14:32:36 +0000 (09:32 -0500)]
Fix typo.
From-SVN: r244874
Bin Cheng [Tue, 24 Jan 2017 13:09:27 +0000 (13:09 +0000)]
re PR tree-optimization/79159 (spurious array-bounds warning)
PR tree-optimization/79159
* tree-ssa-loop-niter.c (get_cst_init_from_scev): New function.
(record_nonwrapping_iv): Imporve boundary using above function if no
value range information.
gcc/testsuite
PR tree-optimization/79159
* g++.dg/tree-ssa/pr79159.C: New test.
From-SVN: r244868
Pekka Jääskeläinen [Tue, 24 Jan 2017 12:45:56 +0000 (12:45 +0000)]
Brig front-end
2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
Martin Jambor <mjambor@suse.cz>
* Makefile.def (target_modules): Added libhsail-rt.
(languages): Added language brig.
* Makefile.in: Regenerated.
* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Added
tgarget-libhsail-rt. Make brig unsupported on untested architectures.
* configure: Regenerated.
gcc/
* brig-builtins.def: New file.
* builtins.def (DEF_HSAIL_BUILTIN): New macro.
(DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
(DEF_HSAIL_SAT_BUILTIN): Likewise.
(DEF_HSAIL_INTR_BUILTIN): Likewise.
(DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
* builtin-types.def (BT_INT8): New.
(BT_INT16): Likewise.
(BT_UINT8): Likewise.
(BT_UINT16): Likewise.
(BT_FN_ULONG): Likewise.
(BT_FN_UINT_INT): Likewise.
(BT_FN_UINT_ULONG): Likewise.
(BT_FN_UINT_LONG): Likewise.
(BT_FN_UINT_PTR): Likewise.
(BT_FN_ULONG_PTR): Likewise.
(BT_FN_INT8_FLOAT): Likewise.
(BT_FN_INT16_FLOAT): Likewise.
(BT_FN_UINT32_FLOAT): Likewise.
(BT_FN_UINT16_FLOAT): Likewise.
(BT_FN_UINT8_FLOAT): Likewise.
(BT_FN_UINT64_FLOAT): Likewise.
(BT_FN_UINT16_UINT32): Likewise.
(BT_FN_UINT32_UINT16): Likewise.
(BT_FN_UINT16_UINT16_UINT16): Likewise.
(BT_FN_INT_PTR_INT): Likewise.
(BT_FN_UINT_PTR_UINT): Likewise.
(BT_FN_LONG_PTR_LONG): Likewise.
(BT_FN_ULONG_PTR_ULONG): Likewise.
(BT_FN_VOID_UINT64_UINT64): Likewise.
(BT_FN_UINT8_UINT8_UINT8): Likewise.
(BT_FN_INT8_INT8_INT8): Likewise.
(BT_FN_INT16_INT16_INT16): Likewise.
(BT_FN_INT_INT_INT): Likewise.
(BT_FN_UINT_FLOAT_UINT): Likewise.
(BT_FN_FLOAT_UINT_UINT): Likewise.
(BT_FN_ULONG_UINT_UINT): Likewise.
(BT_FN_ULONG_UINT_PTR): Likewise.
(BT_FN_ULONG_ULONG_ULONG): Likewise.
(BT_FN_UINT_UINT_UINT): Likewise.
(BT_FN_VOID_UINT_PTR): Likewise.
(BT_FN_UINT_UINT_PTR: Likewise.
(BT_FN_UINT32_UINT64_PTR): Likewise.
(BT_FN_INT_INT_UINT_UINT): Likewise.
(BT_FN_UINT_UINT_UINT_UINT): Likewise.
(BT_FN_UINT_UINT_UINT_PTR): Likewise.
(BT_FN_UINT_ULONG_ULONG_UINT): Likewise.
(BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise.
(BT_FN_LONG_LONG_UINT_UINT): Likewise.
(BT_FN_ULONG_ULONG_UINT_UINT): Likewise.
(BT_FN_VOID_UINT32_UINT64_PTR): Likewise.
(BT_FN_VOID_UINT32_UINT32_PTR): Likewise.
(BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise.
(BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise.
(BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise.
* doc/frontends.texi: List BRIG FE.
* doc/install.texi (Testing): Add BRIG tesring requirements.
* doc/invoke.texi (Overall Options): Mention BRIG.
* doc/standards.texi (Standards): Doucment BRIG HSA version.
gcc/brig/
* Make-lang.in: New file.
* brig-builtins.h: Likewise.
* brig-c.h: Likewise.
* brig-lang.c: Likewise.
* brigspec.c: Likewise.
* config-lang.in: Likewise.
* lang-specs.h: Likewise.
* lang.opt: Likewise.
* brigfrontend/brig-arg-block-handler.cc: Likewise.
* brigfrontend/brig-atomic-inst-handler.cc: Likewise.
* brigfrontend/brig-basic-inst-handler.cc: Likewise.
* brigfrontend/brig-branch-inst-handler.cc: Likewise.
* brigfrontend/brig-cmp-inst-handler.cc: Likewise.
* brigfrontend/brig-code-entry-handler.cc: Likewise.
* brigfrontend/brig-code-entry-handler.h: Likewise.
* brigfrontend/brig-comment-handler.cc: Likewise.
* brigfrontend/brig-control-handler.cc: Likewise.
* brigfrontend/brig-copy-move-inst-handler.cc: Likewise.
* brigfrontend/brig-cvt-inst-handler.cc: Likewise.
* brigfrontend/brig-fbarrier-handler.cc: Likewise.
* brigfrontend/brig-function-handler.cc: Likewise.
* brigfrontend/brig-function.cc: Likewise.
* brigfrontend/brig-function.h: Likewise.
* brigfrontend/brig-inst-mod-handler.cc: Likewise.
* brigfrontend/brig-label-handler.cc: Likewise.
* brigfrontend/brig-lane-inst-handler.cc: Likewise.
* brigfrontend/brig-machine.c: Likewise.
* brigfrontend/brig-machine.h: Likewise.
* brigfrontend/brig-mem-inst-handler.cc: Likewise.
* brigfrontend/brig-module-handler.cc: Likewise.
* brigfrontend/brig-queue-inst-handler.cc: Likewise.
* brigfrontend/brig-seg-inst-handler.cc: Likewise.
* brigfrontend/brig-signal-inst-handler.cc: Likewise.
* brigfrontend/brig-to-generic.cc: Likewise.
* brigfrontend/brig-to-generic.h: Likewise.
* brigfrontend/brig-util.cc: Likewise.
* brigfrontend/brig-util.h: Likewise.
* brigfrontend/brig-variable-handler.cc: Likewise.
* brigfrontend/phsa.h: Likewise.
gcc/testsuite/
* lib/brig-dg.exp: New file.
* lib/brig.exp: Likewise.
* brig.dg/README: Likewise.
* brig.dg/dg.exp: Likewise.
* brig.dg/test/gimple/alloca.hsail: Likewise.
* brig.dg/test/gimple/atomics.hsail: Likewise.
* brig.dg/test/gimple/branches.hsail: Likewise.
* brig.dg/test/gimple/fbarrier.hsail: Likewise.
* brig.dg/test/gimple/function_calls.hsail: Likewise.
* brig.dg/test/gimple/kernarg.hsail: Likewise.
* brig.dg/test/gimple/mem.hsail: Likewise.
* brig.dg/test/gimple/mulhi.hsail: Likewise.
* brig.dg/test/gimple/packed.hsail: Likewise.
* brig.dg/test/gimple/smoke_test.hsail: Likewise.
* brig.dg/test/gimple/variables.hsail: Likewise.
* brig.dg/test/gimple/vector.hsail: Likewise.
include/
* hsa.h: Moved here from libgomp/plugin/hsa.h.
libgomp/
* plugin/hsa.h: Moved to top level include.
* plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
libhsail-rt/
* Makefile.am: New file.
* target-config.h.in: Likewise.
* configure.ac: Likewise.
* configure: Likewise.
* config.h.in: Likewise.
* aclocal.m4: Likewise.
* README: Likewise.
* Makefile.in: Likewise.
* include/internal/fibers.h: Likewise.
* include/internal/phsa-queue-interface.h: Likewise.
* include/internal/phsa-rt.h: Likewise.
* include/internal/workitems.h: Likewise.
* rt/arithmetic.c: Likewise.
* rt/atomics.c: Likewise.
* rt/bitstring.c: Likewise.
* rt/fbarrier.c: Likewise.
* rt/fibers.c: Likewise.
* rt/fp16.c: Likewise.
* rt/misc.c: Likewise.
* rt/multimedia.c: Likewise.
* rt/queue.c: Likewise.
* rt/sat_arithmetic.c: Likewise.
* rt/segment.c: Likewise.
* rt/workitems.c: Likewise.
Co-Authored-By: Martin Jambor <mjambor@suse.cz>
From-SVN: r244867
Richard Biener [Tue, 24 Jan 2017 12:41:07 +0000 (12:41 +0000)]
re PR translation/79208 (Typo in gcc/ipa-devirt.c:1631)
2017-01-24 Richard Biener <rguenther@suse.de>
PR translation/79208
* ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic.
From-SVN: r244866
Jonathan Wakely [Tue, 24 Jan 2017 12:00:47 +0000 (12:00 +0000)]
PR libstdc++/79206 check string_view sizes in operator==
PR libstdc++/79206
* include/experimental/string_view (operator==): Check sizes first.
* include/std/string_view (operator==): Likewise.
From-SVN: r244865
Martin Jambor [Tue, 24 Jan 2017 10:04:21 +0000 (11:04 +0100)]
[PR 79198] Call ipa-prop func summary destructor
2017-01-24 Martin Jambor <mjambor@suse.cz>
PR bootstrap/79198
* ipa-prop.c (ipa_free_all_node_params): Call summary destructor.
* ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts
and known_contexts.
From-SVN: r244860
Aldy Hernandez [Tue, 24 Jan 2017 09:50:33 +0000 (09:50 +0000)]
re PR middle-end/79123 (incorrect -Walloca-larger-than: alloca may be too large due to conversion from long int to long unsigned int)
PR middle-end/79123
* gimple-ssa-warn-alloca.c (alloca_call_type): Make sure
casts from signed to unsigned really don't have a range.
From-SVN: r244859
Markus Trippelsdorf [Tue, 24 Jan 2017 09:32:16 +0000 (09:32 +0000)]
Fix build failure with MPFR 2.4.x
* gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
GMP_RNDx for compatiblity.
From-SVN: r244858
Martin Liska [Tue, 24 Jan 2017 08:48:36 +0000 (09:48 +0100)]
Fix false positive for -Walloc-size-larger-than (PR bootstrap/79132).
2017-01-24 Martin Liska <mliska@suse.cz>
PR bootstrap/79132
* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert
that would prevent us to call alloca with -1 as argument.
From-SVN: r244857
Jakub Jelinek [Tue, 24 Jan 2017 08:27:39 +0000 (09:27 +0100)]
asan_test.C: Enable on all *-*-linux* targets that support asan...
* g++.dg/asan/asan_test.C: Enable on all *-*-linux* targets that
support asan, only on i?86/x86_64 require sse2_runtime.
From-SVN: r244856
Jakub Jelinek [Tue, 24 Jan 2017 08:24:57 +0000 (09:24 +0100)]
dwarf2out.c (output_compilation_unit_header, [...]): Avoid -Wformat-security warning.
* dwarf2out.c (output_compilation_unit_header, output_file_names):
Avoid -Wformat-security warning.
From-SVN: r244855
Jakub Jelinek [Tue, 24 Jan 2017 08:19:37 +0000 (09:19 +0100)]
* configure.tgt: Enable tsan and lsan on powerpc64{,le}-*-linux*.
From-SVN: r244854
Andrew Pinski [Tue, 24 Jan 2017 02:17:33 +0000 (02:17 +0000)]
aarch64.c (thunderx2t99_addrcost_table): Improve cost table.
2017-01-23 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve
cost table.
From-SVN: r244851
Kelvin Nilsen [Tue, 24 Jan 2017 01:26:13 +0000 (01:26 +0000)]
re PR rtl-optimization/66669 (FAIL: gcc.dg/loop-8.c)
gcc/testsuite/ChangeLog:
2017-01-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/66669
* gcc.dg/loop-8.c: Modify dg-skip-if directive to exclude this
test on powerpc targets.
From-SVN: r244850
Martin Sebor [Tue, 24 Jan 2017 01:22:59 +0000 (18:22 -0700)]
Amend recent entry.
From-SVN: r244849
Martin Sebor [Tue, 24 Jan 2017 01:12:41 +0000 (01:12 +0000)]
builtin-sprintf.c: Add test cases.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases.
From-SVN: r244848
Martin Sebor [Tue, 24 Jan 2017 01:10:10 +0000 (01:10 +0000)]
PR middle-end/78703 - -fprintf-return-value floating point handling incorrect...
PR middle-end/78703 - -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
* gimple-ssa-sprintf.c (warn_level): New global.
(format_integer): Use it here and throughout the rest of the file.
Use the same switch to compute sign as base.
(maybe_warn): New function.
(format_directive): Factor out warnings into maybe_warn.
Add debugging output. Use warn_level.
(add_bytes): Use warn_level.
(pass_sprintf_length::compute_format_length): Add debugging output.
(try_substitute_return_value): Same.
(pass_sprintf_length::handle_gimple_call): Set and use warn_level.
From-SVN: r244847
Martin Sebor [Tue, 24 Jan 2017 01:06:34 +0000 (01:06 +0000)]
PR middle-end/78703 - -fprintf-return-value floating point handling incorrect...
PR middle-end/78703 - -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
* gimple-ssa-sprintf.c (struct format_result): Remove constant member.
(struct fmtresult, format_integer, format_floating): Adjust.
(get_string_length, format_string,format_directive): Same.
(pass_sprintf_length::compute_format_length): Same.
(try_substitute_return_value): Simplify slightly.
From-SVN: r244846
Martin Sebor [Tue, 24 Jan 2017 00:55:19 +0000 (00:55 +0000)]
PR middle-end/78703 - -fprintf-return-value floating point handling incorrect...
PR middle-end/78703 - -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
(fmtresult::operator+=): Outlined.
(struct fmtresult): Add ctors.
(struct conversion_spec): Rename...
(struct directive): ...to this. Add and remove data members.
(directive::set_width, directive::set_precision): New functions.
(format_percent): Use fmtresult ctor.
(get_width_and_precision): Remove.
(format_integer): Make naming changes. Avoid computing width and
precision.
(format_floating): Same. Adjust indentation.
(format_character, format_none): New functions.
(format_string): Moved character handling to format_character.
(format_directive): Remove arguments, change return type.
(parse_directive): New function.
(pass_sprintf_length::compute_format_length): Move directive
parsing to parse_directive.
From-SVN: r244845
Jakub Jelinek [Tue, 24 Jan 2017 00:18:36 +0000 (01:18 +0100)]
re PR sanitizer/79168 (libtsan fails to link when cross compiling GCC tip for Aarch64 target)
PR sanitizer/79168
* merge.sh (change_comment_headers): Don't remove 2nd and 3rd line
if the 3rd line doesn't contain 'The LLVM Compiler Infrastructure'
text.
* sanitizer_common/sanitizer_linux_mips64.S: Regenerated.
* sanitizer_common/sanitizer_linux_x86_64.S: Likewise.
* tsan/tsan_ppc_regs.h: Likewise.
* tsan/tsan_rtl_aarch64.S: Likewise.
* tsan/tsan_rtl_mips64.S: Likewise.
* tsan/tsan_rtl_ppc64.S: Likewise.
From-SVN: r244844
GCC Administrator [Tue, 24 Jan 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r244843
Jonathan Wakely [Mon, 23 Jan 2017 23:59:08 +0000 (23:59 +0000)]
Restore <functional> header to test
* testsuite/experimental/array/make_array.cc: Restore <functional>
inclusion.
From-SVN: r244840
Jakub Jelinek [Mon, 23 Jan 2017 22:58:12 +0000 (23:58 +0100)]
tree.h (assign_assembler_name_if_neeeded): Rename to ...
* tree.h (assign_assembler_name_if_neeeded): Rename to ...
(assign_assembler_name_if_needed): ... this.
* tree.c (assign_assembler_name_if_neeeded): Rename to ...
(assign_assembler_name_if_needed): ... this.
(free_lang_data_in_cgraph): Adjust callers.
* cgraphunit.c (cgraph_node::analyze): Likewise.
* omp-expand.c (expand_omp_taskreg, expand_omp_target):
Likewise.
From-SVN: r244839
Richard Biener [Mon, 23 Jan 2017 22:29:17 +0000 (22:29 +0000)]
re PR tree-optimization/79088 (wrong code at -O2 on x86_64-linux-gnu)
2017-01-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/79088
PR tree-optimization/79188
* tree-ssa-threadupdate.c (mark_threaded_blocks): Move code
resetting loop bounds after last path deletion. Reset loop
bounds of the target loop, make code match the comments.
* tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute):
Make sure loops need no fixups.
* gcc.dg/torture/pr79088.c: New testcase.
* gcc.dg/torture/pr79188.c: Likewise.
From-SVN: r244837
Joseph Myers [Mon, 23 Jan 2017 22:28:03 +0000 (22:28 +0000)]
* da.po: Update.
From-SVN: r244836