gcc.git
7 years agopr77761.c: Require int128 effective target.
Uros Bizjak [Wed, 7 Dec 2016 15:56:30 +0000 (16:56 +0100)]
pr77761.c: Require int128 effective target.

* gcc.target/i386/pr77761.c: Require int128 effective target.
(avx512f_test): Delete.
(do_main): Rename to avx512f_test.

From-SVN: r243367

7 years agoReplace uses of C++14 remove_cv_t alias in C++11 header
Jonathan Wakely [Wed, 7 Dec 2016 15:23:01 +0000 (15:23 +0000)]
Replace uses of C++14 remove_cv_t alias in C++11 header

* include/experimental/bits/fs_path.h (path::_S_convert): Replace
uses of C++14 std::remove_cv_t alias template.

From-SVN: r243355

7 years agoReplace use of C++14 std::exchange in C++11 testcase
Jonathan Wakely [Wed, 7 Dec 2016 15:22:57 +0000 (15:22 +0000)]
Replace use of C++14 std::exchange in C++11 testcase

* testsuite/28_regex/traits/char/user_defined.cc: Replace uses of
C++14 std::exchange function.

From-SVN: r243354

7 years agoReplace dynamic exception specifications in testsuite
Jonathan Wakely [Wed, 7 Dec 2016 15:22:51 +0000 (15:22 +0000)]
Replace dynamic exception specifications in testsuite

* testsuite/util/testsuite_hooks.h (THROW): Define.
* testsuite/util/replacement_memory_operators.h: Include
testsuite_hooks.h and use THROW macro.
* testsuite/util/testsuite_tr1.h: Likewise.
* testsuite/20_util/allocator/1.cc: Use THROW macro.
* testsuite/22_locale/locale/cons/12352.cc: Likewise.
* testsuite/23_containers/vector/zero_sized_allocations.cc: Likewise.
* testsuite/30_threads/lock_guard/cons/1.cc: Replace dynamic exception
specification with noexcept-specifier.
* testsuite/ext/pool_allocator/allocate_chunk.cc: Include
testsuite_hooks.h and use THROW macro.
* testsuite/ext/profile/replace_new.cc: Likewise.

From-SVN: r243353

7 years agoUse _GLIBCXX_THROW macro in bitmap_allocator
Jonathan Wakely [Wed, 7 Dec 2016 15:22:44 +0000 (15:22 +0000)]
Use _GLIBCXX_THROW macro in bitmap_allocator

