gcc/
PR target/51244
* config/sh/sh.c (sh_rtx_costs): Fix return value of SET of movt and
movrt patterns. Match them before anything else in the SET case.
From-SVN: r240533
PR gcov-profile/7970
PR gcov-profile/16855
PR gcov-profile/44779
* g++.dg/gcov/pr16855.C: New test.
* coverage.c (build_gcov_exit_decl): New function.
(coverage_obj_init): Call the function and generate __gcov_exit
destructor.
* doc/gcov.texi: Document when __gcov_exit function is called.
* libgcov-driver.c (__gcov_init): Do not register a atexit
handler.
(__gcov_exit): Rename from gcov_exit.
* libgcov.h (__gcov_exit): Declare.
From-SVN: r240529
The test has a bunch of hardcoded integer literals that would fit only in a
32 bits+ int, causing overflow warnings for a 16 bit int target like avr.
gcc/testsuite/ChangeLog
2016-09-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Require int32plus.
From-SVN: r240528
PR fortran/77666
* trans-openmp.c (gfc_omp_private_outer_ref): Return true even for
references to allocatable arrays.
* gfortran.dg/gomp/pr77666.f90: New test.
From-SVN: r240522
LRA likes to use CTR and LR to store CCmode values. Not such a good
idea. All other similar patterns disparage using CTR and LR; do so
here, too.
* config/rs6000/rs6000.md (movcc_internal1): Disparage using CTR or LR.
From-SVN: r240515
PR libstdc++/77727
* include/std/optional (optional(const optional<_Up>&)):
Default-initialize the base and use emplace.
(optional(optional<_Up>&&)): Likewise.
* testsuite/20_util/optional/cons/77727.cc: New.
From-SVN: r240511
2016-09-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* trans-common.c: Handle array elements in equivalence when
the lower and upper bounds of array spec are NULL.
2016-09-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* gfortran.dg/pr77420_1.f90: New test.
* gfortran.dg/pr77420_2.f90: Ditto.
* gfortran.dg/pr77420_3.f90: New test. Requires ...
* gfortran.dg/pr77420_4.f90: this file.
From-SVN: r240506
Fix PR77719
gcc/testsuite/ChangeLog:
2016-09-26 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/77719
* gfortran.dg/pr77719.f90: New test.
gcc/ChangeLog:
2016-09-26 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/77719
* tree-ssa-reassoc.c (make_new_ssa_for_def): Use gimple_get_lhs to get lhs
instead of gimple_assign_lhs as stmt can be builtins too.
From-SVN: r240505
2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust regex to accept
singular form of byte when quantity is unknown.
From-SVN: r240503
gcc/ChangeLog:
* read-rtl.c (read_rtx_code): Rename local "i" to "idx", and use
"c" instead when parsing characters. Move operand parsing into...
(read_rtx_operand): ...this new function, renaming "i" to "idx",
and tightening the scope of various locals.
From-SVN: r240502
* c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
* system.h: Use __has_attribute to check whether the fallthrough
attribute is supported.
* g++.dg/cpp1z/feat-cxx1z.C: Test attribute fallthrough.
From-SVN: r240499
2016-09-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/48298
* interface.c (gfc_find_specific_dtio_proc) : Return NULL if
the derived type is broken, as indicated by a flavor other than
FL_DERIVED.
From-SVN: r240493
* common.opt: Exclude SANITIZE_UNREACHABLE and SANITIZE_RETURN
from default sanitize recover values.
* doc/invoke.texi: Fix documentation related to -fsanitize=leak,
-fsanitize=address, -fsanitize=thread and -fsanitize-recover.
* flag-types.h: Replace couple of 1 << x to 1UL << x, make it
consistent.
* opts.c (finish_options): Do a generic loop over options
that can be recovered.
(parse_sanitizer_options): Exclude SANITIZE_UNREACHABLE and
SANITIZE_RETURN.
(common_handle_option): Likewise.
* opts.h: Declare can_recover to sanitizer_opts_s.
* c-c++-common/ubsan/sanitize-recover-1.c: New test.
* c-c++-common/ubsan/sanitize-recover-2.c: New test.
* c-c++-common/ubsan/sanitize-recover-3.c: New test.
* c-c++-common/ubsan/sanitize-recover-4.c: New test.
* c-c++-common/ubsan/sanitize-recover-5.c: New test.
* c-c++-common/ubsan/sanitize-recover-6.c: New test.
* c-c++-common/ubsan/sanitize-recover-7.c: New test.
* c-c++-common/ubsan/sanitize-recover-8.c: New test.
* c-c++-common/ubsan/sanitize-recover-9.c: New test.
From-SVN: r240491
2016-09-26 Richard Biener <rguenther@suse.de>
* dwarf2out.c (stripattributes): Remove unused function.
(DEBUG_NORM_MACINFO_SECTION): Rename to DEBUG_MACINFO_SECTION.
Push dwarf_split_debug_info handling into init_sections_and_labels.
(DEBUG_NORM_MACRO_SECTION): Likewise to DEBUG_MACRO_SECTION.
(DEBUG_MACRO_SECTION_FLAGS): Remove.
(debug_macinfo_section_name): New global.
(output_macinfo): Use debug_macinfo_section_name.
(init_sections_and_labels): Split out section and label generation
from dwarf2out_init. Set debug_macinfo_section_name.
(dwarf2out_init): Move text section label generation and emission
to ...
(dwarf2out_assembly_start): ... here.
(dwarf2out_finish): Call init_sections_and_labels before DWARF
output starts.
From-SVN: r240484
2016-09-26 Richard Biener <rguenther@suse.de>
PR debug/77692
* cgraphunit.c (analyze_functions): Before early removing
global vars calls the late_global_decl debug handler mark
the variable as readonly.
From-SVN: r240483
2016-09-25 François Dumont <fdumont@gcc.gnu.org>
* src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
functional.
(get_safe_base_mutex): Get mutex based on address lowest non nil bits.
* testsuite/23_containers/vector/debug/mutex_association.cc: New.
From-SVN: r240479
2016-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77429
* dependency.c (gfc_check_dependency): Convert gcc_assert() to
a conditional and possible call to gfc_internal_error().
2016-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77429
* gfortran.dg/pr77429.f90: New test.
From-SVN: r240477
2016-09-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77694
* frontend-passes.c (optimize_binop_array_assignment): Check pointer
for NULL.
2016-09-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77694
* gfortran.dg/pr77694.f90: New test.
From-SVN: r240476
The costs for movt and movrt type of insns were not correctly reported
and ifcvt thus made some bad choices for SH. A new cset_zero pattern
variant is also required to fix the matching for some recent changes
in the middle end.
gcc/
PR target/51244
* config/sh/sh.c (sh_movt_set_dest, sh_movrt_set_dest): Add overloads.
(sh_rtx_costs): Handle SET of movt and movrt patterns.
* cnofig/sh/sh-protos.h (sh_movt_set_dest, sh_movrt_set_dest): Forward
declare new overloads.
* config/sh/sh.md (*cset_zero): Add variant that takes a treg_set_expr
operand.
gcc/testsuite/
PR target/51244
* gcc.target/sh/pr51244-11.c: Add more detailed expected insn matching.
From-SVN: r240471