gcc.git
8 years ago* Makefile.in (gcov-iov.h): Add dummy recipe.
Eric Botcazou [Mon, 29 Aug 2016 14:43:29 +0000 (14:43 +0000)]
* Makefile.in (gcov-iov.h): Add dummy recipe.

From-SVN: r239823

8 years ago* gcc.dg/ipa/iinline-attr.c: XFAIL on Visium.
Eric Botcazou [Mon, 29 Aug 2016 14:25:45 +0000 (14:25 +0000)]
* gcc.dg/ipa/iinline-attr.c: XFAIL on Visium.

From-SVN: r239821

8 years ago* config/nvptx/nvptx.c: #include tree-vrp.h.
Nathan Sidwell [Mon, 29 Aug 2016 12:49:10 +0000 (12:49 +0000)]
* config/nvptx/nvptx.c: #include tree-vrp.h.

From-SVN: r239820

8 years agoFix, reorganize, and clarify comparisons of anonymous types/components.
Fritz Reese [Mon, 29 Aug 2016 12:24:25 +0000 (12:24 +0000)]
Fix, reorganize, and clarify comparisons of anonymous types/components.

2016-08-29  Fritz Reese  <fritzoreese@gmail.com>

Fix, reorganize, and clarify comparisons of anonymous types/components.

PR fortran/77327
* interface.c (is_anonymous_component, is_anonymous_dt): New functions.
* interface.c (compare_components, gfc_compare_derived_types): Use new
functions.

* gfortran.dg/dec_structure_13.f90: New testcase.

From-SVN: r239819

8 years agoPR fortran/77261 Run random_3 testcase only when real(10) is available.
Janne Blomqvist [Mon, 29 Aug 2016 08:29:16 +0000 (11:29 +0300)]
PR fortran/77261 Run random_3 testcase only when real(10) is available.

From-SVN: r239817