* include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
(bitmap_allocator::_M_allocate_single_object)
(bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.

From-SVN: r243352

7 years agoDisable test using std::set_unexcepted for C++17
Jonathan Wakely [Wed, 7 Dec 2016 15:22:37 +0000 (15:22 +0000)]
Disable test using std::set_unexcepted for C++17

* testsuite/18_support/bad_exception/59392.cc: Disable for C++17.

From-SVN: r243351

7 years agoImprove tests for contents of <new> header
Jonathan Wakely [Wed, 7 Dec 2016 15:22:24 +0000 (15:22 +0000)]
Improve tests for contents of <new> header

* testsuite/18_support/headers/new/synopsis.cc: Add C++14 and C++17
declarations.
* testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.

From-SVN: r243349

7 years agoGCC caches the whether a function is a leaf in crtl->is_leaf.
Wilco Dijkstra [Wed, 7 Dec 2016 14:55:31 +0000 (14:55 +0000)]
GCC caches the whether a function is a leaf in crtl->is_leaf.

GCC caches the whether a function is a leaf in crtl->is_leaf. Using this
in the backend is best as leaf_function_p may not work correctly (eg. while
emitting prolog or epilog code).  There are many reads of crtl->is_leaf
before it is initialized.  Many targets do in targetm.frame_pointer_required
(eg. arm, aarch64, i386, mips, sparc), which is called before register
allocation by ira_setup_eliminable_regset and sched_init.

Additionally, SHRINK_WRAPPING_ENABLED calls targetm.have_simple_return,
which evaluates the condition of the simple_return instruction.  On ARM
this results in a call to use_simple_return_p which requires crtl->is_leaf
to be set correctly.

To fix this, initialize crtl->is_leaf in ira_setup_eliminable_regset and
early on in ira.  A bootstrap did not find any uninitialized reads of
crtl->is_leaf on Thumb-2.  A follow-up patch will remove incorrect uses
of leaf_function_p from the ARM backend.

    gcc/
* gcc/ira.c (ira_setup_eliminable_regset): Initialize crtl->is_leaf.
(ira): Move initialization of crtl->is_leaf earlier.

From-SVN: r243347

7 years agoImprove TI mode address offsets - these may either use LDP of 64-bit or LDR of 128...
Wilco Dijkstra [Wed, 7 Dec 2016 14:44:45 +0000 (14:44 +0000)]
Improve TI mode address offsets - these may either use LDP of 64-bit or LDR of 128-bit...

Improve TI mode address offsets - these may either use LDP of 64-bit or
LDR of 128-bit, so we need to use the correct intersection of offsets.
When splitting a large offset into base and offset, use a signed 9-bit
unscaled offset.

Remove the Ump constraint on movti and movtf instructions as this blocks
the reload optimizer from merging address CSEs (is this supposed to work
only on 'm' constraints?).  The result is improved codesize, especially
wrf and gamess in SPEC2006.

    gcc/
* config/aarch64/aarch64.md (movti_aarch64): Change Ump to m.
(movtf_aarch64): Likewise.
* config/aarch64/aarch64.c (aarch64_classify_address):
Use correct intersection of offsets.
(aarch64_legitimize_address_displacement): Use 9-bit signed offsets.
(aarch64_legitimize_address): Use 9-bit signed offsets for TI/TF mode.
Use 7-bit signed scaled mode for modes > 16 bytes.

From-SVN: r243346

7 years ago[Patch PR78561 PowerPC] Revert to old behaviour for counting constant pools
James Greenhalgh [Wed, 7 Dec 2016 14:01:59 +0000 (14:01 +0000)]
[Patch PR78561 PowerPC] Revert to old behaviour for counting constant pools

gcc/

PR rtl-optimization/78561
* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Use
constant_pool_empty_p in place of get_pool_size_upper_bound.
(rs6000_stack_info): Likewise.
(rs6000_emit_prologue): Likewise.
(rs6000_elf_declare_function_name): Likewise.
(rs6000_set_up_by_prologue): Likewise.
(rs6000_can_eliminate): Likewise.
* output.h (get_pool_size_upper_bound): Delete.
(constant_pool_empty_p): New.
* varasm.c (get_pool_size_upper_bound): Delete
(constant_pool_empty_p): New.

From-SVN: r243345

7 years agoUse dump_function_name rather than emit <built-in>
Martin Jambor [Wed, 7 Dec 2016 13:09:07 +0000 (14:09 +0100)]
Use dump_function_name rather than emit <built-in>

2016-12-07  Martin Jambor  <mjambor@suse.cz>

PR c++/78589
* error.c (dump_decl): Use dump_function_name to dump
!DECL_LANG_SPECIFIC function decls with no or self-referencing
abstract origin.

From-SVN: r243344

7 years agopt.c (tsubst <{NON,}TYPE_ARGUMENT_PACK>): Simplify control flow and avoid re-tsubstin...
Nathan Sidwell [Wed, 7 Dec 2016 13:00:02 +0000 (13:00 +0000)]
pt.c (tsubst <{NON,}TYPE_ARGUMENT_PACK>): Simplify control flow and avoid re-tsubsting type.

* pt.c (tsubst <{NON,}TYPE_ARGUMENT_PACK>: Simplify control flow
and avoid re-tsubsting type.

From-SVN: r243343

7 years agocp-tree.h (enum cp_tree_index): Add CPTI_AUTO_IDENTIFIER & CPTI_DECLTYPE_AUTO_IDENTIFIER.
Nathan Sidwell [Wed, 7 Dec 2016 12:52:39 +0000 (12:52 +0000)]
cp-tree.h (enum cp_tree_index): Add CPTI_AUTO_IDENTIFIER & CPTI_DECLTYPE_AUTO_IDENTIFIER.

* cp-tree.h (enum cp_tree_index): Add CPTI_AUTO_IDENTIFIER &
CPTI_DECLTYPE_AUTO_IDENTIFIER.
(auto_identifier, decltype_auto_identifier): New.
*decl.c (initialize_predefined_identifiers): Add 'auto' and
'decltype(auto)'.
(grokdeclarator): Use cached identifier.
* pt.c (make_decltype_auto, make_auto, make_constrained_auto,
is_auto): Likewise.

From-SVN: r243342

7 years agodecl.c (gnat_to_gnu_entity): When they are global...
Pierre-Marie de Rodat [Wed, 7 Dec 2016 12:04:01 +0000 (12:04 +0000)]
decl.c (gnat_to_gnu_entity): When they are global...

* gcc-interface/decl.c (gnat_to_gnu_entity): When they are global,
consider ___XR GNAT encodings variables for renamings as static so
they have a location in the debug info.

From-SVN: r243341

7 years agodecl.c (gnat_to_gnu_entity): Translate System.Address into ptr_type_node for every...
Eric Botcazou [Wed, 7 Dec 2016 11:47:25 +0000 (11:47 +0000)]
decl.c (gnat_to_gnu_entity): Translate System.Address into ptr_type_node for every foreign convention.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Translate
System.Address into ptr_type_node for every foreign convention.
(gnat_to_gnu_subprog_type): Likewise for result and parameter types.
(gnat_to_gnu_param): Do not do it here for GCC builtins.
(intrin_return_compatible_p): Likewise.

From-SVN: r243340

7 years agoAdjust comment
Eric Botcazou [Wed, 7 Dec 2016 11:29:28 +0000 (11:29 +0000)]
Adjust comment

From-SVN: r243338

7 years agodecl.c (gnat_to_gnu_entity): Also call finish_character_type on Character subtypes.
Eric Botcazou [Wed, 7 Dec 2016 11:25:37 +0000 (11:25 +0000)]
decl.c (gnat_to_gnu_entity): Also call finish_character_type on Character subtypes.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
Also call finish_character_type on Character subtypes.
* gcc-interface/utils.c (finish_character_type): Deal with subtypes.

From-SVN: r243336

7 years agore PR middle-end/78691 (ICE compiling Linux boot code)
Bin Cheng [Wed, 7 Dec 2016 10:14:58 +0000 (10:14 +0000)]
re PR middle-end/78691 (ICE compiling Linux boot code)

PR tree-optimization/78691
* match.pd ((convert1 (minmax ((convert2 (x) c)))) -> minmax (x c)):
Require integral type for the outer expression.
gcc/testsuite
PR tree-optimization/78691
* gcc.target/i386/pr78691-i386.c: New test.
* gcc.target/powerpc/pr78691-ppc.c: New test.

From-SVN: r243335

7 years agoCompile gcc.target/i386/pr70322-?.c with -mno-stackrealign
Rainer Orth [Wed, 7 Dec 2016 08:53:45 +0000 (08:53 +0000)]
Compile gcc.target/i386/pr70322-?.c with -mno-stackrealign

* gcc.target/i386/pr70322-1.c: Add -mno-stackrealign to dg-options.
* gcc.target/i386/pr70322-2.c: Likewise.
* gcc.target/i386/pr70322-3.c: Likewise.
* gcc.target/i386/pr70322-4.c: Likewise.

From-SVN: r243334

7 years ago2016-12-07 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
Naveen H.S [Wed, 7 Dec 2016 03:10:59 +0000 (03:10 +0000)]
2016-12-07  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>

gcc
* config/aarch64/aarch64.c
(aarch64_builtin_support_vector_misalignment): New.
(TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): Define.
gcc/testsuite
* gcc.target/aarch64/pr71727.c : New Testcase.

From-SVN: r243333

7 years agoFix x86_64-ism in selftest (PR bootstrap/78705)
David Malcolm [Wed, 7 Dec 2016 01:28:13 +0000 (01:28 +0000)]
Fix x86_64-ism in selftest (PR bootstrap/78705)

In r243317 I accidentally introduced an assumption in a selftest
in i386.c that Pmode == DImode.  This patch conditionalizes the
overzealous string comparison to avoid breaking the build on
32-bit i386.c targets.

gcc/ChangeLog:
PR bootstrap/78705
* config/i386/i386.c (selftest::ix86_test_dumping_memory_blockage):
Conditionalize the string comparison on Pmode == DImode.

From-SVN: r243332

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

From-SVN: r243328

7 years agore PR tree-optimization/67955 (tree-dse does not use pointer info)
Tom de Vries [Tue, 6 Dec 2016 23:18:17 +0000 (23:18 +0000)]
re PR tree-optimization/67955 (tree-dse does not use pointer info)

PR tree-optimization/67955
* tree-ssa-alias.c (same_addr_size_stores_p): New function.
(stmt_kills_ref_p): Use it.

PR tree-optimization/67955
* gcc.dg/tree-ssa/dse-points-to.c: New test.

From-SVN: r243325

7 years agoPut back blank line
Eric Botcazou [Tue, 6 Dec 2016 22:51:32 +0000 (22:51 +0000)]
Put back blank line

From-SVN: r243324

7 years agore PR middle-end/78700 (gccgo testcases stack.go, recover.go, crypto/tls fails)
Eric Botcazou [Tue, 6 Dec 2016 22:47:00 +0000 (22:47 +0000)]
re PR middle-end/78700 (gccgo testcases stack.go, recover.go, crypto/tls fails)

PR middle-end/78700
* calls.c (expand_call): Move back call to prepare_call_address.

From-SVN: r243322

7 years agocompiler: pass lvalue/rvalue context to back end for var exprs
Than McIntosh [Tue, 6 Dec 2016 22:31:25 +0000 (22:31 +0000)]
compiler: pass lvalue/rvalue context to back end for var exprs

    Add a new flag on the Var_expression class that indicates
    whether the var reference appears in an "lvalue" context
    (for example, on the LHS of an assignment stmt) or an
    "rvalue" context (for example, as an argument of a call).

    Add a traversal pass that visits assignment stmt LHS subtrees
    so as to mark things prior to backend gen. Select the right
    context value in other places where Backend::var_expression is
    called.

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

* go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
parameter.

From-SVN: r243321

7 years agore PR target/78658 (powerpc64le: ICE with -mcpu=power9 -Og)
Michael Meissner [Tue, 6 Dec 2016 22:15:31 +0000 (22:15 +0000)]
re PR target/78658 (powerpc64le: ICE with -mcpu=power9 -Og)

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

PR target/78658
* config/rs6000/rs6000.md (zero_extendqi<mode>2): Use ^ instead of
?* constraints for the ISA 3.0 patterns, so the register allocator
is more likely to allocate QImode/HImode to vector registers for
conversion to floating point unless a reload is needed.
(zero_extendhi<mode>2): Likewise.
(float<QHI:mode><FP_ISA3:mode>2_internal): Properly deal with the
first alternative which is converting QImode/HImode to floating
point and the QImode/HImode value is in a vector register, and
does not allocate the second pseudo register.  Remove zero
extending into traditional floating point registers, since the
instruction used only works on traditional altivec registers.
(floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.

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

PR target/78658
* gcc.target/powerpc/pr78658.c: New test.

From-SVN: r243320

7 years agoprint_rtx: implement support for reuse IDs (v2)
David Malcolm [Tue, 6 Dec 2016 21:03:33 +0000 (21:03 +0000)]
print_rtx: implement support for reuse IDs (v2)

gcc/ChangeLog:
* config/i386/i386.c: Include print-rtl.h.
(selftest::ix86_test_dumping_memory_blockage): New function.
(selftest::ix86_run_selftests): Call it.
* print-rtl-function.c (print_rtx_function): Create an
rtx_reuse_manager and use it.
* print-rtl.c: Include "rtl-iter.h".
(rtx_writer::rtx_writer): Add reuse_manager param.
(rtx_reuse_manager::rtx_reuse_manager): New ctor.
(uses_rtx_reuse_p): New function.
(rtx_reuse_manager::preprocess): New function.
(rtx_reuse_manager::has_reuse_id): New function.
(rtx_reuse_manager::seen_def_p): New function.
(rtx_reuse_manager::set_seen_def): New function.
(rtx_writer::print_rtx): If "in_rtx" has a reuse ID, print it as a
prefix the first time in_rtx is seen, and print reuse_rtx
subsequently.
(print_inline_rtx): Supply NULL for new reuse_manager param.
(debug_rtx): Likewise.
(print_rtl): Likewise.
(print_rtl_single): Likewise.
(rtx_writer::print_rtl_single_with_indent): Likewise.
* print-rtl.h: Include bitmap.h when building for host.
(rtx_writer::rtx_writer): Add reuse_manager param.
(rtx_writer::m_rtx_reuse_manager): New field.
(class rtx_reuse_manager): New class.
* rtl-tests.c (selftest::assert_rtl_dump_eq): Add reuse_manager
param and use it when constructing rtx_writer.
(selftest::test_dumping_rtx_reuse): New function.
(selftest::rtl_tests_c_tests): Call it.
* selftest-rtl.h (class rtx_reuse_manager): New forward decl.
(selftest::assert_rtl_dump_eq): Add reuse_manager param.
(ASSERT_RTL_DUMP_EQ): Supply NULL for reuse_manager param.
(ASSERT_RTL_DUMP_EQ_WITH_REUSE): New macro.

From-SVN: r243317

7 years agolra-lives.c (process_bb_lives): Update biggest mode for implicitly used hard reg.
Vladimir Makarov [Tue, 6 Dec 2016 20:02:03 +0000 (20:02 +0000)]
lra-lives.c (process_bb_lives): Update biggest mode for implicitly used hard reg.

2016-12-06  Vladimir Makarov  <vmakarov@redhat.com>

target/77761
* lra-lives.c (process_bb_lives): Update biggest mode for
implicitly used hard reg.

2016-12-06  Vladimir Makarov  <vmakarov@redhat.com>

target/77761
* testsuite/gcc.target/i386/pr77761.c: New.

From-SVN: r243316

7 years agopredicates.md (general_gr_operand): New predicate.
Uros Bizjak [Tue, 6 Dec 2016 19:56:03 +0000 (20:56 +0100)]
predicates.md (general_gr_operand): New predicate.

* config/i386/predicates.md (general_gr_operand): New predicate.
* config/i386/i386.md (TImode and DImode push_operand splitter):
Use general_gr_operand.  Macroize using DWI mode macro.
(TImode and DImode nonimmediate_operand splitter): Use
nonimmediate_gr_operand and general_gr_operand.  Macroize using
DWI mode macro.
(TF/XF/DFmode push_operand splitter): Use general_gr_operand.
(TFmode nonimmediate_operand splitter): Use nonimmediate_gr_operand
and general_gr_operand.
(XFmode nonimmediate_operand splitter): Ditto.
(DFmode nonimmediate_operand splitter): Ditto.
* config/i386/mmx.md (MMXMODE nonimmediate_operand splitter): Ditto.

From-SVN: r243315

7 years agoAdd #ifdef case for 16 bits in cow-stdexcept.cc
Felipe Magno de Almeida [Tue, 6 Dec 2016 17:58:10 +0000 (17:58 +0000)]
Add #ifdef case for 16 bits in cow-stdexcept.cc

Added #ifdef case for when void* is 16 bits so it compiles in AVR
target.

2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>

* src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.

From-SVN: r243310

7 years agoEnable libstdc++ compilation on AVR targets
Felipe Magno de Almeida [Tue, 6 Dec 2016 17:58:05 +0000 (17:58 +0000)]
Enable libstdc++ compilation on AVR targets

Enable libstdc++ compilation in AVR targets with AVR-Libc. Most
floating point math functions are already defined in AVR-Libc, so
defines are in place to avoid multiple definition of these functions.

2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>

* crossconfig.m4: Add avr target for cross-compilation.
* configure: Regenerate.

From-SVN: r243309

7 years agore PR fortran/78659 ([F03] Spurious "requires DTIO" reported against namelist statement)
Jerry DeLisle [Tue, 6 Dec 2016 17:13:31 +0000 (17:13 +0000)]
re PR fortran/78659 ([F03] Spurious "requires DTIO" reported against namelist statement)

2016-12-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/78659
* resolve.c (resolve_fl_namelist): Remove unneeded error.
PR fortran/78659
* gfortran.dg/alloc_comp_constraint_1.f90: Update test.
* gfortran.dg/alloc_comp_constraint_7.f90: New test.
* gfortran.dg/namelist_34.f90: Update test.
* gfortran.dg/namelist_63.f90: Update test.

From-SVN: r243308

7 years ago[ARM][committed] Sort ARMv8 processors by alphabetic order
Kyrylo Tkachov [Tue, 6 Dec 2016 16:56:56 +0000 (16:56 +0000)]
[ARM][committed] Sort ARMv8 processors by alphabetic order

* config/arm/arm-cores.def (cortex-m23, cortex-m33): Move into
alphabetical order with respect to other ARMv8 processors.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Likewise.

From-SVN: r243306

7 years agoFix pretty-printer for std::variant
Jonathan Wakely [Tue, 6 Dec 2016 14:36:07 +0000 (14:36 +0000)]
Fix pretty-printer for std::variant

* python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
data member name.
* testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.

From-SVN: r243304

7 years agoFix debug mode assertion for std::shared_ptr<void>
Jonathan Wakely [Tue, 6 Dec 2016 14:36:00 +0000 (14:36 +0000)]
Fix debug mode assertion for std::shared_ptr<void>

* include/bits/shared_ptr_base.h
(__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.

From-SVN: r243303

7 years ago[MIPS][MSA] Fix builtins with literal integer arguments.
Robert Suchanek [Tue, 6 Dec 2016 13:45:34 +0000 (13:45 +0000)]
[MIPS][MSA] Fix builtins with literal integer arguments.

gcc/
* config/mips/mips.c (mips_expand_builtin_insn): Check input
ranges of literal integer arguments.

gcc/testsuite/

* gcc.target/mips/msa-builtins-err.c: New test.

From-SVN: r243301

7 years agore PR fortran/78226 (Fill out location information everywhere)
Andre Vehreschild [Tue, 6 Dec 2016 13:41:46 +0000 (14:41 +0100)]
re PR fortran/78226 (Fill out location information everywhere)

gcc/fortran/ChangeLog:

2016-12-06  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/78226
* class.c (finalize_component): Add missing locus information.
(finalization_scalarizer): Likewise.
(finalization_get_offset): Likewise.
(finalizer_insert_packed_call): Likewise.
(generate_finalization_wrapper): Likewise.

From-SVN: r243300

7 years agoFix libstdc++-v3/ChangeLog dates
Jonathan Wakely [Tue, 6 Dec 2016 12:48:54 +0000 (12:48 +0000)]
Fix libstdc++-v3/ChangeLog dates

From-SVN: r243299

7 years agoConstrain optional's __constexpr_addressof in its return type and use a constexpr...
Ville Voutilainen [Tue, 6 Dec 2016 12:47:54 +0000 (14:47 +0200)]
Constrain optional's __constexpr_addressof in its return type and use a constexpr addressof for optional, if available.

Constrain optional's __constexpr_addressof in its return type
and use a constexpr addressof for optional, if available.
* include/experimental/optional (__constexpr_addressof):
Constrain in the return type instead of in a template parameter.
(_Has_addressof_mem)
(_Has_addressof_free, _Has_addressof, __constexpr_addressof):
Guard with #ifndef __cpp_lib_addressof_constexpr.
(operator->()): Use std::__addressof if it's constexpr.

From-SVN: r243298

7 years agovariant (visit): Make visit constexpr.
Tim Shen [Tue, 6 Dec 2016 11:28:09 +0000 (11:28 +0000)]
variant (visit): Make visit constexpr.

* include/std/variant (visit): Make visit constexpr. Also cleanup
__get_alternative and __storage, since we don't support reference/void
alternatives any more.
* testsuite/20_util/variant/compile.cc: Add tests.

From-SVN: r243295

7 years agoenable_special_members.h: Make _Enable_default_constructor constexpr.
Tim Shen [Tue, 6 Dec 2016 11:26:48 +0000 (11:26 +0000)]
enable_special_members.h: Make _Enable_default_constructor constexpr.

* include/bits/enable_special_members.h: Make
_Enable_default_constructor constexpr.
* include/std/variant (variant::emplace, variant::swap, std::swap,
std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases
of duplicated types.
* testsuite/20_util/variant/compile.cc: Add tests.
* testsuite/20_util/variant/hash.cc: Add tests.

From-SVN: r243294

7 years agovariant (std::get, operator==): Implement constexpr comparison and get<>.
Tim Shen [Tue, 6 Dec 2016 11:20:13 +0000 (11:20 +0000)]
variant (std::get, operator==): Implement constexpr comparison and get<>.

* include/std/variant (std::get, operator==): Implement constexpr
comparison and get<>.
* testsuite/20_util/variant/compile.cc: Tests.

From-SVN: r243293

7 years agovariant (__erased_use_alloc_ctor, [...]): Remove uses-allocator related functions.
Tim Shen [Tue, 6 Dec 2016 11:17:56 +0000 (11:17 +0000)]
variant (__erased_use_alloc_ctor, [...]): Remove uses-allocator related functions.

* include/std/variant (__erased_use_alloc_ctor,
_Variant_base::_Variant_base, variant::variant): Remove uses-allocator
related functions.
* testsuite/20_util/variant/compile.cc: Remove related tests.
* testsuite/20_util/variant/run.cc: Remove related tests.

From-SVN: r243292

7 years agoAdd missing noexcept on std::_Sp_locker constructors
Aditya Kumar [Tue, 6 Dec 2016 10:43:49 +0000 (10:43 +0000)]
Add missing noexcept on std::_Sp_locker constructors

2016-12-06  Aditya Kumar  <hiraditya@msn.com>

* src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
noexcept on constructor.
(_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.

From-SVN: r243291

7 years agoAdd noexcept to various basic_string string operations
Jonathan Wakely [Tue, 6 Dec 2016 10:43:42 +0000 (10:43 +0000)]
Add noexcept to various basic_string string operations

* include/bits/basic_string.h (basic_string::find, basic_string::rfind)
(basic_string::find_first_of, basic_string::find_last_of)
(basic_string::find_first_not_of, basic_string::find_last_not_of):
Make all overloads noexcept.
(basic_string::compare(const _CharT*)): Make noexcept.

From-SVN: r243290

7 years agore PR middle-end/78548 (ICE on valid C code on x86_64-linux-gnu at -O2 and -O3 in...
Aldy Hernandez [Tue, 6 Dec 2016 10:35:37 +0000 (10:35 +0000)]
re PR middle-end/78548 (ICE on valid C code on x86_64-linux-gnu at -O2 and -O3 in 64-bit mode with -Wall (*** Error in `/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/cc1': double free or corruption (fasttop): 0x0000000003c15810 ***))

PR middle-end/78548
* tree-ssa-uninit.c (simplify_preds_4): Call release() instead of
destroy_predicate_vecs.
(uninit_uses_cannot_happen): Make uninit_preds a scalar.

From-SVN: r243289

7 years agore PR middle-end/78566 (gcc.dg/uninit-pred-6_[abc]*.c regressions on some non-x86...
Aldy Hernandez [Tue, 6 Dec 2016 10:33:41 +0000 (10:33 +0000)]
re PR middle-end/78566 (gcc.dg/uninit-pred-6_[abc]*.c regressions on some non-x86 platforms)

PR middle-end/78566
* tree-ssa-uninit.c (can_one_predicate_be_invalidated_p): Change
argument type to a pred_chain.
(can_chain_union_be_invalidated_p): Use pred_chain instead of a
worklist.
(flatten_out_predicate_chains): Remove.
(uninit_uses_cannot_happen): Rename from
uninit_ops_invalidate_phi_use.
Change logic so that we are checking that the PHI use will
invalidate _ALL_ possibly uninitialized operands.
(is_use_properly_guarded): Rename call to
uninit_ops_invalidate_phi_use into uninit_uses_cannot_happen.

From-SVN: r243288

7 years ago2016-12-06 Tamar Christina <tamar.christina@arm.com>
Tamar Christina [Tue, 6 Dec 2016 09:56:52 +0000 (09:56 +0000)]
2016-12-06  Tamar Christina  <tamar.christina@arm.com>

* gcc/config/aarch64/arm_neon.h
(vreinterpretq_p8_p128, vreinterpretq_p16_p128): Added.
(vreinterpret_p64_p16, vreinterpretq_p64_p128): Likewise.
(vreinterpretq_p64_p16, vreinterpretq_p128_p8): Likewise.
(vreinterpretq_p128_p16, vreinterpretq_p128_f16): Likewise.
(vreinterpretq_p128_f32, vreinterpretq_p128_p64): Likewise.
(vreinterpretq_p128_s64, vreinterpretq_p128_u64): Likewise.
(vreinterpretq_p128_s8, vreinterpretq_p128_s16): Likewise.
(vreinterpretq_p128_s32, vreinterpretq_p128_u8): Likewise.
(vreinterpretq_p128_u16, vreinterpretq_p128_u32): Likewise.
(vreinterpretq_f16_p128, vreinterpretq_f32_p128): Likewise.
(vreinterpretq_s64_p128, vreinterpretq_u64_p128): Likewise.
(vreinterpretq_s8_p128, vreinterpretq_s16_p128): Likewise.
(vreinterpretq_s32_p128, vreinterpretq_u8_p128): Likewise.
(vreinterpretq_u16_p128, vreinterpretq_u32_p128): Likewise.

From-SVN: r243287

7 years agore PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the...
Jakub Jelinek [Tue, 6 Dec 2016 09:24:36 +0000 (10:24 +0100)]
re PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.)

PR c++/71537
* fold-const.c (fold_comparison): Assume CONSTANT_CLASS_P (base0)
plus offset is non-zero.  For maybe_nonzero_address decl base0,
require indirect_base0.

* g++.dg/cpp0x/constexpr-71537.C: New test.

From-SVN: r243286

7 years agore PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the...
Jakub Jelinek [Tue, 6 Dec 2016 09:23:51 +0000 (10:23 +0100)]
re PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.)

2016-12-06  Jakub Jelinek  <jakub@redhat.com>

PR c++/71537
* fold-const-call.c (fold_const_call_1): Remove memchr handling here.
(fold_const_call) <case CFN_BUILT_IN_STRNCMP,
case CFN_BUILT_IN_STRNCASECMP>: Formatting improvements.
(fold_const_call) <case CFN_BUILT_IN_MEMCMP>: Likewise.  If s2 is 0
and arguments have no side-effects, return 0.
(fold_const_call): Handle CFN_BUILT_IN_MEMCHR.

* g++.dg/cpp0x/constexpr-memchr.C: New test.

From-SVN: r243285

7 years agore PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the...
Jakub Jelinek [Tue, 6 Dec 2016 09:22:36 +0000 (10:22 +0100)]
re PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.)

PR c++/71537
* fold-const-call.c (fold_const_call): Handle
CFN_BUILT_IN_{INDEX,STRCHR,RINDEX,STRRCHR}.

* g++.dg/cpp0x/constexpr-strchr.C: New test.

From-SVN: r243284

7 years agore PR tree-optimization/78675 (ICE: verify_gimple failed (error: integral result...
Jakub Jelinek [Tue, 6 Dec 2016 09:21:13 +0000 (10:21 +0100)]
re PR tree-optimization/78675 (ICE: verify_gimple failed (error: integral result type precision does not match field size of BIT_FIELD_REF))

2016-12-06  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/78675
* tree-vect-loop.c (vectorizable_live_operation): For
VECTOR_BOOLEAN_TYPE_P vectype use integral type with bitsize precision
instead of TREE_TYPE (vectype) for the BIT_FIELD_REF.

* gcc.c-torture/execute/pr78675.c: New test.
* gcc.target/i386/pr78675-1.c: New test.
* gcc.target/i386/pr78675-2.c: New test.

From-SVN: r243283

7 years agore PR middle-end/78642 (invalid rtl sharing found in the insn)
Eric Botcazou [Tue, 6 Dec 2016 07:03:04 +0000 (07:03 +0000)]
re PR middle-end/78642 (invalid rtl sharing found in the insn)

PR middle-end/78642
* emit-rtl.c (verify_rtx_sharing) <CLOBBER>: Relax condition.
(copy_rtx_if_shared_1) <CLOBBER>: Likewise.
(copy_insn_1) <CLOBBER>: Likewise.

From-SVN: r243282

7 years agoOops, fix date
DJ Delorie [Tue, 6 Dec 2016 06:40:07 +0000 (01:40 -0500)]
Oops, fix date

From-SVN: r243281

7 years ago* argv.c (expandargv): Check for directories passed as @-files.
DJ Delorie [Tue, 6 Dec 2016 06:38:23 +0000 (01:38 -0500)]
* argv.c (expandargv): Check for directories passed as @-files.

From-SVN: r243280

7 years agore PR target/78688 (PowerPC fails bootstrap)
Michael Meissner [Tue, 6 Dec 2016 00:58:40 +0000 (00:58 +0000)]
re PR target/78688 (PowerPC fails bootstrap)

2016-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/78688
* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Use IN_RANGE
instead of ((N) >= (X) && (N) <= (Y-X)) to silence warnings about
comparing signed to unsigned values.
(FUNCTION_ARG_REGNO_P): Likewise.

From-SVN: r243278

7 years agoDaily bump.
GCC Administrator [Tue, 6 Dec 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243277

7 years ago* es.po, fr.po: Update.
Joseph Myers [Mon, 5 Dec 2016 22:49:31 +0000 (22:49 +0000)]
* es.po, fr.po: Update.

From-SVN: r243273

7 years agore PR tree-optimization/78646 (incorrect result type for pointer addition in slsr)
Bill Schmidt [Mon, 5 Dec 2016 21:48:27 +0000 (21:48 +0000)]
re PR tree-optimization/78646 (incorrect result type for pointer addition in slsr)

2016-12-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
    Stefan Freudenberger  <stefan@reservoir.com>

PR tree-optimization/78646
* gimple-ssa-strength-reduction.c (replace_ref): The pointer
addition used for the memory base expression should have the type
of the candidate.

Co-Authored-By: Stefan Freudenberger <stefan@reservoir.com>
From-SVN: r243272

7 years agore PR target/71721 (uclinux posix threads)
Jeff Law [Mon, 5 Dec 2016 17:49:41 +0000 (10:49 -0700)]
re PR target/71721 (uclinux posix threads)

PR target/71721
* config.gcc (*-*-uclinux*): Enable posix threads.
Adding BZ marker

From-SVN: r243269

7 years ago* config.gcc (*-*-uclinux*): Enable posix threads.
Waldemar Brodkorb [Mon, 5 Dec 2016 17:48:39 +0000 (17:48 +0000)]
* config.gcc (*-*-uclinux*): Enable posix threads.

From-SVN: r243268

7 years agoAdd AVX512 k-mask intrinsics
Andrew Senkevich [Mon, 5 Dec 2016 17:18:42 +0000 (17:18 +0000)]
Add AVX512 k-mask intrinsics

gcc/

2016-12-05  Andrew Senkevich  <andrew.senkevich@intel.com>

* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
* config/i386/avx512dqintrin.h: Ditto.
* config/i386/avx512fintrin.h: Ditto.
* config/i386/i386-builtin-types.def (UCHAR_FTYPE_UQI_UQI_PUCHAR,
UCHAR_FTYPE_UHI_UHI_PUCHAR, UCHAR_FTYPE_USI_USI_PUCHAR,
UCHAR_FTYPE_UDI_UDI_PUCHAR, UCHAR_FTYPE_UQI_UQI, UCHAR_FTYPE_UHI_UHI,
UCHAR_FTYPE_USI_USI, UCHAR_FTYPE_UDI_UDI, UQI_FTYPE_UQI_INT,
UHI_FTYPE_UHI_INT, USI_FTYPE_USI_INT, UDI_FTYPE_UDI_INT,
UQI_FTYPE_UQI, USI_FTYPE_USI, UDI_FTYPE_UDI, UQI_FTYPE_UQI_UQI): New
function types.
* config/i386/i386-builtin.def (__builtin_ia32_knotqi,
__builtin_ia32_knotsi, __builtin_ia32_knotdi,
__builtin_ia32_korqi, __builtin_ia32_korsi, __builtin_ia32_kordi,
__builtin_ia32_kxnorqi, __builtin_ia32_kxnorsi,
__builtin_ia32_kxnordi, __builtin_ia32_kxorqi, __builtin_ia32_kxorsi,
__builtin_ia32_kxordi, __builtin_ia32_kandqi,
__builtin_ia32_kandsi, __builtin_ia32_kanddi, __builtin_ia32_kandnqi,
__builtin_ia32_kandnsi, __builtin_ia32_kandndi): New.
* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.

gcc/testsuite/

2016-12-05  Andrew Senkevich  <andrew.senkevich@intel.com>

* gcc.target/i386/avx512bw-kandd-1.c: New.
* gcc.target/i386/avx512bw-kandnd-1.c: Ditto.
* gcc.target/i386/avx512bw-kandnq-1.c: Ditto.
* gcc.target/i386/avx512bw-kandq-1.c: Ditto.
* gcc.target/i386/avx512bw-knotd-1.c: Ditto.
* gcc.target/i386/avx512bw-knotq-1.c: Ditto.
* gcc.target/i386/avx512bw-kord-1.c: Ditto.
* gcc.target/i386/avx512bw-korq-1.c: Ditto.
* gcc.target/i386/avx512bw-kunpckdq-3.c: Ditto.
* gcc.target/i386/avx512bw-kunpckwd-3.c: Ditto.
* gcc.target/i386/avx512bw-kxnord-1.c: Ditto.
* gcc.target/i386/avx512bw-kxnorq-1.c: Ditto.
* gcc.target/i386/avx512bw-kxord-1.c: Ditto.
* gcc.target/i386/avx512bw-kxorq-1.c: Ditto.
* gcc.target/i386/avx512dq-kandb-1.c: Ditto.
* gcc.target/i386/avx512dq-kandnb-1.c: Ditto.
* gcc.target/i386/avx512dq-knotb-1.c: Ditto.
* gcc.target/i386/avx512dq-korb-1.c: Ditto.
* gcc.target/i386/avx512dq-kxnorb-1.c: Ditto.
* gcc.target/i386/avx512dq-kxorb-1.c: Ditto.
* gcc.target/i386/avx512f-kunpckbw-3.c: Ditto.
* gcc.target/i386/avx512f-kandnw-1.c: Removed unneeded check.

From-SVN: r243265

7 years agoSubject: [PATCH] Revert "Do not simplify "(and (reg) (const bit)" to
Segher Boessenkool [Mon, 5 Dec 2016 13:54:42 +0000 (14:54 +0100)]
Subject: [PATCH] Revert "Do not simplify "(and (reg) (const bit)" to
 if_then_else."

* combine.c: Revert r243162.

From-SVN: r243256

7 years agomatch.pd: Simplify X ? C : 0 where C is a power of 2 and X tests a single bit.
Paolo Bonzini [Mon, 5 Dec 2016 13:19:34 +0000 (13:19 +0000)]
match.pd: Simplify X ? C : 0 where C is a power of 2 and X tests a single bit.

gcc:
* match.pd: Simplify X ? C : 0 where C is a power of 2 and
X tests a single bit.

gcc/testsuite:
* gcc.dg/fold-and-lshift.c, gcc.dg/fold-and-rshift-1.c,
gcc.dg/fold-and-rshift-2.c: New testcases.

From-SVN: r243255

7 years agodiagnostic.c (diagnostic_check_max_errors): New, broken out of ...
Nathan Sidwell [Mon, 5 Dec 2016 12:24:39 +0000 (12:24 +0000)]
diagnostic.c (diagnostic_check_max_errors): New, broken out of ...

gcc/
* diagnostic.c (diagnostic_check_max_errors): New, broken out of ...
(diagnostic_action_after_output): ... here.
(diagnostic_report_diagnostic): Call it for non-notes.
* diagnostic.h (struct diagnostic_context): Make max_errors signed
int.
(diagnostic_check_max_errors): Declare.

gcc/fortran/
* error.c (gfc_warning_check): Call diagnostic_check_max_errors.
(gfc_error_check): Likewise.

gcc/testsuite/
* c-c++-common/fmax_errors.c: Check notes after last error are
emitted.

From-SVN: r243254

7 years agore PR ada/48835 (porting GNAT to m68k-linux)
Mikael Pettersson [Mon, 5 Dec 2016 11:27:55 +0000 (12:27 +0100)]
re PR ada/48835 (porting GNAT to m68k-linux)

PR ada/48835
* gcc-interface/Makefile.in: Add support for m68k-linux.
* system-linux-m68k.ads: New file.

From-SVN: r243247

7 years ago[ARC] Fix PIE.
Cupertino Miranda [Mon, 5 Dec 2016 11:16:52 +0000 (11:16 +0000)]
[ARC] Fix PIE.

gcc/
2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>

* config/arc/arc.h (STARTFILE_SPEC): Use default linux specs.
(ENDFILE_SPEC): Likewise.

libgcc/
2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>

* config.host (arc*-*-linux-uclibc*): Use default extra
objects. Include linux-android header.
* config/arc/crti.S (_init): Declare symbol as function.
(_fini): Likewise.

From-SVN: r243245

7 years ago[ARC] Remove unused patterns, refactor unspec+offset pattern gen.
Claudiu Zissulescu [Mon, 5 Dec 2016 11:16:38 +0000 (12:16 +0100)]
[ARC] Remove unused patterns, refactor unspec+offset pattern gen.

2016-12-05  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-protos.h (insn_is_tls_gd_dispatch): Remove.
* config/arc/arc.c (arc_unspec_offset): New function.
(arc_finalize_pic): Change.
(arc_emit_call_tls_get_addr): Likewise.
(arc_legitimize_tls_address): Likewise.
(arc_legitimize_pic_address): Likewise.
(insn_is_tls_gd_dispatch): Remove.
* config/arc/arc.h (INSN_REFERENCES_ARE_DELAYED): Change.
* config/arc/arc.md (ls_gd_load): Remove unused pattern.
(tls_gd_dispatch): Likewise.

From-SVN: r243244

7 years agosystem-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only if the word size...
Eric Botcazou [Mon, 5 Dec 2016 11:15:17 +0000 (11:15 +0000)]
system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only if the word size is 64.

* system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only
if the word size is 64.

From-SVN: r243243

7 years agoFix arm-netbsdelf bootstrap.
Andre Vieira [Mon, 5 Dec 2016 09:44:24 +0000 (09:44 +0000)]
Fix arm-netbsdelf bootstrap.

    2016-12-025  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/arm.c (TARGET_ASM_INIT_SECTIONS): Fix wrong undef
location.

From-SVN: r243240

7 years ago[Patch 2/2 PR78561] Recalculate constant pool size before emitting it
James Greenhalgh [Mon, 5 Dec 2016 09:35:28 +0000 (09:35 +0000)]
[Patch 2/2 PR78561] Recalculate constant pool size before emitting it

gcc/testsuite/

PR rtl-optimization/78561
* gcc.target/aarch64/pr78561.c: Add missing testcase from r243183.

From-SVN: r243239

7 years agosparc-protos.h (sparc_splitdi_legitimate): Rename to...
Eric Botcazou [Mon, 5 Dec 2016 09:30:57 +0000 (09:30 +0000)]
sparc-protos.h (sparc_splitdi_legitimate): Rename to...

* config/sparc/sparc-protos.h (sparc_splitdi_legitimate): Rename to...
(sparc_split_reg_mem_legitimate): ...this.
(sparc_split_reg_mem): Declare.
(sparc_split_mem_reg): Likewise.
(sparc_split_regreg_legitimate): Rename to...
(sparc_split_reg_reg_legitimate): ...this.
* config/sparc/sparc.c (sparc_splitdi_legitimate): Rename to...
(sparc_split_reg_mem_legitimate): ...this.
(sparc_split_reg_mem): New function.
(sparc_split_mem_reg): Likewise.
(sparc_split_regreg_legitimate): Rename to...
(sparc_split_reg_reg_legitimate): ...this.
(sparc_split_reg_reg): New function.
* config/sparc/sparc.md (lra): Remove "none" value.
(enabled): Adjust to above change.
(*movdi_insn_sp32): Remove new (r,T) alternative and reorder others.
(DImode splitters): Adjust to above renamings and use new functions.
(*movdf_insn_sp32): Remove new (r,T) alternative and reorder others.
(DFmode splitters): Adjust to above renamings and use new functions.
(*mov<VM64:mode>_insn_sp64): Replace C with Z constraint and use W
constraint in conjunction with e.
(*mov<VM64:mode>_insn_sp32): Remove new (r,T) alternative, add (o,Y)
alternative and reorder others.
(VM64:mode splitters): Adjust to above renamings and use new functions.

From-SVN: r243238

7 years agoDaily bump.
GCC Administrator [Mon, 5 Dec 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243235

7 years agore PR fortran/78618 (ICE in gfc_check_rank, at fortran/check.c:3670)
Janus Weil [Sun, 4 Dec 2016 20:31:26 +0000 (21:31 +0100)]
re PR fortran/78618 (ICE in gfc_check_rank, at fortran/check.c:3670)

2016-12-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78618
* intrinsic.c (gfc_convert_type_warn): Do not set the full typespec for
the conversion symbol, but only type and kind. Set the full typespec
for the expression.
(gfc_convert_chartype): Ditto.

From-SVN: r243232

7 years agoPR c/78668 - aligned_alloc, realloc, et al. missing attribute alloc_size
Martin Sebor [Sun, 4 Dec 2016 17:48:44 +0000 (17:48 +0000)]
PR c/78668 - aligned_alloc, realloc, et al. missing attribute alloc_size

gcc/ChangeLog:

PR c/78668
        * builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
        identifier tree nodes.
        (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
        (ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
        (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
        (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
        (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
        * builtins.def (aligned_alloc, calloc, malloc, realloc):
        Add attribute alloc_size.
        (alloca): Add attribute alloc_size and returns_nonnull.

gcc/testsuite/ChangeLog:

PR c/78668
* gcc.dg/builtin-alloc-size.c: New test.

From-SVN: r243231

7 years agore PR target/70322 (STV doesn't optimize andn)
Uros Bizjak [Sun, 4 Dec 2016 14:38:05 +0000 (15:38 +0100)]
re PR target/70322 (STV doesn't optimize andn)

PR target/70322
* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NEG.
(dimode_scalar_chain::compute_convert_gain): Ditto.
(dimode_scalar_chain::convert_insn): Ditto.

testsuite/ChangeLog:

PR target/70322
* gcc.target/i386/pr70322-4.c: New test.

From-SVN: r243228

7 years agoDaily bump.
GCC Administrator [Sun, 4 Dec 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243227

7 years agore PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non...
Janus Weil [Sat, 3 Dec 2016 18:48:48 +0000 (19:48 +0100)]
re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
* primary.c (gfc_match_varspec): Reject nonpolymorphic references to
abstract types.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
* gfortran.dg/abstract_type_9.f90: New test case.

From-SVN: r243224

7 years agore PR fortran/42188 ([OOP] F03:C612. The leftmost part-name shall be the name of...
Janus Weil [Sat, 3 Dec 2016 18:37:57 +0000 (19:37 +0100)]
re PR fortran/42188 ([OOP] F03:C612. The leftmost part-name shall be the name of a data object.)

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42188
* primary.c (gfc_match_rvalue): Add a new check that gives better error
messages.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42188
* gfortran.dg/derived_result_2.f90.f90: New test case.

From-SVN: r243223

7 years agolra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all cases to build...
Eric Botcazou [Sat, 3 Dec 2016 17:37:13 +0000 (17:37 +0000)]
lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all cases to build a lowpart SUBREG.

* lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all
cases to build a lowpart SUBREG.

From-SVN: r243222

7 years agoconstraints.md (U): Adjust comment.
Eric Botcazou [Sat, 3 Dec 2016 17:29:43 +0000 (17:29 +0000)]
constraints.md (U): Adjust comment.

* config/sparc/constraints.md (U): Adjust comment.
* config/sparc/sparc.md (lra): New attribute.
(enabled): For base instructions, if the lra attribute is set,
return 1 if it is in keeping with TARGET_LRA.
(*movdi_insn_sp32): Add lra attribute for alternatives mentioning U
constraint and duplicate them with U replaced by r.
(*movdf_insn_sp32): Likewise.
(*mov<VM64:mode>_insn_sp32): Likewise.
(*movtf_insn_sp32): Remove alternatives mentioning U constraint.

From-SVN: r243221

7 years agobaseline_symbols.txt: Regenerate.
John David Anglin [Sat, 3 Dec 2016 16:10:43 +0000 (16:10 +0000)]
baseline_symbols.txt: Regenerate.

* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.

From-SVN: r243220

7 years agore PR libfortran/78379 (Processor-specific versions for matmul)
Thomas Koenig [Sat, 3 Dec 2016 09:44:35 +0000 (09:44 +0000)]
re PR libfortran/78379 (Processor-specific versions for matmul)

2016-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/78379
        * config/i386/cpuinfo.c:  Move denums for processor vendors,
        processor type, processor subtypes and declaration of
        struct __processor_model into
        * config/i386/cpuinfo.h:  New header file.
        * Makefile.am:  Add dependence of m4/matmul_internal_m4 to
        mamtul files..
        * Makefile.in:  Regenerated.
        * acinclude.m4:  Check for AVX, AVX2 and AVX512F.
        * config.h.in:  Add HAVE_AVX, HAVE_AVX2 and HAVE_AVX512F.
        * configure:  Regenerated.
        * configure.ac:  Use checks for AVX, AVX2 and AVX_512F.
        * m4/matmul_internal.m4:  New file. working part of matmul.m4.
        * m4/matmul.m4:  Implement architecture-specific switching
        for AVX, AVX2 and AVX512F by including matmul_internal.m4
        multiple times.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.

From-SVN: r243219

7 years agore PR fortran/58175 ([OOP] Incorrect warning message on scalar finalizer)
Janus Weil [Sat, 3 Dec 2016 09:32:27 +0000 (10:32 +0100)]
re PR fortran/58175 ([OOP] Incorrect warning message on scalar finalizer)

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58175
* resolve.c (gfc_resolve_finalizers): Prevent bogus warning.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58175
* gfortran.dg/finalize_30.f90: Extend test case.

From-SVN: r243218

7 years agoexpr.c (gfc_build_conversion): Remove unneeded initialization.
Steven G. Kargl [Sat, 3 Dec 2016 07:23:13 +0000 (07:23 +0000)]
expr.c (gfc_build_conversion): Remove unneeded initialization.

2016-12-02   Steven G. Kargl  <kargl@gcc.gnu.org>

* expr.c (gfc_build_conversion): Remove unneeded initialization.

From-SVN: r243217

7 years agoarm.c (arm_handle_cmse_nonsecure_call): Remove unused variable main_variant.
Jeff Law [Sat, 3 Dec 2016 02:02:51 +0000 (19:02 -0700)]
arm.c (arm_handle_cmse_nonsecure_call): Remove unused variable main_variant.

* config/arm/arm.c (arm_handle_cmse_nonsecure_call): Remove unused
variable main_variant.

From-SVN: r243216

7 years agoconfig.gcc (powerpc*-*-linux*): Set gnu-indirect-function by default on PowerPC linux...
Michael Meissner [Sat, 3 Dec 2016 00:41:44 +0000 (00:41 +0000)]
config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by default on PowerPC linux systems.

2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by
default on PowerPC linux systems.

From-SVN: r243215

7 years agoDaily bump.
GCC Administrator [Sat, 3 Dec 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243214

7 years agosimplify-rtx: Fix the last fix (PR78638)
Segher Boessenkool [Fri, 2 Dec 2016 23:51:31 +0000 (00:51 +0100)]
simplify-rtx: Fix the last fix (PR78638)

I managed to get the last obvious fix wrong: mode is M1, GET_MODE (op)
is M2.

* simplify-rtx.c (simplify_truncation): M2 is not mode, it is
GET_MODE (op).  Fix this.

From-SVN: r243210

7 years agoselftest.c: remove calls to strndup (PR bootstrap/78616)
David Malcolm [Fri, 2 Dec 2016 22:39:43 +0000 (22:39 +0000)]
selftest.c: remove calls to strndup (PR bootstrap/78616)

gcc/ChangeLog:
PR bootstrap/78616
* selftest.c (selftest::assert_strndup_eq): Rename to...
(selftest::assert_xstrndup_eq): ...this, and remove call to
strndup.
(selftest::test_strndup): Rename to...
(selftest::test_xstrndup): ...this, updating for above renaming.
(selftest::test_libiberty): Update for renaming.

From-SVN: r243207

7 years agore PR target/78639 (Power9 bad code generation for cactusADM benchmark)
Michael Meissner [Fri, 2 Dec 2016 22:12:08 +0000 (22:12 +0000)]
re PR target/78639 (Power9 bad code generation for cactusADM benchmark)

2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/78639
* config/rs6000/rs6000.md (movdi_internal64): Fix typo in
subversion id 242679 that causes the wrong store instruction to be
generated if a DImode is in an Altivec register using REG+REG
addressing.

From-SVN: r243206

7 years agosimplify.c (gfc_convert_char_constant): Free result on error.
Steven G. Kargl [Fri, 2 Dec 2016 22:09:13 +0000 (22:09 +0000)]
simplify.c (gfc_convert_char_constant): Free result on error.

2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>

* simplify.c (gfc_convert_char_constant): Free result on error.

From-SVN: r243205

7 years agore PR c++/78649 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error...
Jakub Jelinek [Fri, 2 Dec 2016 21:23:22 +0000 (22:23 +0100)]
re PR c++/78649 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in build_value_init_noctor, at cp/init.c:380))

PR c++/78649
* pt.c (tsubst_init): Don't call build_value_init if decl's type
is error_mark_node.

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

From-SVN: r243204

7 years agore PR target/70322 (STV doesn't optimize andn)
Uros Bizjak [Fri, 2 Dec 2016 18:48:35 +0000 (19:48 +0100)]
re PR target/70322 (STV doesn't optimize andn)

PR target/70322
* config/i386/i386.md (*andndi3_doubleword): Add non-BMI alternative
and corresponding post-reload splitter.

testsuite/ChangeLog:

PR target/70322
* gcc.target/i386/pr70322-2.c (dg-final): Remove xfail.

From-SVN: r243202

7 years ago[multiple changes]
Janus Weil [Fri, 2 Dec 2016 18:38:24 +0000 (19:38 +0100)]
[multiple changes]

2016-12-02  Janus Weil  <janus@gcc.gnu.org>
    Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/78618
* check.c (gfc_check_rank): Remove ATTRIBUTE_UNUSED.
* expr.c (gfc_check_assign): Fix error propagation.

2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/78618
* gfortran.dg/char_conversion.f90: New test.

From-SVN: r243201

7 years ago[AArch64] Separate shrink wrapping hooks implementation
Kyrylo Tkachov [Fri, 2 Dec 2016 17:13:08 +0000 (17:13 +0000)]
[AArch64] Separate shrink wrapping hooks implementation

* config/aarch64/aarch64.h (machine_function): Add
reg_is_wrapped_separately field.
* config/aarch64/aarch64.md (LAST_SAVED_REGNUM): Define new constant.
* config/aarch64/aarch64.c (emit_set_insn): Change return type to
rtx_insn *.
(aarch64_save_callee_saves): Don't save registers that are wrapped
separately.
(aarch64_restore_callee_saves): Don't restore registers that are
wrapped separately.
(offset_9bit_signed_unscaled_p, offset_12bit_unsigned_scaled_p,
aarch64_offset_7bit_signed_scaled_p): Move earlier in the file.
(aarch64_get_separate_components): New function.
(aarch64_get_next_set_bit): Likewise.
(aarch64_components_for_bb): Likewise.
(aarch64_disqualify_components): Likewise.
(aarch64_emit_prologue_components): Likewise.
(aarch64_emit_epilogue_components): Likewise.
(aarch64_set_handled_components): Likewise.
(aarch64_process_components): Likewise.
(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.

From-SVN: r243200

7 years agoMove rebuild_cfg to the end of build_ssa_passes
Martin Jambor [Fri, 2 Dec 2016 17:05:10 +0000 (18:05 +0100)]
Move rebuild_cfg to the end of build_ssa_passes

2016-12-02  Martin Jambor  <mjambor@suse.cz>

* passes.def: Move pass_rebuild_cgraph_edges to the end of
pass_build_ssa_passes.

From-SVN: r243199

7 years agoalpha.md (exception_receiver): Copy alpha_gp_ave_rtx return value.
Uros Bizjak [Fri, 2 Dec 2016 16:53:23 +0000 (17:53 +0100)]
alpha.md (exception_receiver): Copy alpha_gp_ave_rtx return value.

* config/alpha/alpha.md (exception_receiver): Copy
alpha_gp_ave_rtx return value.

From-SVN: r243197

7 years agoMakefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several include...
Tadek Kijkowski [Fri, 2 Dec 2016 16:34:28 +0000 (16:34 +0000)]
Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several include directories that may be relative...

* Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
for several include directories that may be relative to sysroot.
* config/i386/x-mingw32 (gplus_includedir): Define.
(gplus_tool_includedir, gplus_backward_include_dir): Likewise.
(native_system_includedir): Likewise.
* config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
override if TARGET_SYSTEM_ROOT is defined.
(NATIVE_SYSTEM_HEADER_DIR): Likewise.

From-SVN: r243196