platform/upstream/gcc.git
7 years agore PR tree-optimization/78847 (pointer arithmetic from c++ ranged-based for loop...
Richard Biener [Fri, 21 Apr 2017 12:09:20 +0000 (12:09 +0000)]
re PR tree-optimization/78847 (pointer arithmetic from c++ ranged-based for loop not optimized)

2017-04-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/78847
* fold-const.c (split_tree): Handle POINTER_PLUS_EXPR.

* g++.dg/tree-ssa/pr78847.C: New testcase.

From-SVN: r247061

7 years ago* es.po, fr.po: Update.
Joseph Myers [Fri, 21 Apr 2017 10:37:43 +0000 (11:37 +0100)]
* es.po, fr.po: Update.

From-SVN: r247059

7 years agolibiberty: Limit demangler maximum d_print_comp recursion call depth.
Mark Wielaard [Fri, 21 Apr 2017 09:02:03 +0000 (09:02 +0000)]
libiberty: Limit demangler maximum d_print_comp recursion call depth.

The fix for PR demangler/70909 and 67264 (endless demangler recursion)
catches when a demangle_component is printed in a cycle. But that doesn't
protect the call stack blowing up from non-cyclic nested types printed
recursively through d_print_comp. This can happen by a (very) long mangled
string that simply creates a very deep pointer or qualifier chain. Limit
the recursive d_print_comp call depth for a d_print_info to 1K nested
types.

libiberty/ChangeLog:

        * cp-demangle.c (MAX_RECURSION_COUNT): New constant.
        (struct d_print_info): Add recursion field.
        (d_print_init): Initialize recursion.
        (d_print_comp): Check and update d_print_info recursion depth.

From-SVN: r247056

7 years agolibiberty: Always return NULL if d_add_substitution fails.
Mark Wielaard [Fri, 21 Apr 2017 09:01:56 +0000 (09:01 +0000)]
libiberty: Always return NULL if d_add_substitution fails.

d_add_substitution can fail for various reasons, like when the subs array
is full. If d_add_substitution fails d_substitution should return NULL
early and not try to continue. Every other call of d_add_substitution
is handled in the same way.

libiberty/ChangeLog:

* cp-demangle.c (d_substitution): Return NULL if d_add_substitution
fails.

From-SVN: r247055

7 years agolibiberty: Don't update and remove did_subs field from demangler structs.
Mark Wielaard [Fri, 21 Apr 2017 09:01:44 +0000 (09:01 +0000)]
libiberty: Don't update and remove did_subs field from demangler structs.

The d_info field did_subs was used for estimating the string output
size. It was no longer used when the malloc-less callback interface
was introduced in 2007 (svn r121305). But the field was still updated.
When backtracking was introduced in 2013 (svn r205292) did_subs was
also added to the d_info_checkpoint struct. But except for updating
the field it was still not used.

Since it is never used just stop updating the field and remove it
from the two structs.

libiberty/ChangeLog:

* cp-demangle.h (struct d_info): Remove did_subs field.
* cp-demangle.c (struct d_info_checkpoint): Likewise.
(d_template_param): Don't update did_subs.
(d_substitution): Likewise.
(d_checkpoint): Don't assign did_subs.
(d_backtrack): Likewise.
(cplus_demangle_init_info): Don't initialize did_subs.

From-SVN: r247054

7 years agotree.h (build_qualified_type): Annotate with CXX_MEM_STAT_INFO.
Richard Biener [Fri, 21 Apr 2017 08:58:39 +0000 (08:58 +0000)]
tree.h (build_qualified_type): Annotate with CXX_MEM_STAT_INFO.

2017-04-21  Richard Biener  <rguenther@suse.de>

* tree.h (build_qualified_type): Annotate with CXX_MEM_STAT_INFO.
(build_distinct_type_copy): Likewise.
(build_variant_type_copy): Likewise.
* tree.c (build_qualified_type): Pass down mem-stat info.
(build_distinct_type_copy): Likewise.
(build_variant_type_copy): Likewise.

cp/
* cp-tree.h (copy_decl): Annotate with CXX_MEM_STAT_INFO.
(copy_type): Likewise.
* lex.c (copy_decl): Pass down mem-stat info.
(copy_type): Likewise.

From-SVN: r247053

7 years agore PR c/80468 (ICE on invalid AVX512 code with -m32)
Jakub Jelinek [Fri, 21 Apr 2017 08:51:53 +0000 (10:51 +0200)]
re PR c/80468 (ICE on invalid AVX512 code with -m32)

PR c/80468
* c-decl.c (finish_declspecs) <case cts_int_n>: If int_n_idx is not
enabled, set specs->type to integer_type_node.

* gcc.dg/pr80468.c: New test.

From-SVN: r247052

7 years agoAdd test-case (PR tree-optimization/66278).
Martin Liska [Fri, 21 Apr 2017 08:50:19 +0000 (10:50 +0200)]
Add test-case (PR tree-optimization/66278).

2017-04-21  Martin Liska  <mliska@suse.cz>

PR tree-optimization/66278
* gcc.dg/vect/pr66278.c: New test.

From-SVN: r247051

7 years agore PR tree-optimization/80237 (float to double conversion is not optimized away)
Richard Biener [Fri, 21 Apr 2017 08:17:23 +0000 (08:17 +0000)]
re PR tree-optimization/80237 (float to double conversion is not optimized away)

2017-04-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80237
* tree-ssa-pre.c (find_leader_in_sets): Add third set argument,
defaulted to NULL.
(phi_translate_1): Also allow a leader in AVAIL_OUT of pred
for a simplified result.

* gcc.dg/tree-ssa/tailcall-9.c: New testcase.
* gcc.dg/tree-ssa/ldist-pr45948.c: Remove undefined behavior,
adjust expected optimizations.

From-SVN: r247049

7 years agotree-ssa-loop-ivcanon.c (constant_after_peeling): Do not require sth as strict as...
Richard Biener [Fri, 21 Apr 2017 08:12:27 +0000 (08:12 +0000)]
tree-ssa-loop-ivcanon.c (constant_after_peeling): Do not require sth as strict as a simple_iv but a chrec without symbols and an...

2016-04-21  Richard Biener  <rguenther@suse.de>

* tree-ssa-loop-ivcanon.c (constant_after_peeling): Do not require
sth as strict as a simple_iv but a chrec without symbols and an
operand defined in the loop we are peeling (and not some subloop).
(propagate_constants_for_unrolling): Propagate all constants.

* gcc.dg/vect/no-scevccp-outer-13.c: Adjust to prevent unrolling
of inner loops.
* gcc.dg/vect/no-scevccp-outer-7.c: Likewise.
* gcc.dg/vect/vect-104.c: Likewise.

From-SVN: r247048

7 years agore PR tree-optimization/80426 (wrong manipulation of range based on INT_MIN)
Eric Botcazou [Fri, 21 Apr 2017 08:03:54 +0000 (08:03 +0000)]
re PR tree-optimization/80426 (wrong manipulation of range based on INT_MIN)

PR tree-optimization/80426
* gcc.c-torture/execute/20170429-1.c: Rename into...
* gcc.c-torture/execute/20170419-1.c: ...this.

From-SVN: r247046

7 years agoDaily bump.
GCC Administrator [Fri, 21 Apr 2017 00:16:27 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r247045

7 years agore PR target/79804 (ICE in print_reg, at config/i386/i386.c:17637)
Uros Bizjak [Thu, 20 Apr 2017 20:25:17 +0000 (22:25 +0200)]
re PR target/79804 (ICE in print_reg, at config/i386/i386.c:17637)

PR target/79804
* config/i386/i386.c (print_reg): Remove assert for disalowed
regno values, call output_operand_lossage instead.

testsuite/ChangeLog:

PR target/79804
* gcc.target/i386/pr79804.c: New test.

From-SVN: r247037

7 years agore PR target/78090 ([x86_64]: GCC allows integer register for inter unit conversion...
Uros Bizjak [Thu, 20 Apr 2017 19:04:36 +0000 (21:04 +0200)]
re PR target/78090 ([x86_64]: GCC allows integer register for inter unit conversion under -mtune-ctrl=^inter_unit_conversions .)

PR target/78090
* config/i386/constraints.md (Yc): New register constraint.
* config/i386/i386.md (*float<SWI48:mode><MODEF:mode>2_mixed):
Use Yc constraint for alternative 2 of operand 0.  Remove
preferred_for_speed attribute.

testsuite/ChangeLog:

PR target/78090
* gcc.target/i386/conversion-2.c: Remove obsolete test.

From-SVN: r247036

7 years ago* g++/opt/pr80436.C: XFAIL on AIX.
David Edelsohn [Thu, 20 Apr 2017 18:26:24 +0000 (18:26 +0000)]
* g++/opt/pr80436.C: XFAIL on AIX.

From-SVN: r247034

7 years agoPR c++/80473 allow suppressing notes about over-aligned new
Jonathan Wakely [Thu, 20 Apr 2017 18:02:05 +0000 (19:02 +0100)]
PR c++/80473 allow suppressing notes about over-aligned new

gcc/cp:

PR c++/80473
* init.c (build_new_1): Suppress notes about over-aligned new when
the warning is suppressed.

gcc/testsuite:

PR c++/80473
* g++.dg/diagnostic/pr80473.C: New test.

From-SVN: r247033

7 years agoomp-low: fix lastprivate/linear lowering for SIMT
Alexander Monakov [Thu, 20 Apr 2017 17:21:50 +0000 (20:21 +0300)]
omp-low: fix lastprivate/linear lowering for SIMT

gcc/
* omp-low.c (lower_lastprivate_clauses): Correct handling of linear and
lastprivate clauses in SIMT case.

libgomp/
* testsuite/libgomp.c/target-36.c: New testcase.

From-SVN: r247029

7 years agoc.opt (Wextra-semi): New C++ warning flag.
Volker Reichelt [Thu, 20 Apr 2017 16:48:44 +0000 (16:48 +0000)]
c.opt (Wextra-semi): New C++ warning flag.

        * c.opt (Wextra-semi): New C++ warning flag.
        * doc/invoke.texi (-Wextra-semi): Document new warning option.
        * parser.c (cp_parser_member_declaration): Add warning with fixit
        information for extra semicolon after in-class function definition.
        * g++.dg/warn/Wextra-semi.C: New test.

From-SVN: r247028

7 years agoPR libstdc++/68397 std::tr1::expint fails ... long double arguments.
Edward Smith-Rowland [Thu, 20 Apr 2017 15:41:59 +0000 (15:41 +0000)]
PR libstdc++/68397 std::tr1::expint fails ... long double arguments.

2017-04-20  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR libstdc++/68397 std::tr1::expint fails ... long double arguments.
* include/tr1/exp_integral.tcc: Increase iteration limits.
* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
pr68397.cc: New test.
* testsuite/special_functions/14_expint/pr68397.cc: New test.

From-SVN: r247027

7 years agore PR target/57796 (AVX2 gather vectorization: code bloat and reduction of performance)
Richard Biener [Thu, 20 Apr 2017 14:26:26 +0000 (14:26 +0000)]
re PR target/57796 (AVX2 gather vectorization: code bloat and reduction of performance)

2017-04-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57796
* tree-vect-stmts.c (vect_model_store_cost): Cost scatters
as N scalar stores.
(vect_model_load_cost): Cost gathers as N scalar loads.

From-SVN: r247026

7 years agoggc-page.c (ggc_allocated_p): Rename to ...
Richard Biener [Thu, 20 Apr 2017 14:25:11 +0000 (14:25 +0000)]
ggc-page.c (ggc_allocated_p): Rename to ...

2017-04-20  Richard Biener  <rguenther@suse.de>

* ggc-page.c (ggc_allocated_p): Rename to ...
(safe_lookup_page_table_entry): ... this and return the lookup
result.
(gt_ggc_m_S): Use safe_lookup_page_table_entry.

From-SVN: r247025

7 years agore PR debug/80453 (another compare-debug failure)
Richard Biener [Thu, 20 Apr 2017 14:23:10 +0000 (14:23 +0000)]
re PR debug/80453 (another compare-debug failure)

2017-04-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80453
* tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
* tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
from the conditions.
(vn_phi_eq): Pass them down.
(vn_phi_lookup): Record them.
(vn_phi_insert): Likewise.

From-SVN: r247024

7 years agoMIPS: Prevent buffer overrun in uninitialised variable fix
Matthew Fortune [Thu, 20 Apr 2017 13:27:05 +0000 (13:27 +0000)]
MIPS: Prevent buffer overrun in uninitialised variable fix

gcc/
* config/mips/mips.c (mips_expand_vec_perm_const): Re-fix
uninitialized variable warning to avoid buffer overrun.

From-SVN: r247022

7 years agoPR79862 check macro for type aliases that depend on <stdint.h>
Jonathan Wakely [Thu, 20 Apr 2017 13:04:28 +0000 (14:04 +0100)]
PR79862 check macro for type aliases that depend on <stdint.h>

PR libstdc++/79862
* include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t)
(atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t,
(atomic_uint32_t, atomic_int64_t, atomic_uint64_t)
(atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t)
(atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t)
(atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t)
(atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t)
(atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t)
(atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't
define.

From-SVN: r247021

7 years ago* crontab: Enable snapshots from gcc-7-branch.
Jakub Jelinek [Thu, 20 Apr 2017 10:51:33 +0000 (12:51 +0200)]
* crontab: Enable snapshots from gcc-7-branch.

From-SVN: r247020

7 years agodoc: mention handling of {0} in -Wmissing-field-initializers (PR 71250)
Alexander Monakov [Thu, 20 Apr 2017 10:23:38 +0000 (13:23 +0300)]
doc: mention handling of {0} in -Wmissing-field-initializers (PR 71250)

PR other/71250
* doc/invoke.texi (-Wmissing-field-initializers): Mention that warning
is suppressed for '{ 0 }' in C.

From-SVN: r247018

7 years ago* BASE-VER: Set to 8.0.0.
Jakub Jelinek [Thu, 20 Apr 2017 09:52:54 +0000 (11:52 +0200)]
* BASE-VER: Set to 8.0.0.

From-SVN: r247017

7 years ago[ARM] Fix type for .init_array.* and .fini_array.* sections
Thomas Preud'homme [Thu, 20 Apr 2017 09:44:18 +0000 (09:44 +0000)]
[ARM] Fix type for .init_array.* and .fini_array.* sections

2017-04-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.c (arm_elf_asm_cdtor): Create non-default
    priority .init_array and .fini_array section with SECTION_NOTYPE
    flag.

From-SVN: r247015

7 years agore PR middle-end/80423 (GC related -fcompare-debug failure)
Jakub Jelinek [Thu, 20 Apr 2017 09:18:02 +0000 (11:18 +0200)]
re PR middle-end/80423 (GC related -fcompare-debug failure)

PR middle-end/80423
* tree.h (build_array_type): Add typeless_storage default argument.
* tree.c (type_cache_hasher::equal): Also compare
TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
(build_array_type): Add typeless_storage argument, set
TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
recursive call.
(build_nonshared_array_type): Adjust build_array_type_1 caller.
(build_array_type): Likewise.  Add typeless_storage argument.
c-family/
* c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
cp/
* tree.c (build_cplus_array_type): Call build_array_type
with the intended TYPE_TYPELESS_STORAGE flag value, instead
of calling build_array_type and modifying later TYPE_TYPELESS_STORAGE
on the shared type.
testsuite/
* g++.dg/other/pr80423.C: New test.

From-SVN: r247014

7 years agoSkip pr80170.c for non-ptr32plus targets
Senthil Kumar Selvaraj [Thu, 20 Apr 2017 05:46:02 +0000 (05:46 +0000)]
Skip pr80170.c for non-ptr32plus targets

The testcase uses 32 bit or bigger pointer offsets, and
that triggers an ptrofftype_p assert in tree.c.

gcc/testsuite

2017-04-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/pr80170.c: Require ptr32plus.

From-SVN: r247011

7 years agoDaily bump.
GCC Administrator [Thu, 20 Apr 2017 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r247010

7 years agore PR tree-optimization/80426 (wrong manipulation of range based on INT_MIN)
Eric Botcazou [Wed, 19 Apr 2017 19:27:09 +0000 (19:27 +0000)]
re PR tree-optimization/80426 (wrong manipulation of range based on INT_MIN)

PR tree-optimization/80426
* tree-vrp.c (extract_range_from_binary_expr_1): For an additive
operation on symbolic operands, also compute the overflow for the
invariant part when the operation degenerates into a negation.

PR tree-optimization/80426
* gcc.c-torture/execute/20170419-1.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r247007

7 years agore PR bootstrap/77661 (--enable-maintainer-mode causes in-tree-build of MPC to fail)
Thomas Koenig [Wed, 19 Apr 2017 18:49:29 +0000 (18:49 +0000)]
re PR bootstrap/77661 (--enable-maintainer-mode causes in-tree-build of MPC to fail)

2017-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
Tobias Burnus  <tobias.burnus@physik.fu-berlin.de>

PR bootstrap/77661
* Makefile.def: Don't pass --enable-maintainer-mode on to an
in-tree build MPC.
* Makefile.in: Regenerate.

Co-Authored-By: Tobias Burnus <tobias.burnus@physik.fu-berlin.de>
From-SVN: r247006

7 years agoRationalise ABI links in libstdc++ manual
Jonathan Wakely [Wed, 19 Apr 2017 16:49:21 +0000 (17:49 +0100)]
Rationalise ABI links in libstdc++ manual

* doc/xml/manual/abi.xml: Rephrase one of the references to the
Itanium C++ ABI.
* doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement.
* doc/html/*: Regenerate.

From-SVN: r247003

7 years agore PR debug/80461 (ICE in modified_type_die, at dwarf2out.c:12566)
Jakub Jelinek [Wed, 19 Apr 2017 16:32:02 +0000 (18:32 +0200)]
re PR debug/80461 (ICE in modified_type_die, at dwarf2out.c:12566)

PR debug/80461
* dwarf2out.c (modified_type_die, gen_type_die_with_usage):
Check for t with zero TYPE_QUALS_NO_ADDR_SPACE.

* g++.dg/debug/pr80461.C: New test.

From-SVN: r247002

7 years agore PR c++/80459 (c-c++-common/opaque-vector.c FAILs)
Jakub Jelinek [Wed, 19 Apr 2017 16:31:11 +0000 (18:31 +0200)]
re PR c++/80459 (c-c++-common/opaque-vector.c FAILs)

PR c++/80459
* c-c++-common/opaque-vector.c (SIZEOF_MAXINT): Define.
(f): Don't test long double vectors if __SIZEOF_LONG_DOUBLE__
is not power of 2, or is more than 16 or more than SIZEOF_MAXINT.

From-SVN: r247001

7 years agore PR debug/80436 (-fcompare-debug failure)
Jakub Jelinek [Wed, 19 Apr 2017 16:29:45 +0000 (18:29 +0200)]
re PR debug/80436 (-fcompare-debug failure)

PR debug/80436
* tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses.

* g++.dg/opt/pr80436.C: New test.

From-SVN: r247000

7 years ago* libsupc++/new: Update comment on #endif directive.
Jonathan Wakely [Wed, 19 Apr 2017 15:18:24 +0000 (16:18 +0100)]
* libsupc++/new: Update comment on #endif directive.

From-SVN: r246999

7 years agore PR target/80462 ([avr] Incorrect "warning: uninitialized variable 'xxx' put into...
Georg-Johann Lay [Wed, 19 Apr 2017 12:20:57 +0000 (12:20 +0000)]
re PR target/80462 ([avr] Incorrect "warning: uninitialized variable 'xxx' put into program memory area" for identical strings)

PR target/80462
* config/avr/avr.c (tree.h): Include it.
(cgraph.h): Include it.
(avr_encode_section_info): Don't warn for uninitialized progmem
variable if it's just an alias.

From-SVN: r246997

7 years agoUpdate SSA after AutoPGO early inlining (PR ipa/65972).
Richard Biener [Wed, 19 Apr 2017 12:06:35 +0000 (12:06 +0000)]
Update SSA after AutoPGO early inlining (PR ipa/65972).

2017-04-19  Richard Biener  <rguenther@suse.de>

PR ipa/65972
* auto-profile.c (afdo_vpt_for_early_inline): Update SSA
when needed by AutoPGO.

From-SVN: r246996

7 years agoFix typo in LTO documentation (PR lto/50345).
Paulo Matos [Wed, 19 Apr 2017 12:00:47 +0000 (12:00 +0000)]
Fix typo in LTO documentation (PR lto/50345).

2017-04-19  Paulo J. Matos  <paulo@matos-sorge.com>

PR lto/50345
* doc/lto.texi: Remove an extra 'that'.

From-SVN: r246995

7 years agoFix broken gcc.dg/torture/pr80341.c for avr
Senthil Kumar Selvaraj [Wed, 19 Apr 2017 11:27:05 +0000 (11:27 +0000)]
Fix broken gcc.dg/torture/pr80341.c for avr

This patch skips pr80341.c for targets with int size less than 32 bits.
The assertion in the testcase holds only if sizeof(int) > sizeof(short),
which isn't true for smaller int size targets like the avr.

gcc/testsuite

2017-04-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/torture/pr80341.c: Require int32plus.

From-SVN: r246994

7 years agoPR libstdc++/80448 remove noexcept from defaulted functions
Jonathan Wakely [Wed, 19 Apr 2017 11:03:43 +0000 (12:03 +0100)]
PR libstdc++/80448 remove noexcept from defaulted functions

PR libstdc++/80448
* include/experimental/bits/fs_dir.h (directory_iterator)
(recursive_directory_iterator): Remove noexcept from defaulted
constructors.

From-SVN: r246993

7 years agoPR libstdc++/80446 cope with libc defining __has_builtin
Jonathan Wakely [Wed, 19 Apr 2017 10:49:12 +0000 (11:49 +0100)]
PR libstdc++/80446 cope with libc defining __has_builtin

PR libstdc++/80446
* include/std/type_traits (is_aggregate): Change __has_builtin checks.
* libsupc++/new (launder): Likewise.

From-SVN: r246992

7 years agoIRA: Don't create new regs for debug insns (PR80429)
Segher Boessenkool [Wed, 19 Apr 2017 10:03:35 +0000 (12:03 +0200)]
IRA: Don't create new regs for debug insns (PR80429)

In split_live_ranges_for_shrink_wrap IRA also splits regs that are
only used in debug insns, leading to -fcompare-debug failures.

PR rtl-optimization/80429
* ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that
are only used in debug insns.

From-SVN: r246991

7 years agoIntroduce gcov.h header file (PR gcov-profile/80435).
Martin Liska [Wed, 19 Apr 2017 08:08:44 +0000 (10:08 +0200)]
Introduce gcov.h header file (PR gcov-profile/80435).

2017-04-19  Martin Liska  <mliska@suse.cz>

PR gcov-profile/80435
* Makefile.in: Install gcov.h.
* gcov.h: New file.
* libgcov.h: Use the header and make __gcov_flush publicly
visible.

From-SVN: r246990

7 years agopredicates.md (input_operand): Add comment.
Eric Botcazou [Wed, 19 Apr 2017 08:05:36 +0000 (08:05 +0000)]
predicates.md (input_operand): Add comment.

* config/sparc/predicates.md (input_operand): Add comment.  Return
true for any memory operand when LRA is in progress.
* config/sparc/sparc.c (sparc_expand_move): Minor formatting fix.

Co-Authored-By: Jeff Law <law@redhat.com>
Co-Authored-By: Vladimir Makarov <vmakarov@redhat.com>
From-SVN: r246989

7 years agoUse relative line number for subsequent dg directives
Tom de Vries [Wed, 19 Apr 2017 06:55:33 +0000 (06:55 +0000)]
Use relative line number for subsequent dg directives

2017-04-19  Tom de Vries  <tom@codesourcery.com>

PR testsuite/80221
* c-c++-common/Wimplicit-fallthrough-6.c: Use relative line number for
subsequent dg directives.
* c-c++-common/Wimplicit-fallthrough-7.c: Same.
* c-c++-common/Wint-to-pointer-cast-3.c: Same.
* c-c++-common/attr-fallthrough-2.c: Same.
* c-c++-common/cilk-plus/AN/parser_errors2.c: Same.
* c-c++-common/cilk-plus/AN/parser_errors3.c: Same.
* c-c++-common/cilk-plus/AN/pr61191.c: Same.
* c-c++-common/cilk-plus/AN/pr61963.c: Same.
* c-c++-common/cilk-plus/AN/pr62008.c: Same.
* c-c++-common/cilk-plus/AN/rank_mismatch.c: Same.
* c-c++-common/cilk-plus/CK/cilk_for_errors.c: Same.
* c-c++-common/cilk-plus/CK/errors.c: Same.
* c-c++-common/cilk-plus/CK/no_args_error.c: Same.
* c-c++-common/cilk-plus/PS/clauses1.c: Same.
* c-c++-common/cilk-plus/SE/vlength_errors.c: Same.
* c-c++-common/cpp/pr57580.c: Same.
* c-c++-common/goacc/asyncwait-1.c: Same.
* c-c++-common/goacc/cache-2.c: Same.
* c-c++-common/goacc/declare-2.c: Same.
* c-c++-common/goacc/deviceptr-1.c: Same.
* c-c++-common/goacc/routine-5.c: Same.
* c-c++-common/gomp/clauses-2.c: Same.
* c-c++-common/gomp/ordered-3.c: Same.
* c-c++-common/gomp/pr67501.c: Same.
* c-c++-common/pr20000.c: Same.
* c-c++-common/pr43395.c: Same.
* c-c++-common/pr49706.c: Same.
* c-c++-common/pr77624-1.c: Same.
* c-c++-common/pr77624-2.c: Same.
* c-c++-common/raw-string-14.c: Same.
* c-c++-common/raw-string-16.c: Same.
* c-c++-common/raw-string-3.c: Same.
* c-c++-common/raw-string-4.c: Same.
* c-c++-common/raw-string-5.c: Same.
* c-c++-common/raw-string-6.c: Same.
* g++.dg/abi/mangle41.C: Same.
* g++.dg/conversion/nullptr1.C: Same.
* g++.dg/cpp0x/alias-decl-80296.C: Same.
* g++.dg/cpp0x/auto27.C: Same.
* g++.dg/cpp0x/constexpr-98.C: Same.
* g++.dg/cpp0x/constexpr-diag2.C: Same.
* g++.dg/cpp0x/diag2.C: Same.
* g++.dg/cpp0x/lambda/lambda-syntax1.C: Same.
* g++.dg/cpp0x/nullptr15.C: Same.
* g++.dg/cpp0x/pr31431-2.C: Same.
* g++.dg/cpp0x/pr31431.C: Same.
* g++.dg/cpp0x/pr79118.C: Same.
* g++.dg/cpp0x/static_assert3.C: Same.
* g++.dg/cpp0x/temp_default2.C: Same.
* g++.dg/cpp0x/trailing4.C: Same.
* g++.dg/cpp0x/variadic-ex10.C: Same.
* g++.dg/cpp0x/variadic-ex13.C: Same.
* g++.dg/cpp0x/variadic-ex14.C: Same.
* g++.dg/cpp0x/variadic-ex3.C: Same.
* g++.dg/cpp0x/variadic-ex4.C: Same.
* g++.dg/cpp0x/variadic59.C: Same.
* g++.dg/cpp0x/vt-37737-2.C: Same.
* g++.dg/cpp0x/vt-57397-1.C: Same.
* g++.dg/cpp0x/vt-57397-2.C: Same.
* g++.dg/cpp1z/constexpr-lambda8.C: Same.
* g++.dg/cpp1z/gen-attrs1.C: Same.
* g++.dg/diagnostic/pr71075.C: Same.
* g++.dg/eh/goto2.C: Same.
* g++.dg/eh/goto3.C: Same.
* g++.dg/expr/bitfield4.C: Same.
* g++.dg/expr/bitfield5.C: Same.
* g++.dg/expr/bitfield6.C: Same.
* g++.dg/expr/bool1.C: Same.
* g++.dg/expr/bool3.C: Same.
* g++.dg/expr/cond10.C: Same.
* g++.dg/expr/cond11.C: Same.
* g++.dg/expr/lval3.C: Same.
* g++.dg/expr/lval4.C: Same.
* g++.dg/ext/anon-struct4.C: Same.
* g++.dg/ext/attrib44.C: Same.
* g++.dg/ext/builtin3.C: Same.
* g++.dg/ext/dllimport7.C: Same.
* g++.dg/ext/label5.C: Same.
* g++.dg/ext/no-asm-1.C: Same.
* g++.dg/ext/utf16-4.C: Same.
* g++.dg/ext/vla2.C: Same.
* g++.dg/gomp/block-1.C: Same.
* g++.dg/gomp/block-2.C: Same.
* g++.dg/gomp/block-3.C: Same.
* g++.dg/gomp/block-5.C: Same.
* g++.dg/gomp/linear-2.C: Same.
* g++.dg/gomp/target-1.C: Same.
* g++.dg/gomp/target-2.C: Same.
* g++.dg/gomp/taskgroup-1.C: Same.
* g++.dg/gomp/teams-1.C: Same.
* g++.dg/inherit/pure1.C: Same.
* g++.dg/init/array43.C: Same.
* g++.dg/init/array46.C: Same.
* g++.dg/init/const10.C: Same.
* g++.dg/init/ctor4-1.C: Same.
* g++.dg/init/ctor4.C: Same.
* g++.dg/init/new37.C: Same.
* g++.dg/init/pr25811.C: Same.
* g++.dg/init/pr29043.C: Same.
* g++.dg/init/pr29571.C: Same.
* g++.dg/lookup/duperr1.C: Same.
* g++.dg/lookup/error1.C: Same.
* g++.dg/lookup/koenig5.C: Same.
* g++.dg/lookup/pr77549.C: Same.
* g++.dg/lookup/suggestions1.C: Same.
* g++.dg/lookup/using16.C: Same.
* g++.dg/lookup/using7.C: Same.
* g++.dg/other/anon-union3.C: Same.
* g++.dg/other/array2.C: Same.
* g++.dg/other/error13.C: Same.
* g++.dg/other/error34.C: Same.
* g++.dg/overload/builtin1.C: Same.
* g++.dg/overload/conv-op1.C: Same.
* g++.dg/overload/error3.C: Same.
* g++.dg/overload/koenig1.C: Same.
* g++.dg/overload/operator5.C: Same.
* g++.dg/overload/template5.C: Same.
* g++.dg/overload/unknown1.C: Same.
* g++.dg/overload/using2.C: Same.
* g++.dg/parse/constructor1.C: Same.
* g++.dg/parse/crash36.C: Same.
* g++.dg/parse/crash63.C: Same.
* g++.dg/parse/error11.C: Same.
* g++.dg/parse/error12.C: Same.
* g++.dg/parse/error14.C: Same.
* g++.dg/parse/error2.C: Same.
* g++.dg/parse/error21.C: Same.
* g++.dg/parse/error26.C: Same.
* g++.dg/parse/error36.C: Same.
* g++.dg/parse/friend12.C: Same.
* g++.dg/parse/invalid-op1.C: Same.
* g++.dg/parse/missing-template1.C: Same.
* g++.dg/parse/parser-pr28152-2.C: Same.
* g++.dg/parse/parser-pr28152.C: Same.
* g++.dg/parse/pr16696-permissive.C: Same.
* g++.dg/parse/pr16696.C: Same.
* g++.dg/parse/pr69628.C: Same.
* g++.dg/parse/ret-type2.C: Same.
* g++.dg/parse/specialization1.C: Same.
* g++.dg/parse/template3.C: Same.
* g++.dg/parse/template9.C: Same.
* g++.dg/parse/typename11.C: Same.
* g++.dg/plugin/attribute_plugin-test-1.C: Same.
* g++.dg/pr45330.C: Same.
* g++.dg/rtti/typeid6.C: Same.
* g++.dg/spellcheck-fields.C: Same.
* g++.dg/spellcheck-typenames.C: Same.
* g++.dg/tc1/dr108.C: Same.
* g++.dg/tc1/dr147.C: Same.
* g++.dg/template/arg7.C: Same.
* g++.dg/template/conv11.C: Same.
* g++.dg/template/crash13.C: Same.
* g++.dg/template/crash55.C: Same.
* g++.dg/template/dependent-expr5.C: Same.
* g++.dg/template/error17.C: Same.
* g++.dg/template/error33.C: Same.
* g++.dg/template/error4.C: Same.
* g++.dg/template/error50.C: Same.
* g++.dg/template/error53.C: Same.
* g++.dg/template/friend.C: Same.
* g++.dg/template/func2.C: Same.
* g++.dg/template/local6.C: Same.
* g++.dg/template/member5.C: Same.
* g++.dg/template/meminit1.C: Same.
* g++.dg/template/nested3.C: Same.
* g++.dg/template/nontype6.C: Same.
* g++.dg/template/overload12.C: Same.
* g++.dg/template/ptrmem8.C: Same.
* g++.dg/template/qualified-id1.C: Same.
* g++.dg/template/spec15.C: Same.
* g++.dg/template/static1.C: Same.
* g++.dg/template/static10.C: Same.
* g++.dg/template/static2.C: Same.
* g++.dg/template/ttp25.C: Same.
* g++.dg/template/typedef2.C: Same.
* g++.dg/template/typename2.C: Same.
* g++.dg/template/unify10.C: Same.
* g++.dg/template/unify6.C: Same.
* g++.dg/template/unify7.C: Same.
* g++.dg/template/unify9.C: Same.
* g++.dg/template/varmod1.C: Same.
* g++.dg/ubsan/div-by-zero-1.C: Same.
* g++.dg/ubsan/pr63956.C: Same.
* g++.dg/warn/Waddress-1.C: Same.
* g++.dg/warn/Wconversion2.C: Same.
* g++.dg/warn/Wnull-conversion-1.C: Same.
* g++.dg/warn/Wsubobject-linkage-1.C: Same.
* g++.dg/warn/Wsubobject-linkage-3.C: Same.
* g++.dg/warn/Wswitch-1.C: Same.
* g++.dg/warn/Wtype-limits-Wextra.C: Same.
* g++.dg/warn/Wtype-limits.C: Same.
* g++.dg/warn/Wunused-parm-5.C: Same.
* g++.dg/warn/deprecated-6.C: Same.
* g++.dg/warn/deprecated.C: Same.
* g++.dg/warn/incomplete1.C: Same.
* g++.dg/warn/multiple-overflow-warn-1.C: Same.
* g++.dg/warn/multiple-overflow-warn-2.C: Same.
* g++.dg/warn/multiple-overflow-warn-3.C: Same.
* g++.dg/warn/overflow-warn-1.C: Same.
* g++.dg/warn/overflow-warn-3.C: Same.
* g++.dg/warn/overflow-warn-4.C: Same.
* g++.dg/warn/pr12242.C: Same.
* g++.dg/warn/pr30551-2.C: Same.
* g++.dg/warn/pr30551.C: Same.
* g++.old-deja/g++.benjamin/16077.C: Same.
* g++.old-deja/g++.bob/inherit1.C: Same.
* g++.old-deja/g++.brendan/crash56.C: Same.
* g++.old-deja/g++.brendan/template17.C: Same.
* g++.old-deja/g++.eh/ctor1.C: Same.
* g++.old-deja/g++.jason/bool5.C: Same.
* g++.old-deja/g++.jason/cond.C: Same.
* g++.old-deja/g++.jason/operator.C: Same.
* g++.old-deja/g++.jason/pmf5.C: Same.
* g++.old-deja/g++.law/ctors5.C: Same.
* g++.old-deja/g++.law/missed-error2.C: Same.
* g++.old-deja/g++.law/operators9.C: Same.
* g++.old-deja/g++.law/temps1.C: Same.
* g++.old-deja/g++.mike/for2.C: Same.
* g++.old-deja/g++.mike/ns5.C: Same.
* g++.old-deja/g++.mike/ns7.C: Same.
* g++.old-deja/g++.mike/p10769b.C: Same.
* g++.old-deja/g++.niklas/t120.C: Same.
* g++.old-deja/g++.niklas/t121.C: Same.
* g++.old-deja/g++.ns/koenig5.C: Same.
* g++.old-deja/g++.oliva/overload1.C: Same.
* g++.old-deja/g++.other/crash24.C: Same.
* g++.old-deja/g++.other/crash25.C: Same.
* g++.old-deja/g++.other/decl5.C: Same.
* g++.old-deja/g++.other/lineno5.C: Same.
* g++.old-deja/g++.other/null3.C: Same.
* g++.old-deja/g++.other/overcnv2.C: Same.
* g++.old-deja/g++.other/ptrmem7.C: Same.
* g++.old-deja/g++.other/typename1.C: Same.
* g++.old-deja/g++.other/vaarg3.C: Same.
* g++.old-deja/g++.pt/crash10.C: Same.
* g++.old-deja/g++.pt/crash28.C: Same.
* g++.old-deja/g++.pt/crash38.C: Same.
* g++.old-deja/g++.pt/explicit70.C: Same.
* g++.old-deja/g++.pt/explicit77.C: Same.
* g++.old-deja/g++.pt/expr2.C: Same.
* g++.old-deja/g++.pt/spec5.C: Same.
* g++.old-deja/g++.pt/spec6.C: Same.
* g++.old-deja/g++.pt/typename3.C: Same.
* g++.old-deja/g++.pt/typename5.C: Same.
* g++.old-deja/g++.pt/typename6.C: Same.
* g++.old-deja/g++.pt/typename7.C: Same.
* g++.old-deja/g++.pt/unify4.C: Same.
* g++.old-deja/g++.pt/unify8.C: Same.
* g++.old-deja/g++.pt/vaarg3.C: Same.
* g++.old-deja/g++.robertl/eb22.C: Same.
* g++.old-deja/g++.robertl/eb4.C: Same.
* g++.old-deja/g++.robertl/eb44.C: Same.
* g++.old-deja/g++.robertl/eb69.C: Same.
* g++.old-deja/g++.robertl/eb98.C: Same.
* gcc.dg/20031223-1.c: Same.
* gcc.dg/940510-1.c: Same.
* gcc.dg/990506-0.c: Same.
* gcc.dg/Walloca-1.c: Same.
* gcc.dg/Walloca-2.c: Same.
* gcc.dg/Wconversion-integer.c: Same.
* gcc.dg/Wcxx-compat-8.c: Same.
* gcc.dg/Wimplicit-int-1.c: Same.
* gcc.dg/Wimplicit-int-2.c: Same.
* gcc.dg/Wimplicit-int-4.c: Same.
* gcc.dg/Wpointer-sign-Wall.c: Same.
* gcc.dg/Wpointer-sign-pedantic.c: Same.
* gcc.dg/Wshadow-1.c: Same.
* gcc.dg/Wshadow-3.c: Same.
* gcc.dg/Wswitch-enum-error.c: Same.
* gcc.dg/Wswitch-enum.c: Same.
* gcc.dg/Wswitch-error.c: Same.
* gcc.dg/Wswitch.c: Same.
* gcc.dg/Wtype-limits-Wextra.c: Same.
* gcc.dg/Wtype-limits.c: Same.
* gcc.dg/Wvla-larger-than-2.c: Same.
* gcc.dg/anon-struct-5.c: Same.
* gcc.dg/array-10.c: Same.
* gcc.dg/array-11.c: Same.
* gcc.dg/array-15.c: Same.
* gcc.dg/array-2.c: Same.
* gcc.dg/array-8.c: Same.
* gcc.dg/array-const-2.c: Same.
* gcc.dg/array-const-3.c: Same.
* gcc.dg/bitfld-1.c: Same.
* gcc.dg/bitfld-8.c: Same.
* gcc.dg/builtin-redefine.c: Same.
* gcc.dg/c11-noreturn-1.c: Same.
* gcc.dg/c11-noreturn-2.c: Same.
* gcc.dg/c11-static-assert-3.c: Same.
* gcc.dg/c90-arraydecl-1.c: Same.
* gcc.dg/c90-complex-1.c: Same.
* gcc.dg/c90-complit-1.c: Same.
* gcc.dg/c90-const-expr-11.c: Same.
* gcc.dg/c90-const-expr-7.c: Same.
* gcc.dg/c90-const-expr-8.c: Same.
* gcc.dg/c90-enum-comma-1.c: Same.
* gcc.dg/c90-flex-array-1.c: Same.
* gcc.dg/c90-hexfloat-1.c: Same.
* gcc.dg/c90-idem-qual-1.c: Same.
* gcc.dg/c90-idem-qual-2.c: Same.
* gcc.dg/c90-idem-qual-3.c: Same.
* gcc.dg/c90-mixdecl-1.c: Same.
* gcc.dg/c90-restrict-1.c: Same.
* gcc.dg/c90-return-1.c: Same.
* gcc.dg/c99-array-nonobj-1.c: Same.
* gcc.dg/c99-arraydecl-1.c: Same.
* gcc.dg/c99-complex-1.c: Same.
* gcc.dg/c99-complex-2.c: Same.
* gcc.dg/c99-complit-2.c: Same.
* gcc.dg/c99-const-expr-7.c: Same.
* gcc.dg/c99-const-expr-8.c: Same.
* gcc.dg/c99-flex-array-3.c: Same.
* gcc.dg/c99-flex-array-7.c: Same.
* gcc.dg/c99-flex-array-typedef-7.c: Same.
* gcc.dg/c99-impl-decl-1.c: Same.
* gcc.dg/c99-impl-int-1.c: Same.
* gcc.dg/c99-impl-int-2.c: Same.
* gcc.dg/c99-init-3.c: Same.
* gcc.dg/c99-restrict-1.c: Same.
* gcc.dg/c99-return-1.c: Same.
* gcc.dg/c99-tag-1.c: Same.
* gcc.dg/c99-tag-3.c: Same.
* gcc.dg/call-diag-2.c: Same.
* gcc.dg/cpp/19940712-1.c: Same.
* gcc.dg/cpp/19951025-1.c: Same.
* gcc.dg/cpp/19990413-1.c: Same.
* gcc.dg/cpp/direct2.c: Same.
* gcc.dg/cpp/direct2s.c: Same.
* gcc.dg/cpp/pr28709.c: Same.
* gcc.dg/cpp/pr61854-c90.c: Same.
* gcc.dg/cpp/pr61854-c94.c: Same.
* gcc.dg/cpp/pragma-1.c: Same.
* gcc.dg/cpp/pragma-2.c: Same.
* gcc.dg/cpp/trad/escaped-eof.c: Same.
* gcc.dg/cpp/trad/literals-2.c: Same.
* gcc.dg/cpp/warn-comments-2.c: Same.
* gcc.dg/cpp/warn-comments-3.c: Same.
* gcc.dg/cpp/warn-comments.c: Same.
* gcc.dg/cpp/warn-long-long-2.c: Same.
* gcc.dg/cpp/warn-long-long.c: Same.
* gcc.dg/cpp/warn-redefined-2.c: Same.
* gcc.dg/cpp/warn-redefined.c: Same.
* gcc.dg/darwin-cfstring-2.c: Same.
* gcc.dg/darwin-cfstring-format-1.c: Same.
* gcc.dg/decl-9.c: Same.
* gcc.dg/declspec-1.c: Same.
* gcc.dg/declspec-10.c: Same.
* gcc.dg/declspec-11.c: Same.
* gcc.dg/declspec-13.c: Same.
* gcc.dg/declspec-18.c: Same.
* gcc.dg/declspec-4.c: Same.
* gcc.dg/declspec-5.c: Same.
* gcc.dg/declspec-6.c: Same.
* gcc.dg/declspec-8.c: Same.
* gcc.dg/deprecated-4.c: Same.
* gcc.dg/deprecated.c: Same.
* gcc.dg/dfp/composite-type.c: Same.
* gcc.dg/empty-source-2.c: Same.
* gcc.dg/empty-source-3.c: Same.
* gcc.dg/format/attr-6.c: Same.
* gcc.dg/format/branch-1.c: Same.
* gcc.dg/format/c90-printf-1.c: Same.
* gcc.dg/format/c90-strftime-2.c: Same.
* gcc.dg/format/c99-strftime-1.c: Same.
* gcc.dg/format/cmn-err-1.c: Same.
* gcc.dg/format/few-1.c: Same.
* gcc.dg/format/ms_branch-1.c: Same.
* gcc.dg/format/ms_unnamed-1.c: Same.
* gcc.dg/format/ms_va-1.c: Same.
* gcc.dg/format/unnamed-1.c: Same.
* gcc.dg/format/va-1.c: Same.
* gcc.dg/format/xopen-1.c: Same.
* gcc.dg/funcdef-var-1.c: Same.
* gcc.dg/funcdef-var-2.c: Same.
* gcc.dg/gnu89-const-expr-1.c: Same.
* gcc.dg/gnu89-const-expr-2.c: Same.
* gcc.dg/gnu90-const-expr-1.c: Same.
* gcc.dg/gnu99-const-expr-1.c: Same.
* gcc.dg/gnu99-const-expr-2.c: Same.
* gcc.dg/gnu99-init-2.c: Same.
* gcc.dg/gomp/_Atomic-5.c: Same.
* gcc.dg/gomp/appendix-a/a.24.1.c: Same.
* gcc.dg/gomp/atomic-5.c: Same.
* gcc.dg/gomp/linear-1.c: Same.
* gcc.dg/gomp/pr67500.c: Same.
* gcc.dg/init-bad-1.c: Same.
* gcc.dg/init-bad-2.c: Same.
* gcc.dg/init-bad-3.c: Same.
* gcc.dg/init-string-1.c: Same.
* gcc.dg/label-compound-stmt-1.c: Same.
* gcc.dg/label-decl-2.c: Same.
* gcc.dg/label-decl-4.c: Same.
* gcc.dg/large-size-array-2.c: Same.
* gcc.dg/large-size-array-4.c: Same.
* gcc.dg/lvalue-6.c: Same.
* gcc.dg/m-un-2.c: Same.
* gcc.dg/multiple-overflow-warn-1.c: Same.
* gcc.dg/multiple-overflow-warn-2.c: Same.
* gcc.dg/multiple-overflow-warn-3.c: Same.
* gcc.dg/nested-redef-1.c: Same.
* gcc.dg/no-asm-1.c: Same.
* gcc.dg/no-asm-3.c: Same.
* gcc.dg/no-asm-4.c: Same.
* gcc.dg/noncompile/20010524-1.c: Same.
* gcc.dg/noncompile/incomplete-5.c: Same.
* gcc.dg/noncompile/pr44517.c: Same.
* gcc.dg/noncompile/pr52290.c: Same.
* gcc.dg/noreturn-1.c: Same.
* gcc.dg/overflow-warn-1.c: Same.
* gcc.dg/overflow-warn-2.c: Same.
* gcc.dg/overflow-warn-3.c: Same.
* gcc.dg/overflow-warn-4.c: Same.
* gcc.dg/parm-mismatch-1.c: Same.
* gcc.dg/parser-pr28152-2.c: Same.
* gcc.dg/parser-pr28152.c: Same.
* gcc.dg/pedwarn-init.c: Same.
* gcc.dg/pointer-arith-2.c: Same.
* gcc.dg/pointer-arith-3.c: Same.
* gcc.dg/pointer-arith-4.c: Same.
* gcc.dg/pr14475.c: Same.
* gcc.dg/pr18596-3.c: Same.
* gcc.dg/pr18809-1.c: Same.
* gcc.dg/pr27953.c: Same.
* gcc.dg/pr30457.c: Same.
* gcc.dg/pr30551-2.c: Same.
* gcc.dg/pr30551-3.c: Same.
* gcc.dg/pr30551-4.c: Same.
* gcc.dg/pr30551-5.c: Same.
* gcc.dg/pr30551-6.c: Same.
* gcc.dg/pr30551.c: Same.
* gcc.dg/pr36997.c: Same.
* gcc.dg/pr41842.c: Same.
* gcc.dg/pr48552-1.c: Same.
* gcc.dg/pr48552-2.c: Same.
* gcc.dg/pr59717.c: Same.
* gcc.dg/pr61077.c: Same.
* gcc.dg/pr61096-1.c: Same.
* gcc.dg/pr63626.c: Same.
* gcc.dg/pr64223-1.c: Same.
* gcc.dg/pr64223-2.c: Same.
* gcc.dg/pr8788-1.c: Same.
* gcc.dg/pr8927-1.c: Same.
* gcc.dg/pragma-darwin.c: Same.
* gcc.dg/pragma-diag-5.c: Same.
* gcc.dg/pragma-message.c: Same.
* gcc.dg/redecl-1.c: Same.
* gcc.dg/simd-1.c: Same.
* gcc.dg/simd-5.c: Same.
* gcc.dg/simd-6.c: Same.
* gcc.dg/spellcheck-fields.c: Same.
* gcc.dg/spellcheck-typenames.c: Same.
* gcc.dg/struct-semi-2.c: Same.
* gcc.dg/struct-semi-3.c: Same.
* gcc.dg/transparent-union-3.c: Same.
* gcc.dg/ucnid-8.c: Same.
* gcc.dg/uninit-pr19430-O0.c: Same.
* gcc.dg/uninit-pr19430.c: Same.
* gcc.dg/uninit-pr20644-O0.c: Same.
* gcc.dg/utf-dflt.c: Same.
* gcc.dg/utf-dflt2.c: Same.
* gcc.dg/utf16-4.c: Same.
* gcc.dg/vla-11.c: Same.
* gcc.dg/vla-20.c: Same.
* gcc.dg/vla-init-1.c: Same.
* gcc.dg/vla-init-2.c: Same.
* gcc.dg/vla-init-3.c: Same.
* gcc.dg/weak/weak-6.c: Same.
* gcc.dg/weak/weak-7.c: Same.
* gcc.dg/wtr-int-type-1.c: Same.
* gcc.target/aarch64/mgeneral-regs_1.c: Same.
* gcc.target/arm/polytypes.c: Same.
* gcc.target/i386/spellcheck-options-4.c: Same.
* gcc.target/powerpc/20030218-1.c: Same.
* gcc.target/sh/pr21255-4.c: Same.
* gcc.test-framework/dg-error-exp-XP.c: Same.
* gfortran.dg/array_constructor_30.f03: Same.
* gfortran.dg/class_30.f90: Same.
* gfortran.dg/goacc/subarrays.f95: Same.
* gfortran.dg/gomp/appendix-a/a.23.5.f90: Same.
* gfortran.dg/gomp/appendix-a/a.24.1.f90: Same.
* gfortran.dg/intrinsic_std_1.f90: Same.
* gfortran.dg/pr70006.f90: Same.
* gfortran.dg/warning-directive-1.F90: Same.
* gfortran.dg/warning-directive-2.F90: Same.
* gfortran.dg/warning-directive-3.F90: Same.
* gfortran.dg/warning-directive-4.F90: Same.
* obj-c++.dg/attributes/method-noreturn-1.mm: Same.
* obj-c++.dg/class-extension-1.mm: Same.
* obj-c++.dg/class-extension-2.mm: Same.
* obj-c++.dg/class-protocol-1.mm: Same.
* obj-c++.dg/cxx-ivars-1.mm: Same.
* obj-c++.dg/duplicate-class-1.mm: Same.
* obj-c++.dg/exceptions-3.mm: Same.
* obj-c++.dg/exceptions-4.mm: Same.
* obj-c++.dg/exceptions-5.mm: Same.
* obj-c++.dg/fsf-nsstring-format-1.mm: Same.
* obj-c++.dg/fsf-package-0.m: Same.
* obj-c++.dg/invalid-type-1.mm: Same.
* obj-c++.dg/method-12.mm: Same.
* obj-c++.dg/method-13.mm: Same.
* obj-c++.dg/method-15.mm: Same.
* obj-c++.dg/method-16.mm: Same.
* obj-c++.dg/method-6.mm: Same.
* obj-c++.dg/method-7.mm: Same.
* obj-c++.dg/property/at-property-1.mm: Same.
* obj-c++.dg/property/at-property-14.mm: Same.
* obj-c++.dg/property/at-property-17.mm: Same.
* obj-c++.dg/property/at-property-21.mm: Same.
* obj-c++.dg/property/at-property-5.mm: Same.
* obj-c++.dg/property/dotsyntax-4.mm: Same.
* obj-c++.dg/property/dynamic-3.mm: Same.
* obj-c++.dg/property/dynamic-4.mm: Same.
* obj-c++.dg/property/property-neg-1.mm: Same.
* obj-c++.dg/property/property-neg-6.mm: Same.
* obj-c++.dg/property/synthesize-11.mm: Same.
* obj-c++.dg/property/synthesize-5.mm: Same.
* obj-c++.dg/property/synthesize-6.mm: Same.
* obj-c++.dg/proto-lossage-4.mm: Same.
* obj-c++.dg/protocol-qualifier-2.mm: Same.
* obj-c++.dg/strings/strings-1.mm: Same.
* obj-c++.dg/super-class-1.mm: Same.
* obj-c++.dg/syntax-error-6.mm: Same.
* obj-c++.dg/syntax-error-7.mm: Same.
* obj-c++.dg/syntax-error-9.mm: Same.
* obj-c++.dg/try-catch-13.mm: Same.
* objc.dg/attributes/method-noreturn-1.m: Same.
* objc.dg/bad-receiver-type-2.m: Same.
* objc.dg/bad-receiver-type.m: Same.
* objc.dg/call-super-2.m: Same.
* objc.dg/class-2.m: Same.
* objc.dg/class-extension-1.m: Same.
* objc.dg/class-extension-2.m: Same.
* objc.dg/class-protocol-1.m: Same.
* objc.dg/desig-init-1.m: Same.
* objc.dg/duplicate-class-1.m: Same.
* objc.dg/exceptions-3.m: Same.
* objc.dg/exceptions-4.m: Same.
* objc.dg/exceptions-5.m: Same.
* objc.dg/foreach-6.m: Same.
* objc.dg/foreach-7.m: Same.
* objc.dg/fsf-nsstring-format-1.m: Same.
* objc.dg/fsf-package-0.m: Same.
* objc.dg/invalid-type-1.m: Same.
* objc.dg/method-11.m: Same.
* objc.dg/method-19.m: Same.
* objc.dg/method-2.m: Same.
* objc.dg/method-20.m: Same.
* objc.dg/method-5.m: Same.
* objc.dg/method-6.m: Same.
* objc.dg/method-7.m: Same.
* objc.dg/method-9.m: Same.
* objc.dg/missing-proto-3.m: Same.
* objc.dg/private-1.m: Same.
* objc.dg/property/at-property-1.m: Same.
* objc.dg/property/at-property-14.m: Same.
* objc.dg/property/at-property-17.m: Same.
* objc.dg/property/at-property-21.m: Same.
* objc.dg/property/at-property-5.m: Same.
* objc.dg/property/dynamic-3.m: Same.
* objc.dg/property/dynamic-4.m: Same.
* objc.dg/property/property-neg-1.m: Same.
* objc.dg/property/property-neg-6.m: Same.
* objc.dg/property/synthesize-11.m: Same.
* objc.dg/property/synthesize-5.m: Same.
* objc.dg/property/synthesize-6.m: Same.
* objc.dg/proto-hier-1.m: Same.
* objc.dg/proto-lossage-4.m: Same.
* objc.dg/protocol-qualifier-2.m: Same.
* objc.dg/strings/strings-1.m: Same.
* objc.dg/type-size-1.m: Same.

From-SVN: r246988

7 years agore PR target/74563 (Classic MIPS16 (non-MIPS16e) function return broken)
Jeff Law [Wed, 19 Apr 2017 04:52:54 +0000 (22:52 -0600)]
re PR target/74563 (Classic MIPS16 (non-MIPS16e) function return broken)

PR target/74563
* mips.md ({return,simple_return}_internal): Do not overwrite
operands[0].

PR target/74563
* gcc.target/mips/pr74563: New test.

From-SVN: r246987

7 years agoDaily bump.
GCC Administrator [Wed, 19 Apr 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246986

7 years agore PR tree-optimization/80443 (ICE on valid code at -O2 on x86_64-linux-gnu: in set_v...
Jakub Jelinek [Tue, 18 Apr 2017 19:17:32 +0000 (21:17 +0200)]
re PR tree-optimization/80443 (ICE on valid code at -O2 on x86_64-linux-gnu: in set_value_range, at tree-vrp.c:367)

PR tree-optimization/80443
* tree-vrp.c (intersect_ranges): For signed 1-bit precision type,
instead of adding 1, subtract -1 and similarly instead of subtracting
1 add -1.

* gcc.c-torture/compile/pr80443.c: New test.

From-SVN: r246981

7 years agore PR rtl-optimization/80357 (ICE in model_update_limit_points_in_group, at haifa...
Richard Sandiford [Tue, 18 Apr 2017 18:49:19 +0000 (18:49 +0000)]
re PR rtl-optimization/80357 (ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu)

gcc/
PR rtl-optimization/80357
* haifa-sched.c (tmp_bitmap): New variable.
(model_recompute): Handle duplicate use records.
(alloc_global_sched_pressure_data): Initialize tmp_bitmap.
(free_global_sched_pressure_data): Free it.

gcc/testsuite/
PR rtl-optimization/80357
* gcc.c-torture/compile/pr80357.c: New test.

From-SVN: r246980

7 years agorevert: Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
Bernd Edlinger [Tue, 18 Apr 2017 18:10:27 +0000 (18:10 +0000)]
revert: Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.

2017-04-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Revert:
        2017-02-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
        * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
        (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
        instead of SYSTEM_HEADER_DIR.

From-SVN: r246979

7 years agore PR middle-end/80422 (ICE on valid code at -O3 in 32-bit mode on x86_64-linux-gnu...
Jeff Law [Tue, 18 Apr 2017 17:31:30 +0000 (11:31 -0600)]
re PR middle-end/80422 (ICE on valid code at -O3 in 32-bit mode on x86_64-linux-gnu: in operator[], at vec.h:732)

PR middle-end/80422
* cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have
predecessors after walking up the insn chain.

PR middle-end/80422
* gcc.c-torture/compile/pr80422.c: New test.

From-SVN: r246975

7 years agore PR debug/80263 (gcc's internal type "sizetype" leaks out as base type name in...
Jakub Jelinek [Tue, 18 Apr 2017 16:58:48 +0000 (18:58 +0200)]
re PR debug/80263 (gcc's internal type "sizetype" leaks out as base type name in the DWARF info)

PR debug/80263
* dwarf2out.c (modified_type_die): Try harder not to emit internal
sizetype type into debug info.

* gcc.dg/debug/dwarf2/pr80263.c: New test.

From-SVN: r246973

7 years agore PR target/80099 (ICE in rs6000_expand_vector_extract, at config/rs6000/rs6000...
Michael Meissner [Tue, 18 Apr 2017 16:41:06 +0000 (16:41 +0000)]
re PR target/80099 (ICE in rs6000_expand_vector_extract, at config/rs6000/rs6000.c:7450)

[gcc]
2017-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80099
* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate
unneeded test for TARGET_UPPER_REGS_SF.
* config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise.

[gcc/testsuite]
2017-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80099
* gcc.target/powerpc/pr80099-1.c: New test.
* gcc.target/powerpc/pr80099-2.c: Likewise.
* gcc.target/powerpc/pr80099-3.c: Likewise.
* gcc.target/powerpc/pr80099-4.c: Likewise.
* gcc.target/powerpc/pr80099-5.c: Likewise.

From-SVN: r246972

7 years agore PR sanitizer/80444 (-fcompare-debug failures with -fsanitize-coverage=trace-pc)
Jakub Jelinek [Tue, 18 Apr 2017 15:02:06 +0000 (17:02 +0200)]
re PR sanitizer/80444 (-fcompare-debug failures with -fsanitize-coverage=trace-pc)

PR sanitizer/80444
* sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb
instead of gsi_after_labels.

* gcc.dg/sancov/pr80444.c: New test.

From-SVN: r246971

7 years agoregcprop.c (maybe_mode_change): Avoid creating copies of the stack pointer.
Jeff Law [Tue, 18 Apr 2017 15:00:43 +0000 (09:00 -0600)]
regcprop.c (maybe_mode_change): Avoid creating copies of the stack pointer.

* regcprop.c (maybe_mode_change): Avoid creating copies of the
stack pointer.

Revert:
2017-04-13  Jeff Law  <law@redhat.com>
* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
in operands[1] if it is a MEM and TARGET_MIPS16 is active.

From-SVN: r246970

7 years agoTypo.
Georg-Johann Lay [Tue, 18 Apr 2017 13:25:42 +0000 (13:25 +0000)]
Typo.

From-SVN: r246969

7 years agore PR c++/79435 (ICE on invalid C++ code (with member access into an incomplete type...
Georg-Johann Lay [Tue, 18 Apr 2017 13:15:47 +0000 (13:15 +0000)]
re PR c++/79435 (ICE on invalid C++ code (with member access into an incomplete type) on x86_64-linux-gnu: Segmentation fault)

gcc/
PR target/79435
* config/avr/avr.c (intl.h): Include it.
(avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _().

From-SVN: r246966

7 years agore PR middle-end/79788 (ICE in expand_expr_real_2, at expr.c:9557)
Jakub Jelinek [Tue, 18 Apr 2017 13:15:46 +0000 (15:15 +0200)]
re PR middle-end/79788 (ICE in expand_expr_real_2, at expr.c:9557)

PR middle-end/79788
PR middle-end/80375
* c-common.c (c_common_type_for_mode): Don't handle
widest_*_literal_type_node here.
c_common_signed_or_unsigned_type): Likewise.
(c_common_nodes_and_builtins): Set widest_*_literal_type_node
to *intTI_type_node or *intDI_type_node depending on whether
TImode is supported by the target or not.

* gcc.dg/pr79788-1.c: New test.
* gcc.dg/pr79788-2.c: New test.

From-SVN: r246965

7 years agoFix incorrect results from std::boyer_moore_searcher
Jonathan Wakely [Tue, 18 Apr 2017 11:08:00 +0000 (12:08 +0100)]
Fix incorrect results from std::boyer_moore_searcher

* include/std/functional (default_searcher, __boyer_moore_array_base)
(__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher)
(boyer_moore_horspool_searcher): Remove redundant namespace
qualification.
(default_searcher::operator()): Construct return value early and
advance second member in-place.
(boyer_moore_horspool_searcher::operator()): Increment random access
iterator directly instead of using std::next.
(boyer_moore_searcher::operator()): Fix return value.
* testsuite/20_util/function_objects/searchers.cc: Check both parts
of return values.

From-SVN: r246964

7 years agoPR c++/80241 - ICE with alignas pack expansion.
Marek Polacek [Tue, 18 Apr 2017 09:38:55 +0000 (09:38 +0000)]
PR c++/80241 - ICE with alignas pack expansion.

* error.c (dump_expr): Handle TREE_LIST.
* parser.c (cp_parser_std_attribute_list): Return error_mark if
make_pack_expansion returns an error.

* g++.dg/cpp0x/alignas11.C: New test.

From-SVN: r246963

7 years agoPR c++/80244 - ICE with attribute in template alias.
Marek Polacek [Tue, 18 Apr 2017 09:34:10 +0000 (09:34 +0000)]
PR c++/80244 - ICE with attribute in template alias.

* tree.c (strip_typedefs): Handle UNDERLYING_TYPE.

* g++.dg/cpp0x/alias-decl-59.C: New test.

From-SVN: r246962

7 years agoValidate that destination gcov file does not exist for gcov-tool (PR gcov-profile...
Martin Liska [Tue, 18 Apr 2017 07:24:20 +0000 (09:24 +0200)]
Validate that destination gcov file does not exist for gcov-tool (PR gcov-profile/78783).

2017-04-18  Martin Liska  <mliska@suse.cz>

PR gcov-profile/78783
* libgcov-driver.c (gcov_get_filename): New function.
2017-04-18  Martin Liska  <mliska@suse.cz>

PR gcov-profile/78783
* gcov-tool.c (gcov_output_files): Validate that destination
file is either removed by the tool or by a user.

From-SVN: r246961

7 years agoDaily bump.
GCC Administrator [Tue, 18 Apr 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246960

7 years agolibgo: update to Go 1.8.1 release
Ian Lance Taylor [Mon, 17 Apr 2017 22:10:58 +0000 (22:10 +0000)]
libgo: update to Go 1.8.1 release

    Reviewed-on: https://go-review.googlesource.com/40775

From-SVN: r246957

7 years ago017-04-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
Bernd Edlinger [Mon, 17 Apr 2017 20:41:40 +0000 (20:41 +0000)]
017-04-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c++/80287
        * class.c (fixup_may_alias): Fix all type variants.

gcc/testsuite
2017-04-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c++/80287
        * g++.dg/lto/pr80287_0.C: New test.

From-SVN: r246955

7 years agoPR c++/80415 - wrong error with default arg and array reference.
Jason Merrill [Mon, 17 Apr 2017 19:39:00 +0000 (15:39 -0400)]
PR c++/80415 - wrong error with default arg and array reference.

* tree.c (lvalue_kind): Return clk_class for an array prvalue.

From-SVN: r246954

7 years ago* pt.c (tsubst_init): Set TARGET_EXPR_DIRECT_INIT_P.
Jason Merrill [Mon, 17 Apr 2017 19:24:31 +0000 (15:24 -0400)]
* pt.c (tsubst_init): Set TARGET_EXPR_DIRECT_INIT_P.

From-SVN: r246953

7 years agore PR fortran/80440 (Slow compile when USEing modules)
Paul Thomas [Mon, 17 Apr 2017 18:22:03 +0000 (18:22 +0000)]
re PR fortran/80440 (Slow compile when USEing modules)

2017-04-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/80440
* module.c (find_symtree_for_symbol): Delete.
(read_module): Remove the call to the above.

From-SVN: r246952

7 years agore PR target/80315 (Calling __builtin_crypto_vshasigmaw with argument 3 out of range...
Kelvin Nilsen [Mon, 17 Apr 2017 16:16:43 +0000 (16:16 +0000)]
re PR target/80315 (Calling __builtin_crypto_vshasigmaw with argument 3 out of range creates an unrecognizable insn)

gcc/testsuite/ChangeLog:

2017-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>

PR target/80315
* gcc.target/powerpc/pr80315-1.c: New test.
* gcc.target/powerpc/pr80315-2.c: New test.
* gcc.target/powerpc/pr80315-3.c: New test.
* gcc.target/powerpc/pr80315-4.c: New test.

From-SVN: r246949

7 years agoDaily bump.
GCC Administrator [Mon, 17 Apr 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246948

7 years agoRemove braces around line number in dejagnu directive
Tom de Vries [Sun, 16 Apr 2017 08:17:14 +0000 (08:17 +0000)]
Remove braces around line number in dejagnu directive

2017-04-16  Tom de Vries  <tom@codesourcery.com>

* g++.dg/parse/error11.C: Remove braces around line number in dejagnu
  directive.
* g++.dg/parse/error3.C: Same.
* g++.old-deja/g++.pt/niklas01a.C: Same.
* gcc.dg/990506-0.c: Same.
* gcc.dg/cpp/19990413-1.c: Same.
* gcc.dg/cpp/pragma-1.c: Same.
* gcc.dg/cpp/pragma-2.c: Same.
* gcc.dg/m-un-2.c: Same.
* objc.dg/private-1.m: Same.

From-SVN: r246945

7 years agoDaily bump.
GCC Administrator [Sun, 16 Apr 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246944

7 years agopr54669.c: Fix dg-do directive.
Uros Bizjak [Sat, 15 Apr 2017 20:07:47 +0000 (22:07 +0200)]
pr54669.c: Fix dg-do directive.

* gcc.dg/pr54669.c: Fix dg-do directive.
* gcc.dg/pr78582.c: Ditto.
* gcc.dg/pr80020.c: Ditto.
* gcc.dg/torture/pr57993-2.cpp: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-3.c: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-4.c: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-5.c: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-6.c: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-warn-5.c: Ditto.
* gcc.dg/tree-ssa/pr79327-2.c: Ditto.
* gcc.dg/tree-ssa/pr79352.c: Ditto.
* gcc.dg/tree-ssa/pr79376.c: Ditto.
* gcc.dg/tree-ssa/pr79691.c: Ditto.

From-SVN: r246941

7 years agodeferred_character_3.f90: Fix dg directive.
Dominique d'Humieres [Sat, 15 Apr 2017 18:17:11 +0000 (20:17 +0200)]
deferred_character_3.f90: Fix dg directive.

2017-04-15  Dominique d'Humieres  <dominiq@lps.ens.fr>

* gfortran.dg/deferred_character_3.f90: Fix dg directive.
* gfortran.dg/generic_29.f90: Likewise.
* gfortran.dg/goacc/multi-clause.f90: Likewise.
* gfortran.dg/pr41922.f90: Likewise.
* gfortran.dg/pr70006.f90: Likewise.

From-SVN: r246940

7 years agors6000: Testcase 20050830-1.c no longer fails (PR66612)
Segher Boessenkool [Sat, 15 Apr 2017 04:11:35 +0000 (06:11 +0200)]
rs6000: Testcase 20050830-1.c no longer fails (PR66612)

Bin's commit r246810, for PR80153, fixes 20050830-1.c for -m64 (it
already passed for -m32).  So, this patch removes the remaining xfail.

gcc/testsuite/
PR tree-optimization/66612
* gcc.target/powerpc/20050830-1.c: Remove xfail.

From-SVN: r246939

7 years ago[libcp1] handle anon aggregates linkage-named by typedefs
Alexandre Oliva [Sat, 15 Apr 2017 03:28:31 +0000 (03:28 +0000)]
[libcp1] handle anon aggregates linkage-named by typedefs

Arrange for the first typedef to an anonymous type in the same context
to be used as the linkage name for the type.

for  gcc/cp/ChangeLog

* decl.c (name_unnamed_type): Split out of...
(grokdeclarator): ... this.
* decl.h (name_unnamed_type): Declare.

for  libcc1/ChangeLog

* libcp1plugin.cc (plugin_build_decl): Call name_unnamed_type.

From-SVN: r246938

7 years agoDaily bump.
GCC Administrator [Sat, 15 Apr 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246937

7 years agore PR fortran/80361 ([OOP] bogus recursive call to nonrecursive procedure with ...
Janus Weil [Fri, 14 Apr 2017 21:17:52 +0000 (23:17 +0200)]
re PR fortran/80361 ([OOP] bogus  recursive call to nonrecursive procedure with -fcheck=recursion)

2017-04-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/80361
* class.c (generate_finalization_wrapper): Give the finalization wrapper
the recursive attribute.

2017-04-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/80361
* gfortran.dg/class_62.f90: New test case.

From-SVN: r246934

7 years agoarc: Fix for loop end detection
Andrew Burgess [Fri, 14 Apr 2017 21:14:34 +0000 (22:14 +0100)]
arc: Fix for loop end detection

We use a negative ID number to link together the doloop_begin and
doloop_end instructions.  This negative ID number is setup within
doloop_begin, at this point the ID is stored into the loop end
instruction (doloop_end_i) and placed into the doloop_begin_i
instruction.

In arc.c (arc_reorg) we extract the ID from the doloop_end_i
instruction in order to find the matching doloop_begin_i instruction,
though the ID is only used in some cases.

Currently in arc_reorg when we extract the ID we negate it.  This
negation is invalid.  The ID stored in both doloop_end_i and
doloop_begin_i is already negative, the negation in arc_reorg means
that if we need to use the ID to find the doloop_begin_i then we will
never find it (as the IDs will never match).

This commit removes the unneeded negation, moves the extraction of the
ID into a more appropriately scoped block and adds a new test for this
issue.

gcc/ChangeLog:

* config/arc/arc.c (arc_reorg): Move loop_end_id into a more local
block, and do not negate it, the stored id is already negative.

gcc/testsuite/ChangeLog:

* gcc.target/arc/loop-1.c: New file.

Co-Authored-By: Guy Benyei <guybe@mellanox.com>
From-SVN: r246933

7 years agoarc: Use @pcl assembler syntax instead of invalid expressions
Andrew Burgess [Fri, 14 Apr 2017 21:08:35 +0000 (22:08 +0100)]
arc: Use @pcl assembler syntax instead of invalid expressions

The old ARC assembler would accept expressions like 'LABEL-(.&-4)'
which would calculate the offset from the PCL to LABEL.  The new ARC
assembler does not accept these expressions, instead there's an @pcl
synax, used like LABEL@pcl which gives the offset from PCL to LABEL.

Most of the use of the old expression syntax have been removed,
however, this one got missed.

gcc/ChangeLog:

* config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.

From-SVN: r246932

7 years agore PR target/80098 (ICE in curr_insn_transform, at lra-constraints.c:3816 on ppc64le)
Michael Meissner [Fri, 14 Apr 2017 20:27:18 +0000 (20:27 +0000)]
re PR target/80098 (ICE in curr_insn_transform, at lra-constraints.c:3816 on ppc64le)

[gcc]
2017-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80098
* config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define
masks of options that should be turned off if the VSX vector
options are turned off.
(OTHER_P8_VECTOR_MASKS): Likewise.
(OTHER_VSX_VECTOR_MASKS): Likewise.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Call
rs6000_disable_incompatible_switches to validate no type switches
like -mvsx.
(rs6000_incompatible_switch): New function to disallow turning on
other vector options if -mno-vsx, -mno-power8-vector, or
-mno-power9-vector are specified.

[gcc/testsuite]
2017-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80098
* gcc.target/powerpc/pr80098-1.c: New test.
* gcc.target/powerpc/pr80098-2.c: Likewise.
* gcc.target/powerpc/pr80098-3.c: Likewise.
* gcc.target/powerpc/pr80098-4.c: Likewise.

From-SVN: r246930

7 years ago[ARC] Use long jumps for CRT calls
Claudiu Zissulescu [Fri, 14 Apr 2017 11:41:04 +0000 (13:41 +0200)]
[ARC] Use long jumps for CRT calls

gcc/
2017-04-17  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.

From-SVN: r246927

7 years ago[ARC] DWARF emitting cleanup.
Claudiu Zissulescu [Fri, 14 Apr 2017 11:40:54 +0000 (13:40 +0200)]
[ARC] DWARF emitting cleanup.

The use of CFA_FRAME_BASE_OFFSET and ARG_POINTER_CFA_OFFSET macros
leads to wrong offset calculation for DW_OP_fbreg constructions.
Remove them.

gcc/
2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
* config/arc/arc.c (arc_decl_pretend_args): Likewise.
* config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
(ARG_POINTER_CFA_OFFSET): Likewise.

From-SVN: r246926

7 years ago[ARC] Update mode_dependent_address_p hook.
Claudiu Zissulescu [Fri, 14 Apr 2017 11:40:43 +0000 (13:40 +0200)]
[ARC] Update mode_dependent_address_p hook.

Update arc_mode_dependent_address_p to avoid emitting subreg(mem (reg
..)) when expanding by relaxing the conditions.

gcc/
2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_mode_dependent_address_p): Relax
conditions to take advantage of various optimizations.

From-SVN: r246925

7 years agomips.mips.md (zero_extendsidi2): Do not allow SP to appear in operands[1] if it is...
Jeff Law [Fri, 14 Apr 2017 05:13:19 +0000 (23:13 -0600)]
mips.mips.md (zero_extendsidi2): Do not allow SP to appear in operands[1] if it is a MEM and TARGET_MIPS16 is active.

* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
in operands[1] if it is a MEM and TARGET_MIPS16 is active.
(zero_extendsidi2_dext): Likewise.

From-SVN: r246924

7 years agoDaily bump.
GCC Administrator [Fri, 14 Apr 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246923

7 years agoplugin-nvptx.c (cuda_lib_inited): Use signed char type instead of char.
Jakub Jelinek [Thu, 13 Apr 2017 19:59:04 +0000 (21:59 +0200)]
plugin-nvptx.c (cuda_lib_inited): Use signed char type instead of char.

* plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
instead of char.

From-SVN: r246918

7 years agore PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expres...
Jakub Jelinek [Thu, 13 Apr 2017 19:52:58 +0000 (21:52 +0200)]
re PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expression" message in / and % expr)

PR sanitizer/80403
* fold-const.c (fold_ternary_loc): Revert
use op0 instead of fold_convert_loc (loc, type, arg0) part of
2017-04-12 change.

* g++.dg/ubsan/pr80403-2.C: New test.

From-SVN: r246917

7 years agore PR rtl-optimization/80343 (ICE in extract_constrain_insn, at recog.c:2213 (error...
Vladimir Makarov [Thu, 13 Apr 2017 18:08:51 +0000 (18:08 +0000)]
re PR rtl-optimization/80343 (ICE in extract_constrain_insn, at recog.c:2213 (error: insn does not satisfy its constraints))

2017-04-13  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/80343
* lra-remat.c (update_scratch_ops): Assign original hard reg to
new scratch pseudo.

2017-04-13  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/80343
* gcc.target/powerpc/pr80343.c: New.

From-SVN: r246914

7 years agore PR sanitizer/80414 ([UBSAN] segfault with -fsanitize=undefined)
Denis Khalikov [Thu, 13 Apr 2017 14:52:23 +0000 (14:52 +0000)]
re PR sanitizer/80414 ([UBSAN] segfault with -fsanitize=undefined)

PR sanitizer/80414
* ubsan.c (ubsan_expand_bounds_ifn): Pass original index
to ubsan_encode_value.

* c-c++-common/ubsan/bounds-15.c: New test.

From-SVN: r246909

7 years agoreload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs appearing in DEBUG_...
Jeff Law [Thu, 13 Apr 2017 14:02:33 +0000 (08:02 -0600)]
reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs appearing in DEBUG_INSNs.

* reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs
appearing in DEBUG_INSNs.

From-SVN: r246904

7 years agoDo not call memcpy with a NULL argument (PR gcov-profile/80413).
Martin Liska [Thu, 13 Apr 2017 11:51:28 +0000 (13:51 +0200)]
Do not call memcpy with a NULL argument (PR gcov-profile/80413).

2017-04-13  Martin Liska  <mliska@suse.cz>

PR gcov-profile/80413
* gcov-io.c (gcov_write_string): Copy to buffer just when
allocated size is greater than zero.

From-SVN: r246903

7 years agore PR testsuite/80416 (FAIL: g++.dg/torture/pr79671.C -O2 execution test)
Richard Biener [Thu, 13 Apr 2017 11:17:38 +0000 (11:17 +0000)]
re PR testsuite/80416 (FAIL: g++.dg/torture/pr79671.C   -O2  execution test)

2017-04-13  Richard Biener  <rguenther@suse.de>

PR testsuite/80416
* g++.dg/torture/pr79671.C: Fix asm constraints.

From-SVN: r246902

7 years agore PR debug/80321 (infinite recursion with inlining of nested function and debug...
Jakub Jelinek [Thu, 13 Apr 2017 11:05:09 +0000 (13:05 +0200)]
re PR debug/80321 (infinite recursion with inlining of nested function and debug info)

PR debug/80321
* dwarf2out.c (decls_for_scope): Ignore declarations of
current_function_decl in BLOCK_NONLOCALIZED_VARS.

* gcc.dg/debug/pr80321.c: New test.

2017-04-13  Eric Botcazou  <ebotcazou@adacore.com>

* gnat.dg/debug10.adb: New test.
* gnat.dg/debug10_pkg.ads: New helper.

From-SVN: r246900

7 years agore PR c++/69953 (Using lto causes gtkmm/gparted and gtkmm/inkscape compile to fail)
Jan Hubicka [Thu, 13 Apr 2017 08:04:52 +0000 (10:04 +0200)]
re PR c++/69953 (Using lto causes gtkmm/gparted and gtkmm/inkscape compile to fail)

PR lto/69953
* ipa-visibility.c (non_local_p): Fix typos.
(localize_node): When localizing symbol in same comdat group,
dissolve the group only when we know external symbols are going
to be privatized.
(function_and_variable_visibility): Do not localize DECL_EXTERNAL.

From-SVN: r246899

7 years agoDaily bump.
GCC Administrator [Thu, 13 Apr 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246898

7 years agore PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)
Jakub Jelinek [Wed, 12 Apr 2017 18:09:47 +0000 (20:09 +0200)]
re PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)

PR tree-optimization/79390
* optabs.c (emit_conditional_move): If the preferred op2/op3 operand
order does not result in usable sequence, retry with reversed operand
order.

* gcc.target/i386/pr70465-2.c: Xfail the scan-assembler-not test.

From-SVN: r246882