8 years agoDaily bump.
GCC Administrator [Mon, 29 Aug 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239814

8 years agoi386.c (ix86_option_override_internal): Re-sort a couple of processor_alias_table...
Uros Bizjak [Sun, 28 Aug 2016 16:22:22 +0000 (18:22 +0200)]
i386.c (ix86_option_override_internal): Re-sort a couple of processor_alias_table entries.

* config/i386/i386.c (ix86_option_override_internal): Re-sort
  a couple of processor_alias_table entries.

From-SVN: r239809

8 years agore PR target/77324 (ICE in push_reload, at reload.c:1350)
Eric Botcazou [Sun, 28 Aug 2016 08:50:09 +0000 (08:50 +0000)]
re PR target/77324 (ICE in push_reload, at reload.c:1350)

PR target/77324
* config/sparc/sparc.c (sparc_legitimate_address_p): Accept special
HIGH+LO construct during reload.

From-SVN: r239807

8 years agoTag {ms,sysv}_va_list_type_node with '{ms,sysv}_abi va_list' attribute
Tom de Vries [Sun, 28 Aug 2016 05:05:15 +0000 (05:05 +0000)]
Tag {ms,sysv}_va_list_type_node with '{ms,sysv}_abi va_list' attribute

2016-08-28  Tom de Vries  <tom@codesourcery.com>

PR lto/70955
* config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with
'sysv_abi va_list' attribute.
(ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute.
(ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list'
attributes.

* gcc.dg/pr70955.c: New test.
* gcc.dg/lto/pr70955_0.c: Same.
* gcc.dg/lto/pr70955_1.c: Same.

From-SVN: r239805

8 years agoDaily bump.
GCC Administrator [Sun, 28 Aug 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239804

8 years agomake stack_slot_list a vec<rtx>
Trevor Saunders [Sun, 28 Aug 2016 00:04:04 +0000 (00:04 +0000)]
make stack_slot_list a vec<rtx>

gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* emit-rtl.h (struct rtl_data): Make stack_slot_list a vector.
* emit-rtl.c (unshare_all_rtl_1): Adjust.
(unshare_all_rtl_again): Likewise.
* function.c (assign_stack_local_1): Likewise.
(assign_stack_temp_for_type): Likewise.

From-SVN: r239801

8 years agomake forced labels a vec
Trevor Saunders [Sun, 28 Aug 2016 00:03:59 +0000 (00:03 +0000)]
make forced labels a vec

gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfgbuild.c (make_edges): Adjust.
* cfgrtl.c (can_delete_label_p): Likewise.
* dwarf2cfi.c (create_trace_edges): Likewise.
* except.c (sjlj_emit_dispatch_table): Likewise.
* function.h (struct expr_status): make x_forced_labels a vector.
* jump.c (rebuild_jump_labels_1): Adjust.
* reload1.c (set_initial_label_offsets): Likewise.
* stmt.c (force_label_rtx): Likewise.
(expand_label): Likewise.

From-SVN: r239800

8 years agohaifa-sched.c: make ready_list an auto_vec<rtx_insn *>
Trevor Saunders [Sun, 28 Aug 2016 00:03:52 +0000 (00:03 +0000)]
haifa-sched.c: make ready_list an auto_vec<rtx_insn *>

gcc/ChangeLog:

2016-08-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* haifa-sched.c (fix_recovery_deps): Make ready_list a vector.

From-SVN: r239799

8 years agoFix folding of VECTOR_CST comparisons
Patrick Palka [Sat, 27 Aug 2016 22:00:17 +0000 (22:00 +0000)]
Fix folding of VECTOR_CST comparisons

gcc/ChangeLog:

PR tree-optimization/71077
PR tree-optimization/68542
* fold-const.c (fold_relational_const): Fix folding of
VECTOR_CST comparisons that have a scalar boolean result type.
(selftest::test_vector_folding): New static function.
(selftest::fold_const_c_tests): Call it.

gcc/testsuite/ChangeLog:

PR tree-optimization/71077
* gcc.target/i386/pr71077.c: New test.

From-SVN: r239798

8 years agoextend.texi (SPU Built-in Functions): Remove stale references to material formerly...
Gerald Pfeifer [Sat, 27 Aug 2016 18:15:59 +0000 (18:15 +0000)]
extend.texi (SPU Built-in Functions): Remove stale references to material formerly at IBM and Sony.

* doc/extend.texi (SPU Built-in Functions): Remove stale
references to material formerly at IBM and Sony.

From-SVN: r239797

8 years agore PR fortran/77380 (ICE in gfc_check_dependency, at fortran/dependency.c:1255)
Steven G. Kargl [Sat, 27 Aug 2016 15:45:35 +0000 (15:45 +0000)]
re PR fortran/77380 (ICE in gfc_check_dependency, at fortran/dependency.c:1255)

2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

PR fortran/77380
* dependency.c (gfc_check_dependency): Do not assert with
-fcoarray=lib.

2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

PR fortran/77380
* gfortran.dg/pr77380.f90: New test.

From-SVN: r239796

8 years agore PR fortran/77372 (ICE in simplify_ieee_selected_real_kind, at fortran/simplify...
Steven G. Kargl [Sat, 27 Aug 2016 15:38:55 +0000 (15:38 +0000)]
re PR fortran/77372 (ICE in simplify_ieee_selected_real_kind, at fortran/simplify.c:7049)

2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

PR fortran/77372
simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.

2016-08-27  Steven G. Kargl <kargl@gcc.gnu.org>

PR fortran/77372
gfortran.dg/pr77372.f90: New test.

From-SVN: r239795

8 years agore PR libstdc++/77356 (regex error for a ECMAScript syntax string)
Tim Shen [Sat, 27 Aug 2016 02:03:23 +0000 (02:03 +0000)]
re PR libstdc++/77356 (regex error for a ECMAScript syntax string)

PR libstdc++/77356
* include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
_M_expression_term): Modify to support dash literal.
* include/bits/regex_scanner.h: Add dash as a token type to make
a different from the mandated dash literal by escaping.
* include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
token in bracket expression parsing.
* testsuite/28_regex/regression.cc: Add new testcases.

From-SVN: r239794

8 years agoDaily bump.
GCC Administrator [Sat, 27 Aug 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239793

8 years agore PR target/77349 (AIX DWARF debugging offset in 64 bit mode)
David Edelsohn [Fri, 26 Aug 2016 23:51:27 +0000 (23:51 +0000)]
re PR target/77349 (AIX DWARF debugging offset in 64 bit mode)

PR target/77349
* config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE.

From-SVN: r239790

8 years agoAdd validation and consolidation of fix-it hints
David Malcolm [Fri, 26 Aug 2016 21:25:41 +0000 (21:25 +0000)]
Add validation and consolidation of fix-it hints

The first aspect of this patch is to add some checking of fix-it hints.
The idea is to put this checking within the rich_location machinery,
rather than requiring every diagnostic to implement it for itself.

The fixits within a rich_location are "atomic": all must be valid for
any to be applicable.

We reject any fixits involving locations above
LINE_MAP_MAX_LOCATION_WITH_COLS.

There's no guarantee that it's sane to modify a macro, so we reject
any fix-its that touch them.

For example, note the attempt to provide a fix-it for the definition
of the macro FIELD:

spellcheck-fields-2.c: In function ‘test_macro’:
spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’?
 #define FIELD colour
               ^
               color
spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’
   return ptr->FIELD;
               ^~~~~

After this patch, the fixit is not displayed:

spellcheck-fields-2.c: In function ‘test_macro’:
spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’?
 #define FIELD colour
               ^
spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’
   return ptr->FIELD;
               ^~~~~

We might want some way for a diagnostic to opt-in to fix-its that
affect macros, but for now it's simplest to reject them.

The other aspect of this patch is fix-it consolidation: in some cases
neighboring fix-its can be merged.  For example, in a diagnostic to
modernize old-style struct initializers from:

 struct s example = {
- foo: 1,
+ .foo = 1,
 };

one approach would be to replace the "foo" with ".foo" and the ":"
with " =".  This would give two "replace" fix-its:

  foo: 1,
  --- FIXIT 1
  .foo
     - FIXIT 2
     =

This patch allows them to be consolidated into a single "replace" fix-it:

  foo: 1,
  ----
  .foo =

gcc/ChangeLog:
* diagnostic-show-locus.c
(selftest::test_fixit_consolidation): New function.
(selftest::diagnostic_show_locus_c_tests): Call it.
* gcc-rich-location.h (gcc_rich_location): Eliminate unused
constructor based on source_range.

gcc/testsuite/ChangeLog:
* gcc.dg/spellcheck-fields-2.c (test): Move
dg-begin/end-multiline-output within function body.
(test_macro): New function.

libcpp/ChangeLog:
* include/line-map.h (rich_location): Eliminate unimplemented
constructor based on source_range.
(rich_location::get_last_fixit_hint): New method.
(rich_location::reject_impossible_fixit): New method.
(rich_location): Add fields m_line_table and
m_seen_impossible_fixit.
(fixit_hint::maybe_append_replace): New pure virtual function.
(fixit_insert::maybe_append_replace): New function.
(fixit_replace::maybe_append_replace): New function.
* line-map.c (rich_location::rich_location): Initialize
m_line_table and m_seen_impossible_fixit.
(rich_location::add_fixit_insert): Call
reject_impossible_fixit and bail out if true.
(column_before_p): New function.
(rich_location::add_fixit_replace): Call reject_impossible_fixit
and bail out if true.  Attempt to consolidate with neighboring
fixits.
(rich_location::get_last_fixit_hint): New method.
(rich_location::reject_impossible_fixit): New method.
(fixit_insert::maybe_append_replace): New method.
(fixit_replace::maybe_append_replace): New method.

From-SVN: r239789

8 years agoTweak to colors of fix-it hints
David Malcolm [Fri, 26 Aug 2016 17:59:08 +0000 (17:59 +0000)]
Tweak to colors of fix-it hints

Previous, fix-it hints were printed using the color of the severity
of the diagnostic (magenta for warnings, red for errors, cyan for
notes).

This patch updates fix-it hints so that replacement text is printed in
green, to better distinguish the suggested improvement from
the current code.  For example:

spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;  <<< RED
               ^~~~~~   <<< RED
               color    <<< GREEN

It makes sense for the underlinings that indicate deletions to
be printed in red, so the patch changes that also.  For example:

diagnostic-test-show-locus-color.c:179:9: warning: example of a removal hint
   int a;;  <<< MAGENTA
         ^  <<< MAGENTA
         -  <<< RED

gcc/ChangeLog:
* diagnostic-color.c (color_dict): Add "fixit-insert" and
"fixit-delete".
(parse_gcc_colors): Update description of default GCC_COLORS.
* diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete.
(colorizer::set_fixit_insert): New method.
(colorizer::set_fixit_delete): New method.
(colorizer::get_color_by_name): New method.
(colorizer::STATE_FIXIT_INSERT): New constant.
(colorizer::STATE_FIXIT_DELETE): New constant.
(class colorizer): Drop "_cs" suffix from fields.  Delete "_ce"
fields in favor of new field "m_stop_color".  Add fields
"m_fixit_insert" and "m_fixit_delete".
(colorizer::colorizer): Update for above changes.  Replace
colorize_start calls with calls to get_color_by_name.
(colorizer::begin_state): Handle STATE_FIXIT_INSERT and
STATE_FIXIT_DELETE.  Update for field renamings.
(colorizer::finish_state): Simplify by using m_stop_color,
rather than multiple identical "*_ce" fields.
(colorizer::get_color_by_name): New method.
(layout::print_any_fixits): Print insertions and replacements
using the "fixit-insert" color, and deletions using the
"fixit-delete" color.
* doc/invoke.texi (-fdiagnostics-color): Update description of
default GCC_COLORS, and of the supported capabilities.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-show-locus-color.c
(test_fixit_insert): Update expected output.
(test_fixit_remove): Likewise.
(test_fixit_replace): Likewise.

From-SVN: r239787

8 years agoFix gcc.dg/ipa/propbits-2.c
Rainer Orth [Fri, 26 Aug 2016 17:32:05 +0000 (17:32 +0000)]
Fix gcc.dg/ipa/propbits-2.c

* gcc.dg/ipa/propbits-2.c: Add -fdump-tree-optimized to dg-options.
Fix typo.

From-SVN: r239786

8 years agoxtensa: report stack usage
Max Filippov [Fri, 26 Aug 2016 17:23:37 +0000 (17:23 +0000)]
xtensa: report stack usage

This enables options -fstack-usage and -Wstack-usage.

2016-08-26  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.c (xtensa_expand_prologue): Update
current_function_static_stack_size variable with the static
stack frame size of the current function when
flag_stack_usage_info is enabled.

From-SVN: r239785

8 years agoAvoid calling a trivial default constructor.
Jason Merrill [Fri, 26 Aug 2016 15:10:57 +0000 (11:10 -0400)]
Avoid calling a trivial default constructor.

* class.c (default_ctor_p): New.
(in_class_defaulted_default_constructor): Use it.
(type_has_non_user_provided_default_constructor): Use it.
* call.c (build_over_call): Handle trivial default constructor.
* cp-tree.h: Declare default_ctor_p.

From-SVN: r239783

8 years agoPR c++/57728 - explicit instantiation and defaulted functions
Jason Merrill [Fri, 26 Aug 2016 15:10:51 +0000 (11:10 -0400)]
PR c++/57728 - explicit instantiation and defaulted functions

* pt.c (do_type_instantiation): Don't mess with non-user-provided
member functions.

From-SVN: r239782

8 years agolibstdc++/51960 move-construction for raw_storage_iterator
Jonathan Wakely [Fri, 26 Aug 2016 13:11:29 +0000 (14:11 +0100)]
libstdc++/51960 move-construction for raw_storage_iterator

PR libstdc++/51960
* doc/xml/manual/intro.xml: Document DR 2127 change.
* doc/html/*: Regenerate.
* include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
(operator++(), operator++(int)): Use injected class name.
* testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.

From-SVN: r239781

8 years agoipa-inline-analysis.c (inline_write_summary): Remove unnecessary assignment inside...
Nathan Sidwell [Fri, 26 Aug 2016 13:03:32 +0000 (13:03 +0000)]
ipa-inline-analysis.c (inline_write_summary): Remove unnecessary assignment inside if condition.

* ipa-inline-analysis.c (inline_write_summary): Remove unnecessary
assignment inside if condition.

From-SVN: r239779

8 years agore PR tree-optimization/69047 (memcpy is not as optimized as union is)
Richard Biener [Fri, 26 Aug 2016 12:33:43 +0000 (12:33 +0000)]
re PR tree-optimization/69047 (memcpy is not as optimized as union is)

2016-08-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69047
* tree-ssa.c (maybe_rewrite_mem_ref_base): Handle general bitfield
extracts similar to what FRE does.
(non_rewritable_mem_ref_base): Likewise.

* gcc.dg/pr69047.c: New testcase.

From-SVN: r239778

8 years agoUse effective-target instead of -std options
Jonathan Wakely [Fri, 26 Aug 2016 11:41:37 +0000 (12:41 +0100)]
Use effective-target instead of -std options

* testsuite/*: Use { target c++11 } or { target c++14 } instead of
using -std in dg-options.

From-SVN: r239777

8 years agoRestore dg-interpreter-batch-mode for libstdc++ tests
Jonathan Wakely [Fri, 26 Aug 2016 11:35:58 +0000 (12:35 +0100)]
Restore dg-interpreter-batch-mode for libstdc++ tests

2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
    Pedro Alves  <palves@redhat.com>

* testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
and restore dg-interpreter-batch-mode.
* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
gdb-dg-runtest instead of dg-runtest.
* testsuite/libstdc++-xmethods/xmethods.exp: Likewise.

Co-Authored-By: Pedro Alves <palves@redhat.com>
From-SVN: r239776

8 years agoAlways support float128 on x86.
Joseph Myers [Fri, 26 Aug 2016 11:13:42 +0000 (12:13 +0100)]
Always support float128 on x86.

In <https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, Nick
reported i386-elf and ia64-elf failing to build because of
float128_type_node being NULL, but being used by the back end for
__float128.

The global float128_type_node is only available conditionally, if
target hooks indicate TFmode is not only available as a scalar mode
and of the right format, but also supported in libgcc.  The back-end
support, however, expects the type always to be available for
__float128 even if the libgcc support is missing.

Although a target-specific node could be restored in the case where
libgcc support is missing, it seems better to address the missing
libgcc support.  Thus, this patch enables TFmode soft-fp in libgcc
globally for all x86 targets - the only special cases needed being for
targets that use soft-fp for SFmode and DFmode, one of which already
had the support for TFmode as well (so I based the i[34567]86-*-rtems*
configuration on that present for i[34567]86-*-elfiamcu).  The i386
implementation of TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P is then
removed as no longer needed.

I can provide such a patch for ia64 if useful, but am not in a
position to test it (and while I'm reasonably confident that enabling
this support would be right for ia64-elf and ia64-freebsd, I've no
real idea if enabling libgcc support for TFmode, with or without also
enabling it for XFmode, would be safe for ia64-vms).

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc:
* config/i386/i386.c (ix86_libgcc_floating_mode_supported_p)
(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove.
* config/i386/i386elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
* config/i386/lynx.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
* config/i386/netbsd-elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE):
Likewise.
* config/i386/netbsd64.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
* config/i386/nto.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
* config/i386/openbsd.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.
* config/i386/rtemself.h (IX86_NO_LIBGCC_TFMODE): Likewise.
* config/i386/vxworks.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise.

libgcc:
* config.host (i[34567]86-*-* | x86_64-*-*): Enable TFmode soft-fp
where not already enabled.

From-SVN: r239775

8 years agomangle.c (java_mangle_decl): Re-sync with lhd_set_decl_assembler_name.
Richard Biener [Fri, 26 Aug 2016 10:59:50 +0000 (10:59 +0000)]
mangle.c (java_mangle_decl): Re-sync with lhd_set_decl_assembler_name.

2016-08-26  Richard Biener  <rguenther@suse.de>

java/
* mangle.c (java_mangle_decl): Re-sync with lhd_set_decl_assembler_name.

From-SVN: r239774

8 years agoAdd new std::basic_string constructor (LWG 2583)
Jonathan Wakely [Fri, 26 Aug 2016 10:41:37 +0000 (11:41 +0100)]
Add new std::basic_string constructor (LWG 2583)

* config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
precise patterns for basic_string constructors.
(GLIBCXX_3.4.23): Export new constructors.
* doc/xml/manual/intro.xml: Document LWG 2583 status.
* doc/html/*: Regenerate.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string(const basic_string&, size_type, const Alloc&)): Add
new constructor for LWG 2583.
(basic_string(const basic_string&, size_type, size_type)): Remove
default argument.
[!_GLIBCXX_USE_CXX11_ABI]: Likewise.
* include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
* testsuite/21_strings/basic_string/cons/char/8.cc: New test.
* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.

From-SVN: r239773

8 years ago[ARM] PR target/70473: Reduce size of Cortex-A8 automaton
Kyrylo Tkachov [Fri, 26 Aug 2016 10:23:20 +0000 (10:23 +0000)]
[ARM] PR target/70473: Reduce size of Cortex-A8 automaton

PR target/70473
* config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce
reservation duration to 15 cycles.
(cortex_a8_vfp_macs): Likewise.
(cortex_a8_vfp_macd): Likewise.
(cortex_a8_vfp_divs): Likewise.
(cortex_a8_vfp_divd): Likewise.

From-SVN: r239772

8 years ago[ARM] Refactor MOVW/MOVT fusion logic to allow extension
Kyrylo Tkachov [Fri, 26 Aug 2016 10:22:08 +0000 (10:22 +0000)]
[ARM] Refactor MOVW/MOVT fusion logic to allow extension

* config/arm/arm.c (arm_sets_movw_movt_fusible_p): New function.
(aarch_macro_fusion_pair_p): Use above to avoid early return.

From-SVN: r239771

8 years agoPatch for performing interprocedural bitwise constant propagation.
Prathamesh Kulkarni [Fri, 26 Aug 2016 08:05:39 +0000 (08:05 +0000)]
Patch for performing interprocedural bitwise constant propagation.

2016-08-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
    Martin Jambhor  <mjambor@suse.cz>

* common.opt: New option -fipa-bit-cp.
* doc/invoke.texi: Document -fipa-bit-cp.
* opts.c (default_options_table): Add entry for -fipa-bit-cp.
(enable_fdo_optimizations): Check for flag_ipa_bit_cp.
* tree-ssa-ccp.h: New header file.
* tree-ssa-ccp.c: Include tree-ssa-ccp.h
(bit_value_binop_1): Change to bit_value_binop_1 and export it.
Replace all occurences of tree parameter by two new params: signop, int.
(bit_value_unop_1): Change to bit_value_unop and export it.
Replace all occurences of tree parameter by two new params: signop,
int.
(bit_value_binop): Change call from bit_value_binop_1 to
bit_value_binop.
(bit_value_assume_aligned): Likewise.
(bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop.
(do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p
to ccp_finalize.
(ccp_finalize): Skip processing if val->mask == 0.
* ipa-cp.c: Include tree-ssa-ccp.h
(ipcp_bits_lattice): New class.
(ipcp_param_lattice (bits_lattice): New member.
(print_all_lattices): Call ipcp_bits_lattice::print.
(set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom.
(initialize_node_lattices): Likewise.
(propagate_bits_accross_jump_function): New function.
(propagate_constants_accross_call): Call
propagate_bits_accross_jump_function.
(ipcp_propagate_stage): Store parameter types when in_lto_p is true.
(ipcp_store_bits_results): New function.
(ipcp_driver): Call ipcp_store_bits_results.
* ipa-prop.h (ipa_bits): New struct.
(ipa_jump_func): Add new member bits of type ipa_bits.
(ipa_param_descriptor): Change decl to decl_or_type.
(ipa_get_param): Change decl to decl_or_type and assert on
PARM_DECL.
(ipa_get_type): New function.
(ipcp_transformation_summary): New member bits.
* ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type.
(ipa_populate_param_decls): Likewise.
(ipa_dump_param): Likewise.
(ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump
function.
(ipa_set_jf_unknown): Set ipa_bits::known to false.
(ipa_compute_jump_functions_for_edge): Compute jump function for bits
propagation.
(ipa_node_params_t::duplicate): Copy src->bits into dst->bits.
(ipa_write_jump_function): Add streaming for ipa_bits.
(ipa_read_jump_function): Add support for reading streamed ipa_bits.
(write_ipcp_transformation_info): Add streaming for ipa_bits
summary for ltrans.
(read_ipcp_transfomration_info): Add support for reading streamed ipa_bits.
(ipcp_update_bits): New function.
(ipcp_transform_function): Call ipcp_update_bits.

testsuite/
* gcc.dg/ipa/propbits-1.c: New test-case.
* gcc.dg/ipa/propbits-2.c: Likewise.
* gcc.dg/ipa/propbits-3.c: Likewise.

Co-Authored-By: Martin Jambor <mjambor@suse.cz>
From-SVN: r239769

8 years agoUpdate .po files.
Joseph Myers [Fri, 26 Aug 2016 01:05:13 +0000 (02:05 +0100)]
Update .po files.

* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
zh_TW.po: Update.

From-SVN: r239767

8 years agoDaily bump.
GCC Administrator [Fri, 26 Aug 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239766

8 years agore PR fortran/77351 (ICE in remove_trim, at frontend-passes.c:1145)
Steven G. Kargl [Thu, 25 Aug 2016 19:35:46 +0000 (19:35 +0000)]
re PR fortran/77351 (ICE in remove_trim, at frontend-passes.c:1145)

2016-08-25  Steven g. Kargl  <kargl@gcc.gnu.org>

PR fortran/77351
* frontend-passes.c (remove_trim,combine_array_constructor): Check for
NULL pointer.

2016-08-25  Steven g. Kargl  <kargl@gcc.gnu.org>

PR fortran/77351
* gfortran.dg/pr77351.f90: New test.

From-SVN: r239763

8 years ago[mips] Add support for mips*r6-*-musl
Szabolcs Nagy [Thu, 25 Aug 2016 14:13:02 +0000 (14:13 +0000)]
[mips] Add support for mips*r6-*-musl

gcc/
* config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Update.
(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Update.

From-SVN: r239760

8 years ago[mips] Fix linux header use in libgcc
Szabolcs Nagy [Thu, 25 Aug 2016 14:08:27 +0000 (14:08 +0000)]
[mips] Fix linux header use in libgcc

libgcc/
* config/mips/linux-unwind.h: Use sys/syscall.h.

From-SVN: r239759

8 years agoc-common.c (warn_logical_not_parentheses): Print fixit hints.
Marek Polacek [Thu, 25 Aug 2016 12:48:34 +0000 (12:48 +0000)]
c-common.c (warn_logical_not_parentheses): Print fixit hints.

* c-common.c (warn_logical_not_parentheses): Print fixit hints.
* c-common.h (warn_logical_not_parentheses): Update declaration.

* c-typeck.c (parser_build_binary_op): Pass LHS to
warn_logical_not_parentheses.

* parser.c (cp_parser_binary_expression): Pass LHS to
warn_logical_not_parentheses.

* c-c++-common/Wlogical-not-parentheses-2.c: New test.

Co-Authored-By: David Malcolm <dmalcolm@redhat.com>
From-SVN: r239756

8 years ago* multiple_target.c (pass_data_dispatcher_calls): Fix typo.
David Edelsohn [Thu, 25 Aug 2016 12:07:10 +0000 (12:07 +0000)]
* multiple_target.c (pass_data_dispatcher_calls): Fix typo.

From-SVN: r239755

8 years agodwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Only add locations in...
Richard Biener [Thu, 25 Aug 2016 09:25:31 +0000 (09:25 +0000)]
dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Only add locations in late dwarf.

2016-08-25  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
Only add locations in late dwarf.
(gen_scheduled_generic_parms_dies): Do not set early dwarf here.
(dwarf2out_early_finish): But do it here.

From-SVN: r239753

8 years agore PR c/77323 (Bad "defaults to 'int'" warning for unsupported types)
Marek Polacek [Thu, 25 Aug 2016 08:22:56 +0000 (08:22 +0000)]
re PR c/77323 (Bad "defaults to 'int'" warning for unsupported types)

PR c/77323
* c-decl.c (declspecs_add_type): Set typespec_word even when __intN
or _FloatN or _FloatNx is not supported.
(finish_declspecs): Set type to integer_type_node when _FloatN or
_FloatNx is not supported.

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

From-SVN: r239752

8 years agoDaily bump.
GCC Administrator [Thu, 25 Aug 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239751

8 years agore PR fortran/77358 ([F08] deferred-length character function returns zero-length...
Paul Thomas [Wed, 24 Aug 2016 19:33:14 +0000 (19:33 +0000)]
re PR fortran/77358 ([F08] deferred-length character function returns zero-length string)

2016-08-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/77358
* resolve.c (resolve_fl_procedure): Use the correct gfc_charlen
for deferred character length module procedures.

2016-08-24  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/77358
* gfortran.dg/submodule_17.f08: New test.

From-SVN: r239740

8 years agoarm-modes.def: Add new condition code mode CC_V to represent the overflow bit.
Michael Collison [Wed, 24 Aug 2016 19:31:20 +0000 (19:31 +0000)]
arm-modes.def: Add new condition code mode CC_V to represent the overflow bit.

2016-08-24  Michael Collison <michael.collison@linaro.org>
    Michael Collison <michael.collison@arm.com>

* config/arm/arm-modes.def: Add new condition code mode CC_V
to represent the overflow bit.
* config/arm/arm.c (maybe_get_arm_condition_code):
Add support for CC_Vmode.
(arm_gen_unlikely_cbranch): New function to generate common
rtl conditional branches for overflow patterns.
* config/arm/arm-protos.h: Add prototype for
arm_gen_unlikely_cbranch.
* config/arm/arm.md (addv<mode>4, add<mode>3_compareV,
addsi3_compareV_upper): New patterns to support signed
builtin overflow add operations.
(uaddv<mode>4, add<mode>3_compareC, addsi3_compareV_upper):
New patterns to support unsigned builtin add overflow operations.
(subv<mode>4, sub<mode>3_compare1): New patterns to support signed
builtin overflow subtract operations,
(usubv<mode>4): New patterns to support unsigned builtin subtract
overflow operations.
(negvsi3, negvdi3, negdi2_compare, negsi2_carryin_compare): New patterns
to support builtin overflow negate operations.
* gcc.target/arm/builtin_saddl.c: New testcase.
* gcc.target/arm/builtin_saddll.c: New testcase.
* gcc.target/arm/builtin_uaddl.c: New testcase.
* gcc.target/arm/builtin_uaddll.c: New testcase.
* gcc.target/arm/builtin_ssubl.c: New testcase.
* gcc.target/arm/builtin_ssubll.c: New testcase.
* gcc.target/arm/builtin_usubl.c: New testcase.
* gcc.target/arm/builtin_usubll.c: New testcase.

Co-Authored-By: Michael Collison <michael.collison@arm.com>
From-SVN: r239739

8 years agore PR target/77270 (Flag -mprftchw is shared with 3dnow for -march=k8)
Uros Bizjak [Wed, 24 Aug 2016 14:59:43 +0000 (16:59 +0200)]
re PR target/77270 (Flag -mprftchw is shared with 3dnow for -march=k8)

PR target/77270
* gcc.dg/tree-ssa/loop-28.c: Also compile on 32bit x86 targets.
(dg-options): Use -march=amdfam10 instead of -march=athlon.
* gcc.dg/tree-ssa/update-unroll-1.c: Ditto.
* gcc.dg/tree-ssa/prefetch-3.c: Ditto.
* gcc.dg/tree-ssa/prefetch-4.c: Ditto.
* gcc.dg/tree-ssa/prefetch-5.c: Ditto.
* gcc.dg/tree-ssa/prefetch-6.c: Ditto.  Do not require sse2
effective target.  Remove scan-assembler-times directives.
* gcc.dg/tree-ssa/prefetch-7.c: Ditto.
* gcc.dg/tree-ssa/prefetch-8.c: Ditto.
* gcc.dg/tree-ssa/prefetch-9.c: Ditto.

From-SVN: r239737

8 years agoRevert "Drop excess size used for run time allocated stack variables."
Andreas Krebbel [Wed, 24 Aug 2016 10:56:37 +0000 (10:56 +0000)]
Revert "Drop excess size used for run time allocated stack variables."

This patch caused a bootstrap failure on AIX.

2016-08-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Revert
2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* explow.c (get_dynamic_stack_size): Take known alignment of stack
pointer + STACK_DYNAMIC_OFFSET into account when calculating the
size needed.

From-SVN: r239735

8 years agofragments.texi (MULTILIB_REUSE): Mention that only options in MULTILIB_OPTIONS should...
Thomas Preud'homme [Wed, 24 Aug 2016 09:51:35 +0000 (09:51 +0000)]
fragments.texi (MULTILIB_REUSE): Mention that only options in MULTILIB_OPTIONS should be used.

2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * doc/fragments.texi (MULTILIB_REUSE): Mention that only options in
    MULTILIB_OPTIONS should be used.  Small wording fixes.
    * genmultilib: Memorize set of all option combinations in
    combination_space.  Detect if RHS of MULTILIB_REUSE uses an option not
    found in MULTILIB_OPTIONS by checking if option set is listed in
    combination_space.  Output new and existing error message to stderr.

From-SVN: r239734

8 years agot-aprofile (MULTILIB_MATCHES): Add mapping for -mcpu=cortex-a7, -mfpu=neon-fp16,...
Thomas Preud'homme [Wed, 24 Aug 2016 09:51:26 +0000 (09:51 +0000)]
t-aprofile (MULTILIB_MATCHES): Add mapping for -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.

2016-08-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping for
    -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8.
    Fix typo in -mfpu=vfpv3-d16-fp16 mapping.
    (MULTILIB_REUSE): Remove reuse rules for option set including
    -mfpu=fp-armv8 and -mfpu=vfpv4

From-SVN: r239733

8 years agoFix bogus testsuite failures for avr.
Senthil Kumar Selvaraj [Wed, 24 Aug 2016 08:36:56 +0000 (08:36 +0000)]
Fix bogus testsuite failures for avr.

gcc/testsuite/

2016-08-24  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

        * gcc.c-torture/execute/pr71083.c: Use UINT32_TYPE instead
        of unsigned int.
        * gcc.dg/zero_sign_ext_test.c: Require int32plus.

From-SVN: r239732

8 years agoRemove trailing whitespace in C++ headers
Aditya Kumar [Wed, 24 Aug 2016 08:03:01 +0000 (08:03 +0000)]
Remove trailing whitespace in C++ headers

2016-08-24  Aditya Kumar  <hiraditya@msn.com>

* include/bits/algorithmfwd.h: Remove trailing whitespace.
* include/bits/shared_ptr_base.h: Likewise.

From-SVN: r239731

8 years agore PR testsuite/77317 (x86_64 --target_board=''unix/ unix/-m32'' parallel testrun...
Robert Suchanek [Wed, 24 Aug 2016 07:53:07 +0000 (07:53 +0000)]
re PR testsuite/77317 (x86_64 --target_board=''unix/ unix/-m32'' parallel testrun gives inconsistent results in gcc.dg/vect)

Fix PR testsuite/77317

gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_vect_aligned_arrays): Don't cache the result.
(check_effective_target_vect_natural_alignment): Ditto.
(check_effective_target_vector_alignment_reachable): Ditto.
(check_effective_target_vector_alignment_reachable_for_64bit): Ditto.

From-SVN: r239730

8 years ago[RTEMS] Add vfp multilib for ARM
Sebastian Huber [Wed, 24 Aug 2016 06:05:04 +0000 (06:05 +0000)]
[RTEMS] Add vfp multilib for ARM

gcc/

* config/arm/t-rtems: Add vfp multilib.

From-SVN: r239727

8 years agoDaily bump.
GCC Administrator [Wed, 24 Aug 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239726

8 years agos390.c (s390_asm_file_start): Call default_file_start.
Ian Lance Taylor [Tue, 23 Aug 2016 20:43:17 +0000 (20:43 +0000)]
s390.c (s390_asm_file_start): Call default_file_start.

gcc/:
* config/s390/s390.c (s390_asm_file_start): Call
default_file_start.
gcc/testsuite/:
* gcc.target/s390/nolrl-1.c: Don't match the file name.

From-SVN: r239713

8 years agors6000.c (rs6000_expand_vector_init): Set initialization of all 0's to the 0 constant...
Michael Meissner [Tue, 23 Aug 2016 20:41:32 +0000 (20:41 +0000)]
rs6000.c (rs6000_expand_vector_init): Set initialization of all 0's to the 0 constant, instead of directly generating XOR.

[gcc]
2016-08-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_expand_vector_init): Set
initialization of all 0's to the 0 constant, instead of directly
generating XOR.  Add support for V4SImode vector initialization on
64-bit systems with direct move, and rework the ISA 3.0 V4SImode
initialization.  Change variables used in V4SFmode vector
intialization.  For V4SFmode vector splat on ISA 3.0, make sure
any memory addresses are in index form.  Add support for using
VSPLTH/VSPLTB to initialize vector short and vector char vectors
with all of the same element.
(regno_or_subregno): New helper function to return a register
number for either REG or SUBREG.
(rs6000_adjust_vec_address): Do not generate ADDI <reg>,R0,<num>.
Use regno_or_subregno where possible.
(rs6000_split_v4si_init_di_reg): New helper function to build up a
DImode value from two SImode values in order to generate V4SImode
vector initialization on 64-bit systems with direct move.
(rs6000_split_v4si_init): Split up the insns for a V4SImode vector
initialization.
(rtx_is_swappable_p): V4SImode vector initialization insn is not
swappable.
* config/rs6000/rs6000-protos.h (rs6000_split_v4si_init): Add
declaration.
* config/rs6000/vsx.md (VSX_SPLAT_I): New mode iterators and
attributes to initialize V8HImode and V16QImode vectors with the
same element.
(VSX_SPLAT_COUNT): Likewise.
(VSX_SPLAT_SUFFIX): Likewise.
(UNSPEC_VSX_VEC_INIT): New unspec.
(vsx_concat_v2sf): Eliminate using 'preferred' register classes.
Allow SFmode values to come from Altivec registers.
(vsx_init_v4si): New insn/split for V4SImode vector initialization
on 64-bit systems with direct move.
(vsx_splat_<mode>, VSX_W iterator): Rework V4SImode and V4SFmode
vector initializations, to allow V4SImode vector initializations
on 64-bit systems with direct move.
(vsx_splat_v4si): Likewise.
(vsx_splat_v4si_di): Likewise.
(vsx_splat_v4sf): Likewise.
(vsx_splat_v4sf_internal): Likewise.
(vsx_xxspltw_<mode>, VSX_W iterator): Eliminate using 'preferred'
register classes.
(vsx_xxspltw_<mode>_direct, VSX_W iterator): Likewise.
(vsx_vsplt<VSX_SPLAT_SUFFIX>_di): New insns to support
initializing V8HImode and V16QImode vectors with the same
element.
* config/rs6000/rs6000.h (TARGET_DIRECT_MOVE_64BIT): Disallow
optimization if -maltivec=be.

[gcc/testsuite]
2016-08-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/vec-init-1.c: Add tests where the vector is
being created from pointers to memory locations.
* gcc.target/powerpc/vec-init-2.c: Likewise.

From-SVN: r239712

8 years agoline-map.h: add source_range::from_locations
David Malcolm [Tue, 23 Aug 2016 20:20:48 +0000 (20:20 +0000)]
line-map.h: add source_range::from_locations

libcpp/ChangeLog:
* include/line-map.h (source_range::from_locations): New method.

From-SVN: r239711

8 years ago[ARM] Fix predicable_short_it attribute for arm_movqi_insn
Christophe Lyon [Tue, 23 Aug 2016 20:07:52 +0000 (20:07 +0000)]
[ARM] Fix predicable_short_it attribute for arm_movqi_insn

2016-08-23  Christophe Lyon  <christophe.lyon@linaro.org>

* config/arm/arm.md (arm_movqi_insn): Swap predicable_short_it
attribute for alternatives 3 and 4.

From-SVN: r239710

8 years agodecl.c (gfc_match_structure_decl): Make gfc_structure_id static.
Fritz Reese [Tue, 23 Aug 2016 19:33:46 +0000 (19:33 +0000)]
decl.c (gfc_match_structure_decl): Make gfc_structure_id static.

2016-08-23  Fritz Reese  <fritzoreese@gmail.com>

gcc/fortran/
* decl.c (gfc_match_structure_decl): Make gfc_structure_id static.

gcc/testsuite/gfortran.dg/
* dec_structure_12.f90: New testcase.

From-SVN: r239709

8 years agocompiler: revamp scheme for ordering calls to import init fcns.
Ian Lance Taylor [Tue, 23 Aug 2016 17:45:45 +0000 (17:45 +0000)]
compiler: revamp scheme for ordering calls to import init fcns.

    Switch to a new method for determining the order in which import init
    functions are invoked: build an init fcn dependence DAG and walk the DAG
    to rewrite/adjust priorities to account for discrepancies introduced by
    "go test".

    This patch includes a change to the export data format generated
    by gccgo. Older versions of gccgo will not be able to read object files
    produced by a newer gccgo, but the new gcc will still be able to read
    old object files.

    Fixes golang/go#15738.

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

From-SVN: r239708

8 years agoselftest.h: add ASSERT_STR_CONTAINS
David Malcolm [Tue, 23 Aug 2016 16:51:57 +0000 (16:51 +0000)]
selftest.h: add ASSERT_STR_CONTAINS

gcc/ChangeLog:
* selftest.c (selftest::assert_str_contains): New function.
(selftest::test_assertions): Verify ASSERT_STR_CONTAINS.
* selftest.h (selftest::assert_str_contains): New decl.
(ASSERT_STR_CONTAINS): New macro.

From-SVN: r239707

8 years agointerface.c (compare_components): Fix typo in name check conditional.
Fritz Reese [Tue, 23 Aug 2016 16:11:19 +0000 (16:11 +0000)]
interface.c (compare_components): Fix typo in name check conditional.

2016-08-23  Fritz Reese  <fritzoreese@gmail.com>

gcc/fortran/
* interface.c (compare_components): Fix typo in name check conditional.

From-SVN: r239706

8 years agoAdd C++17 constexpr to debug and profile mode arrays
Jonathan Wakely [Tue, 23 Aug 2016 15:54:57 +0000 (16:54 +0100)]
Add C++17 constexpr to debug and profile mode arrays

* include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
* include/profile/array (array): Likewise.
(array::swap): Fix exception specification for zero-sized arrays.

From-SVN: r239705

8 years agore PR tree-optimization/77286 (ICE in fold_convert_loc, at fold-const.c:2248 building...
Richard Biener [Tue, 23 Aug 2016 13:58:19 +0000 (13:58 +0000)]
re PR tree-optimization/77286 (ICE in fold_convert_loc, at fold-const.c:2248 building 435.gromacs)

2016-08-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77286
* tree-vect-loop.c (vect_analyze_loop_form_1): Do not modify
the CFG here.
(vect_transform_loop): Split exit edges of loop and scalar
loop if required and at the appropriate time.

From-SVN: r239700

8 years agolibstdc++/77334 move assign RB trees of non-copyable types
Jonathan Wakely [Tue, 23 Aug 2016 13:15:12 +0000 (14:15 +0100)]
libstdc++/77334 move assign RB trees of non-copyable types

PR libstdc++/77334
* include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
(_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
* testsuite/23_containers/map/77334.cc: New test.

From-SVN: r239698

8 years agoRemove reference to -pthreads option in libstdc++ manual
Jonathan Wakely [Tue, 23 Aug 2016 10:13:36 +0000 (11:13 +0100)]
Remove reference to -pthreads option in libstdc++ manual

* doc/xml/manual/using.xml: Remove reference to -pthreads option.
* doc/html/*: Regenerate.

From-SVN: r239693

8 years agoUse dg-do preprocess instead of compile for tests
Jonathan Wakely [Tue, 23 Aug 2016 10:13:31 +0000 (11:13 +0100)]
Use dg-do preprocess instead of compile for tests

* testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
* testsuite/experimental/feat-lib-fund.cc: Likewise.

From-SVN: r239692

8 years agoImplement resolution of LWG DR 685 precisely
Jonathan Wakely [Tue, 23 Aug 2016 10:13:26 +0000 (11:13 +0100)]
Implement resolution of LWG DR 685 precisely

PR libstdc++/71771
* include/bits/stl_iterator.h
(operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
define for C++98 mode.
(operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
* testsuite/24_iterators/headers/iterator/synopsis.cc: Use
-std=gnu++98.
* testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
* testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
* testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
* testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
difference operator.
* testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
difference operator for C++98.
* testsuite/24_iterators/reverse_iterator/71771.cc: New test.

From-SVN: r239691

8 years agoAdd constexpr to <iterator> and <array> for C++17
Jonathan Wakely [Tue, 23 Aug 2016 10:13:12 +0000 (11:13 +0100)]
Add constexpr to <iterator> and <array> for C++17

* include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
* include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
(crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
* include/bits/stl_iterator.h (reverse_iterator, move_iterator)
(__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
Likewise.
* include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
_GLIBCXX14_CONSTEXPR.
(distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
* include/std/array (array::begin, array::end, array::rbegin)
(array::rend, array::cbegin, array:cend, array::crbegin)
(array::crend, array::operator[], array::at, array::front)
(array::back, array::data): Likewise.
* testsuite/24_iterators/headers/iterator/range_access.cc: Replace
with separate tests for C++11, C++14, and C++17.
* testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
* testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
* testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.

From-SVN: r239690

8 years agoDrop excess size used for run time allocated stack variables.
Dominik Vogt [Tue, 23 Aug 2016 09:20:15 +0000 (09:20 +0000)]
Drop excess size used for run time allocated stack variables.

* get_dynamic_stack_size is passed a SIZE of a data block (which is
  allocated elsewhere), the SIZE_ALIGN of the SIZE (i.e. the alignment
  of the underlying memory units (e.g. 32 bytes split into 4 times 8
  bytes = 64 bit alignment) and the REQUIRED_ALIGN of the data portion
  of the allocated memory.

* Assuming the function is called with SIZE = 2, SIZE_ALIGN = 8 and
  REQUIRED_ALIGN = 64 it first adds 7 bytes to SIZE -> 9.  This is
  what is needed to have two bytes 8-byte-aligned at some memory
  location without any known alignment.

* Finally round_push is called to round up SIZE to a multiple of the
  stack slot size.

The key to understanding this is that the function assumes that
STACK_DYNMAIC_OFFSET is completely unknown at the time its called
and therefore it does not make assumptions about the alignment of
STACKPOINTER + STACK_DYNMAIC_OFFSET.  The latest patch simply
hard-codes that SP + SDO is supposed to be aligned to at least
stack slot size (and does that in a very complicated way).  Since
there is no guarantee that this is the case on all targets, the
patch is broken.  It may miscalculate a SIZE that is too small in
some cases.

However, on many targets there is some guarantee about the
alignment of SP + SDO even if the actual value of SDO is unknown.
On s390x it's always 8-byte-aligned (stack slot size).  So the
right fix should be to add knowledge about the target's guaranteed
alignment of SP + SDO to the function.  I'm right now testing a
much simpler patch that uses
REGNO_POINTER_ALIGN(VIRTUAL_STACK_DYNAMIC_REGNUM) as the
alignment.

gcc/ChangeLog:

2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* explow.c (get_dynamic_stack_size): Take known alignment of stack
pointer + STACK_DYNAMIC_OFFSET into account when calculating the
size needed.  Correct a typo in a comment.

From-SVN: r239688

8 years agoS/390: Fix insv-1.c test with -m31.
Dominik Vogt [Tue, 23 Aug 2016 09:13:31 +0000 (09:13 +0000)]
S/390: Fix insv-1.c test with -m31.

gcc/testsuite/ChangeLog:

2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/insv-1.c: Fix test when running with -m31.

From-SVN: r239687

8 years agoS/390: Improve result verification in test case vec-genmask-1.c.
Dominik Vogt [Tue, 23 Aug 2016 09:09:45 +0000 (09:09 +0000)]
S/390: Improve result verification in test case vec-genmask-1.c.

THe attached patch improves checking of teh results of the subtests
"a" and "f".  As they share the same "vone" instruction, the duplicate
scan-assembler-times was bogus.  Moved "f" to a separate function to
fix this.  Also double check that no extra "vgmf" instructions are
used.

gcc/testsuite/ChangeLog:

2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/zvector/vec-genmask-1.c: Improve result
verification.

From-SVN: r239686

8 years agoS/390: Add splitter for "and" with complement.
Dominik Vogt [Tue, 23 Aug 2016 09:01:42 +0000 (09:01 +0000)]
S/390: Add splitter for "and" with complement.

Split ~b & a to (b & a) ^ a.  This is benefitial on z Systems since we
otherwise need a big -1 constant to be loaded for the ~b.

gcc/ChangeLog:

2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390.md ("*andc_split"): New splitter for and with
complement.

gcc/testsuite/ChangeLog:

2016-08-23  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/md/andc-splitter-1.c: New test case.
* gcc.target/s390/md/andc-splitter-2.c: Likewise.

From-SVN: r239685

8 years agore PR middle-end/27336 (delete null checks in callers to nonnull functions)
Richard Biener [Tue, 23 Aug 2016 07:23:19 +0000 (07:23 +0000)]
re PR middle-end/27336 (delete null checks in callers to nonnull functions)

2016-08-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/27336
* tree-vrp.c (infer_value_range): Handle stmts that can throw
by looking for a non-EH edge.
(process_assert_insertions_for): Likewise.

* c-c++-common/pr27336.c: New testcase.

From-SVN: r239684

8 years agore PR lto/77305 (-fdump-tree-all and -flto causes ICE)
Richard Biener [Tue, 23 Aug 2016 07:21:36 +0000 (07:21 +0000)]
re PR lto/77305 (-fdump-tree-all and -flto causes ICE)

2016-08-23  Richard Biener  <rguenther@suse.de>

PR middle-end/77305
* statistics.c (statistics_counter_event): Robustify against
NULL current_pass.

From-SVN: r239683

8 years ago2016-08-23 Venkataramanan Kumar
Venkataramanan Kumar [Tue, 23 Aug 2016 06:45:36 +0000 (06:45 +0000)]
2016-08-23  Venkataramanan Kumar

* config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
for targets amdfam10 and barcelona.

From-SVN: r239682

8 years agoDaily bump.
GCC Administrator [Tue, 23 Aug 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r239680

8 years agore PR c++/77321 (crash in warn_for_memset)
Marek Polacek [Mon, 22 Aug 2016 21:53:59 +0000 (21:53 +0000)]
re PR c++/77321 (crash in warn_for_memset)

PR c++/77321
* c-common.c (warn_for_memset): Check type for null.

* g++.dg/cpp1y/pr77321.C: New test.

From-SVN: r239676

8 years agocompiler: don't permit P.M if P is a pointer type
Ian Lance Taylor [Mon, 22 Aug 2016 21:30:49 +0000 (21:30 +0000)]
compiler: don't permit P.M if P is a pointer type

    When lowering method expressions of the form "P.M" where
    P is a pointer type (e.g. "type P *T") make sure we examine
    the method set of P and not T during method lookup.

    Fixes golang/go#15722.

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

From-SVN: r239675

8 years agoSplit _M_dfs() into smaller functions.
Tim Shen [Mon, 22 Aug 2016 19:50:15 +0000 (19:50 +0000)]
Split _M_dfs() into smaller functions.

* regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
(_M_handle_subexpr_end, _M_handle_line_begin_assertion)
(_M_handle_line_end_assertion, _M_handle_word_boundary)
(_M_handle_subexpr_lookahead, _M_handle_match)
(_M_handle_backref, _M_handle_accept, _M_handle_alternative):
Add separate function declarations.
* regex_executor.tcc: Split _M_dfs() into multiple handler functions.

From-SVN: r239673

8 years agoi386.md (*zero_extendsidi2): Add (*r,*k) alternative.
Uros Bizjak [Mon, 22 Aug 2016 19:13:45 +0000 (21:13 +0200)]
i386.md (*zero_extendsidi2): Add (*r,*k) alternative.

* config/i386/i386.md (*zero_extendsidi2): Add (*r,*k) alternative.
(zero_extend<mode>di2): Ditto.
(*zero_extend<mode>si2): Ditto.
(*zero_extendqihi2): Ditto.

From-SVN: r239672

8 years agore PR fortran/60774 (f951: internal compiler error: Segmentation fault: 11)
Steven G. Kargl [Mon, 22 Aug 2016 18:23:43 +0000 (18:23 +0000)]
re PR fortran/60774 (f951: internal compiler error: Segmentation fault: 11)

2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>
    Bud Davis  <jmdavis@link.com>

PR fortran/60774
* parse.c (next_free,next_fixed): Issue error for statement label
without a statement.

2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/60774
* gfortran.dg/empty_label.f: Adjust test for new error message.
* gfortran.dg/empty_label.f90: Ditto.
* gfortran.dg/empty_label_typedecl.f90: Ditto.
* gfortran.dg/label_3.f90: Deleted (redundant with empty_label.f90).
* gfortran.dg/warnings_are_errors_1.f90: Remove invalid statement label.

Co-Authored-By: Bud Davis <jmdavis@link.com>
From-SVN: r239668

8 years agore PR fortran/61318 (Improve error diagnostic by pointing to the expression and not...
Steven G. Kargl [Mon, 22 Aug 2016 18:18:14 +0000 (18:18 +0000)]
re PR fortran/61318 (Improve error diagnostic by pointing to the expression and not to declared-at of a USE-associated variable)

2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/61318
* interface.c (compare_parameter): Use better locus for error message.

2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/61318
* gfortran.dg/pr61318.f90: New test.

From-SVN: r239667

8 years agore PR fortran/77260 (bogus warning with ENTRY in a function)
Steven G. Kargl [Mon, 22 Aug 2016 18:12:33 +0000 (18:12 +0000)]
re PR fortran/77260 (bogus warning with ENTRY in a function)

2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77260
* gcc/fortran/trans-decl.c (generate_local_decl): Suppress warning
for unused variable if symbol is entry point.

2016-08-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77260
* gfortran.dg/pr77260_1.f90: New test.
* gfortran.dg/pr77260_2.f90: Ditto.

From-SVN: r239666

8 years agoSupport __builtin_isinf_sign for new floating-point types (PR middle-end/77269).
Joseph Myers [Mon, 22 Aug 2016 18:03:59 +0000 (19:03 +0100)]
Support __builtin_isinf_sign for new floating-point types (PR middle-end/77269).

The __builtin_isinf_sign folding uses a type-specific signbit built-in
function, meaning it only works for the types float, double and long
double, not for types such as _FloatN, _FloatNx, __float128.  Since
the signbit built-in function is now type-generic, that can be used
unconditionally, much as the code uses the type-generic isinf built-in
function unconditionally, and this patch makes it do so, thereby
enabling __builtin_isinf_sign (which glibc uses to expand the isinf
macro since that macro in glibc traditionally provided the stronger
guarantees about the return value given by __builtin_isinf_sign) to
work for all floating-point types.

The test gcc.dg/torture/builtin-isinf_sign-1.c needs updating because
it tests that comparisons of calls to __builtin_isinf_sign to
conditional expressions involving __builtin_isinf and
__builtin_signbit* get optimized away, and with a change of what
particular built-in function for signbit is used, GCC doesn't notice
the expressions with type-generic and non-type-generic built-in
functions are equivalent at -O0 or -O1 (it does optimize away the
original test at -O2).

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

PR middle-end/77269
gcc:
* builtins.c (fold_builtin_classify): Use builtin_decl_explicit
(BUILT_IN_SIGNBIT) to expand __builtin_isinf_sign.

gcc/testsuite:
* gcc.dg/torture/builtin-isinf_sign-1.c: Use __builtin_signbit not
__builtin_signbitf and __builtin_signbitl in expected generic
expansion.
* gcc.dg/torture/float128-tg-2.c, gcc.dg/torture/float128x-tg-2.c,
gcc.dg/torture/float16-tg-2.c, gcc.dg/torture/float32-tg-2.c,
gcc.dg/torture/float32x-tg-2.c, gcc.dg/torture/float64-tg-2.c,
gcc.dg/torture/float64x-tg-2.c, gcc.dg/torture/floatn-tg-2.h: New
tests.

From-SVN: r239665

8 years agolibstdc++/68297 avoid throw/catch in make_exception_ptr
Gleb Natapov [Mon, 22 Aug 2016 17:29:31 +0000 (17:29 +0000)]
libstdc++/68297 avoid throw/catch in make_exception_ptr

2016-08-22  Gleb Natapov  <gleb@scylladb.com>

PR libstdc++/68297
* config/abi/pre/gnu-versioned-namespace.ver: Export
__cxa_init_primary_exception and std::exception_ptr(void*).
* config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
export __cxa_init_primary_exception and std::exception_ptr(void*).
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Add new headers.
* libsupc++/Makefile.in: Regenerate.
* libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
* libsupc++/cxxabi_init_exception.h: New header.
(__cxa_init_primary_exception): Declare.
* libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
(__cxa_throw): Use __cxa_init_primary_exception.
* libsupc++/exception (std::exception): Move to ...
* libsupc++/exception.h: New header.
* libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
friend declaration.
(__exception_ptr::__dest_thunk): New function template.
(std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
Use __cxa_allocate_exception and __cxa_init_primary_exception to
create exception_ptr.
* libsupc++/typeinfo: Include bits/exception.h instead of exception.
* testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.

From-SVN: r239664

8 years agoUpdate links to libstdc++ Doxygen pages
Jonathan Wakely [Mon, 22 Aug 2016 16:47:39 +0000 (17:47 +0100)]
Update links to libstdc++ Doxygen pages

* doc/xml/api.xml: Replace hardcoded links for specific versions with
link to docs for all releases.
* doc/html/*: Regenerate.

From-SVN: r239663

8 years agoAdd noexcept to std::function swap
Jonathan Wakely [Mon, 22 Aug 2016 16:47:34 +0000 (17:47 +0100)]
Add noexcept to std::function swap

PR libstdc++/77322
* doc/xml/manual/intro.xml: Document DR 2062 change.
* include/std/functional (function::swap): Add noexcept.
(swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
* testsuite/20_util/function/77322.cc: New test.

From-SVN: r239662

8 years agoImprove readability of debug_tree() dumps for SSA_NAME and VECTOR_CST
Patrick Palka [Mon, 22 Aug 2016 15:13:16 +0000 (15:13 +0000)]
Improve readability of debug_tree() dumps for SSA_NAME and VECTOR_CST

gcc/ChangeLog:

* print-tree.c (print_node) [VECTOR_CST]: Coalesce the output of
identical consecutive elements.
[SSA_NAME]: Print the name's def stmt on its own line.  When printing
the node's def stmt, avoid printing an unwanted trailing newline by
replacing the call to print_gimple_stmt() with its inlined body and
adjusting it to not set pp_needs_newline and to call pp_flush()
instead of pp_newline_and_flush().

From-SVN: r239661

8 years agoAdd minimal _FloatN, _FloatNx built-in functions.
Joseph Myers [Mon, 22 Aug 2016 11:57:39 +0000 (12:57 +0100)]
Add minimal _FloatN, _FloatNx built-in functions.

This patch adds a minimal set of built-in functions for the new
_FloatN and _FloatNx types.

The functions added are __builtin_fabs*, __builtin_copysign*,
__builtin_huge_val*, __builtin_inf*, __builtin_nan* and
__builtin_nans* (where * = fN or fNx).  That is, 42 new entries are
added to the enum of built-in functions and the associated array of
decls, where not all of them are actually supported on any one target.

These functions are believed to be sufficient for libgcc (complex
multiplication and division use __builtin_huge_val*,
__builtin_copysign* and __builtin_fabs*) and for glibc (which also
depends on complex multiplication from libgcc, as well as using such
functions itself).  The basic target-independent support for folding /
expanding calls to these built-in functions is wired up, so those for
constants can be used in static initializers, and the fabs and
copysign built-ins can always be expanded to bit-manipulation inline
(for any format setting signbit_ro and signbit_rw, which covers all
formats supported for _FloatN and _FloatNx), although insn patterns
for fabs (abs<mode>2) and copysign (copysign<mode>3) will be used when
available and may result in more optimal code.

The complex multiplication and division functions in libgcc rely on
predefined macros (defined with -fbuilding-libgcc) to say what the
built-in function suffixes to use with a particular mode are.  This
patch updates that code accordingly, where previously it involved a
hack supposing that machine-specific suffixes for constants were also
suffixes for built-in functions.

As with the main _FloatN / _FloatNx patch, this patch does not update
code dealing only with optimizations that currently has cases only
covering float, double and long double, though some such cases are
straightforward and may be covered in a followup patch.

The functions are defined with DEF_GCC_BUILTIN, so calls to the TS
18661-3 functions such as fabsf128 and copysignf128, without the
__builtin_, will not be optimized.  As noted in the original _FloatN /
_FloatNx patch submission, in principle the bulk of the libm functions
that have built-in versions should have those versions extended to
cover the new types, but that would require more consideration of the
effects of increasing the size of the enum and initializing many more
functions at startup.

I don't know whether target-specific built-in functions can readily be
made into aliases for target-independent functions, but if they can,
it would make sense to do so for the x86, ia64 and rs6000 *q functions
corresponding to these, so that they can benefit from the
architecture-independent folding logic and from any optimizations
enabled for these functions in future, and so that less
target-specific code is needed to support them.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc:
* tree.h (CASE_FLT_FN_FLOATN_NX, float16_type_node)
(float32_type_node, float64_type_node, float32x_type_node)
(float128x_type_node): New macros.
* builtin-types.def (BT_FLOAT16, BT_FLOAT32, BT_FLOAT64)
(BT_FLOAT128, BT_FLOAT32X, BT_FLOAT64X, BT_FLOAT128X)
(BT_FN_FLOAT16, BT_FN_FLOAT32, BT_FN_FLOAT64, BT_FN_FLOAT128)
(BT_FN_FLOAT32X, BT_FN_FLOAT64X, BT_FN_FLOAT128X)
(BT_FN_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32)
(BT_FN_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128)
(BT_FN_FLOAT32X_FLOAT32X, BT_FN_FLOAT64X_FLOAT64X)
(BT_FN_FLOAT128X_FLOAT128X, BT_FN_FLOAT16_CONST_STRING)
(BT_FN_FLOAT32_CONST_STRING, BT_FN_FLOAT64_CONST_STRING)
(BT_FN_FLOAT128_CONST_STRING, BT_FN_FLOAT32X_CONST_STRING)
(BT_FN_FLOAT64X_CONST_STRING, BT_FN_FLOAT128X_CONST_STRING)
(BT_FN_FLOAT16_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32_FLOAT32)
(BT_FN_FLOAT64_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128_FLOAT128)
(BT_FN_FLOAT32X_FLOAT32X_FLOAT32X)
(BT_FN_FLOAT64X_FLOAT64X_FLOAT64X)
(BT_FN_FLOAT128X_FLOAT128X_FLOAT128X): New type definitions.
* builtins.def (DEF_GCC_FLOATN_NX_BUILTINS): New macro.
(copysign, fabs, huge_val, inf, nan, nans): Use it.
* builtins.c (expand_builtin): Use CASE_FLT_FN_FLOATN_NX for fabs
and copysign.
(fold_builtin_0): Use CASE_FLT_FN_FLOATN_NX for inf and huge_val.
(fold_builtin_1): Use CASE_FLT_FN_FLOATN_NX for fabs.
* doc/extend.texi (Other Builtins): Document these built-in
functions.
* fold-const-call.c (fold_const_call): Use CASE_FLT_FN_FLOATN_NX
for nan and nans.

gcc/c-family:
* c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
_FloatNx types for suffixes for built-in functions.

gcc/testsuite:
* gcc.dg/torture/float128-builtin.c,
gcc.dg/torture/float128-ieee-nan.c,
gcc.dg/torture/float128x-builtin.c,
gcc.dg/torture/float128x-nan.c, gcc.dg/torture/float16-builtin.c,
gcc.dg/torture/float16-nan.c, gcc.dg/torture/float32-builtin.c,
gcc.dg/torture/float32-nan.c, gcc.dg/torture/float32x-builtin.c,
gcc.dg/torture/float32x-nan.c, gcc.dg/torture/float64-builtin.c,
gcc.dg/torture/float64-nan.c, gcc.dg/torture/float64x-builtin.c,
gcc.dg/torture/float64x-nan.c, gcc.dg/torture/floatn-builtin.h,
gcc.dg/torture/floatn-nan.h: New tests.

From-SVN: r239658

8 years agoUpdate TEST_I_F calls in ARM fp-int-convert tests.
Joseph Myers [Mon, 22 Aug 2016 11:48:14 +0000 (12:48 +0100)]
Update TEST_I_F calls in ARM fp-int-convert tests.

gcc/testsuite:
* gcc.dg/torture/arm-fp16-int-convert-alt.c (FP16_MAX_EXP): New
macro.
(main): Update calls to TEST_I_F.
* gcc.dg/torture/arm-fp16-int-convert-ieee.c (FP16_MAX_EXP): New
macro.
(main): Update calls to TEST_I_F.

From-SVN: r239657

8 years ago* doc/install.texi (Binaries): www.opencsw.org now uses https.
Gerald Pfeifer [Mon, 22 Aug 2016 11:43:35 +0000 (11:43 +0000)]
* doc/install.texi (Binaries): opencsw.org now uses https.

From-SVN: r239656

8 years agoCorrect type names in fp-int-convert-float*x-timode.c tests.
Joseph Myers [Mon, 22 Aug 2016 10:45:23 +0000 (11:45 +0100)]
Correct type names in fp-int-convert-float*x-timode.c tests.

gcc/testsuite:
* gcc.dg/torture/fp-int-convert-float128x-timode.c,
gcc.dg/torture/fp-int-convert-float32x-timode.c,
gcc.dg/torture/fp-int-convert-float64x-timode.c: Correct type
names in calls to TEST_I_F.

From-SVN: r239655

8 years agotree-ssa-forwprop.c (pass_forwprop::execute): Use RPO order.
Richard Biener [Mon, 22 Aug 2016 08:25:30 +0000 (08:25 +0000)]
tree-ssa-forwprop.c (pass_forwprop::execute): Use RPO order.

2016-08-22  Richard Biener  <rguenther@suse.de>

* tree-ssa-forwprop.c (pass_forwprop::execute): Use RPO order.

From-SVN: r239653

8 years agore PR c/52952 (Wformat location info is bad (wrong column number))
Bernd Edlinger [Mon, 22 Aug 2016 07:34:34 +0000 (07:34 +0000)]
re PR c/52952 (Wformat location info is bad (wrong column number))

2016-08-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c/52952
        * gcc.dg/cpp/pr66415-1.c: Fix sporadic failure.

From-SVN: r239649

8 years agoSkip tests that assume 4 byte alignment for avr
Senthil Kumar Selvaraj [Mon, 22 Aug 2016 06:12:32 +0000 (06:12 +0000)]
Skip tests that assume 4 byte alignment for avr

gcc/testsuite

        * gcc.dg/ipa/propalign-1.c: Skip for targets with !natural_alignment_32
        and !natural_alignment_64.
        * gcc.dg/ipa/propalign-2.c: Likewise.
        * gcc.dg/ipa/propalign-3.c: Likewise.
        * gcc.dg/ipa/propalign-4.c: Likewise.
        * gcc.dg/ipa/propalign-5.c: Likewise.
        * lib/target-supports.exp
        (check_effective_target_natural_alignment_32): Add avr-*-*.

From-SVN: r239647