platform/upstream/gcc.git
8 years agolibstdc++/77645 fix deque and vector xmethods for Python 3
Jonathan Wakely [Mon, 19 Sep 2016 17:09:04 +0000 (18:09 +0100)]
libstdc++/77645 fix deque and vector xmethods for Python 3

PR libstdc++/77645
* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
(DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
division to int to work with Python 3.

From-SVN: r240241

8 years agopr57558-1.c: Use unsigned int instead of unsigned long.
Bin Cheng [Mon, 19 Sep 2016 16:35:32 +0000 (16:35 +0000)]
pr57558-1.c: Use unsigned int instead of unsigned long.

gcc/testsuite
* gcc.dg/vect/pr57558-1.c: Use unsigned int instead of unsigned long.

From-SVN: r240239

8 years ago[simplify-rtx] (GTU (PLUS a C) (C - 1)) --> (LTU a -C)
Kyrylo Tkachov [Mon, 19 Sep 2016 16:15:57 +0000 (16:15 +0000)]
[simplify-rtx] (GTU (PLUS a C) (C - 1)) --> (LTU a -C)

* simplify-rtx.c (simplify_relational_operation_1): Add transformation
(GTU (PLUS a C) (C - 1)) --> (LTU a -C).

* gcc.target/aarch64/gtu_to_ltu_cmp_1.c: New test.
* gcc.target/aarch64/gtu_to_ltu_cmp_2.c: New test.

From-SVN: r240238

8 years agoMake libstdc++ tests FAIL on Python errors
Jonathan Wakely [Mon, 19 Sep 2016 15:59:04 +0000 (16:59 +0100)]
Make libstdc++ tests FAIL on Python errors

* testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.

From-SVN: r240237

8 years agoFix lra_p text
Segher Boessenkool [Mon, 19 Sep 2016 15:54:12 +0000 (17:54 +0200)]
Fix lra_p text

* target.def (lra_p): Wordsmithing.
* doc/tm.texi: Regenerate.

From-SVN: r240236

8 years agoImprove pretty printer for std::variant
Jonathan Wakely [Mon, 19 Sep 2016 15:49:27 +0000 (16:49 +0100)]
Improve pretty printer for std::variant

* python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
display_hint to be set by subclasses.
(StdVariantPrinter): Use array for display_hint. Adjust output to be
more similar to std::any and std::optional output.
(register_type_printers): Add type printers for basic_string_view
typedefs and experimental::any. Adjust type printers for
fundamentals_v1 templates to match fundamentals_v2 and later.
* testsuite/libstdc++-prettyprinters/cxx17.cc: New.

From-SVN: r240234

8 years agolibstdc++/77645 Fix xmethods for std::list
Jonathan Wakely [Mon, 19 Sep 2016 15:49:19 +0000 (16:49 +0100)]
libstdc++/77645 Fix xmethods for std::list

PR libstdc++/77645
* python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
argument.
(ListWorkerBase.get_value_from_node): Define new method.
(ListFrontWorker.__call__, ListBackWorker.__call__): Use it.

From-SVN: r240233

8 years agore PR ipa/77587 (C compiler produces incorrect stack alignment with __attribute__...
Jakub Jelinek [Mon, 19 Sep 2016 14:36:38 +0000 (16:36 +0200)]
re PR ipa/77587 (C compiler produces incorrect stack alignment with __attribute__((weak)))

PR target/77587
* cgraph.c (cgraph_node::rtl_info): Pass &avail to
ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE.
Call ultimate_alias_target just once, not up to 4 times.

* gcc.dg/pr77587.c: New test.
* gcc.dg/pr77587a.c: New file.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r240232

8 years agolibcaf.h: Add caf_reference_type.
Andre Vehreschild [Mon, 19 Sep 2016 13:45:40 +0000 (15:45 +0200)]
libcaf.h: Add caf_reference_type.

libgfortran/ChangeLog:

2016-09-19  Andre Vehreschild  <vehre@gcc.gnu.org>

* caf/libcaf.h: Add caf_reference_type.
* caf/mpi.c: Adapted signature of caf_register().
* caf/single.c (struct caf_single_token): Added to keep the pointer
to the memory registered and array descriptor.
(caf_internal_error): Added convenience interface.
(_gfortran_caf_register): Adapted to work with caf_single_token and
return memory in the array descriptor.
(_gfortran_caf_deregister): Same.
(assign_char1_from_char4): Fixed style.
(convert_type): Fixed incorrect conversion.
(_gfortran_caf_get): Adapted to work with caf_single_token.
(_gfortran_caf_send): Same.
(_gfortran_caf_sendget): Same.
(copy_data): Added to stop repeating it in all _by_ref functions.
(get_for_ref): Recursive getting of coarray data using a chain of
references.
(_gfortran_caf_get_by_ref): Driver for computing the memory needed for
the get and checking properties of the operation.
(send_by_ref): Same as get_for_ref but for sending data.
(_gfortran_caf_send_by_ref): Same like caf_get_by_ref but for sending.
(_gfortran_caf_sendget_by_ref): Uses get_by_ref and send_by_ref to
implement sendget for reference chains.
(_gfortran_caf_atomic_define): Adapted to work with caf_single_token.
(_gfortran_caf_atomic_ref): Likewise.
(_gfortran_caf_atomic_cas): Likewise.
(_gfortran_caf_atomic_op): Likewise.
(_gfortran_caf_event_post): Likewise.
(_gfortran_caf_event_wait): Likewise.
(_gfortran_caf_event_query): Likewise.
(_gfortran_caf_lock): Likewise.
(_gfortran_caf_unlock): Likewise.

gcc/testsuite/ChangeLog:

2016-09-19  Andre Vehreschild  <vehre@gcc.gnu.org>

* gfortran.dg/coarray/alloc_comp_4.f90: New test.
* gfortran.dg/coarray_38.f90:
* gfortran.dg/coarray_alloc_comp_1.f08: New test.
* gfortran.dg/coarray_alloc_comp_2.f08: New test.
* gfortran.dg/coarray_allocate_7.f08: New test.
* gfortran.dg/coarray_allocate_8.f08: New test.
* gfortran.dg/coarray_allocate_9.f08: New test.
* gfortran.dg/coarray_lib_alloc_1.f90: Adapted scan-tree-dumps to expect
new caf_register.
* gfortran.dg/coarray_lib_alloc_2.f90: Same.
* gfortran.dg/coarray_lib_alloc_3.f90: Same.
* gfortran.dg/coarray_lib_comm_1.f90: Adapted scan-tree-dumps to expect
get_by_refs.
* gfortran.dg/coarray_lib_token_3.f90: Same as for coarray_lib_alloc2.
* gfortran.dg/coarray_lock_7.f90: Same.
* gfortran.dg/coarray_poly_5.f90: Same.
* gfortran.dg/coarray_poly_6.f90: Same.
* gfortran.dg/coarray_poly_7.f90: Same.
* gfortran.dg/coarray_poly_8.f90: Same.
* gfortran.dg/coindexed_1.f90: Changed errors expected.

gcc/fortran/ChangeLog:

2016-09-19  Andre Vehreschild  <vehre@gcc.gnu.org>

* expr.c (gfc_check_assign): Added flag to control whether datatype
conversion is allowed.
* gfortran.h: Added caf-token-tree to gfc_component.  Changed
prototypes mostly to add whether datatype conversion is allowed.
* gfortran.texi: Added documentation for the caf_reference_t and the
caf_*_by_ref function.
* primary.c (caf_variable_attr): Similar to gfc_variable_attr but
focused on the needs of coarrays.
(gfc_caf_attr): Same.
* resolve.c (resolve_ordinary_assign): Set the conversion allowed
flag when not in a coarray.
* trans-array.c (gfc_array_init_size): Moved setting of array
descriptor's datatype before the alloc, because caf_register needs it.
(gfc_array_allocate): Changed notion of whether an array is a coarray.
(gfc_array_deallocate): Same.
(gfc_alloc_allocatable_for_assignment): Added setting of coarray's
array descriptor datatype before the register.  And using deregister/
register to mimmick a realloc for coarrays.
* trans-decl.c (gfc_build_builtin_function_decls): Corrected signatures
of old caf-functions and added signature definitions of the _by_ref
ones.
(generate_coarray_sym_init): Adapted to new caf_register signature.
* trans-expr.c (gfc_conv_scalar_to_descriptor): Make sure a constant
is translated to an lvalue expression before use in an array
descriptor.
(gfc_get_ultimate_alloc_ptr_comps_caf_token): New function.  Get the
last allocatable component's coarray token.
(gfc_get_tree_for_caf_expr): For top-level object get the coarray
token and check for unsupported features.
(gfc_get_caf_token_offset): Getting the offset might procude new
statements, which now are stored in the pre and post of the current se.
(gfc_caf_get_image_index): For this image return a call to
caf_this_image.
(expr_may_alias_variables): Check that the result is set for testing
its properties.
(alloc_scalar_allocatable_for_assignment): Added auto allocation of
coarray components.
(gfc_trans_assignment_1): Rewrite an assign to a coarray object to
be a sendget.
* trans-intrinsic.c (conv_caf_vector_subscript_elem): Corrected
wrong comment.
(compute_component_offset): Compute the correct offset a structure
member.
(conv_expr_ref_to_caf_ref): Convert to a chain of refs into
caf_references.
(gfc_conv_intrinsic_caf_get): Call caf_get_by_ref instead of caf_get.
(conv_caf_send): Call caf_*_by_ref for coarrays that need
reallocation.
(gfc_conv_intrinsic_function): Adapted to new signuature of the caf
drivers.
(conv_intrinsic_atomic_op): Add pre and post statements correctly.
(conv_intrinsic_atomic_ref): Same.
(conv_intrinsic_atomic_cas): Same.
(conv_intrinsic_event_query): Same.
* trans-stmt.c (gfc_trans_lock_unlock): Same.
(gfc_trans_event_post_wait): Same.
(gfc_trans_allocate): Support allocation of allocatable coarrays.
(gfc_trans_deallocate): And there deallocation.
* trans-types.c (gfc_typenode_for_spec): Added flag to control whether
a component is part of coarray.  When so, then add space to store a
coarray token.
(gfc_build_array_type): Same.
(gfc_get_array_descriptor_base): Same.
(gfc_get_array_type_bounds): Same.
(gfc_sym_type): Same.
(gfc_get_derived_type): Same.
(gfc_get_caf_reference_type): Declare the caf_reference_type.
* trans-types.h: Prototype changes only.
* trans.c (gfc_allocate_using_lib): Use the updated caf_register
signature.
(gfc_allocate_allocatable): Same.
(gfc_deallocate_with_status): Same.
* trans.h: Defined the runtime types for caf_reference_t and the enums.

From-SVN: r240231

8 years agore PR fortran/77584 (Unclassifiable statement error with procedure pointer using...
Fritz Reese [Mon, 19 Sep 2016 11:32:09 +0000 (11:32 +0000)]
re PR fortran/77584 (Unclassifiable statement error with procedure pointer using template named "structure_")

2016-09-19  Fritz Reese  <fritzoreese@gmail.com>

PR fortran/77584
* gcc/fortran/decl.c (match_record_decl, gfc_match_decl_type_spec):
Fixes to handling of structure/record from declaration-type-spec.

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

From-SVN: r240230

8 years agoFix zero-length parameter bug in pex_run.
Andrew Stubbs [Mon, 19 Sep 2016 10:02:56 +0000 (10:02 +0000)]
Fix zero-length parameter bug in pex_run.

2016-09-19  Andrew Stubbs  <ams@codesourcery.com>

libiberty/
* pex-win32.c (argv_to_cmdline): Quote zero-length parameters.

libiberty/testsuite/
* test-pexecute.c (main): Insert check for zero-length parameters.

From-SVN: r240229

8 years agodwarf2out.c (early_dwarf_finished): New global.
Richard Biener [Mon, 19 Sep 2016 07:20:16 +0000 (07:20 +0000)]
dwarf2out.c (early_dwarf_finished): New global.

2016-09-16  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (early_dwarf_finished): New global.
(set_early_dwarf::set_early_dwarf): Assert early_dwarf_finished
is false.
(dwarf2out_early_finish): Set early_dwarf_finished at the end,
if called from LTO exit early.
(dwarf2out_late_global_decl): When being during the early
debug phase do not add locations but only const value attributes.
Adjust the way we generate early DIEs for LTO.

lto/
* lto.c (lto_main): Invoke early_finish debug hook.

From-SVN: r240228

8 years agore PR tree-optimization/77605 (wrong code at -O3 on x86_64-linux-gnu)
Richard Biener [Mon, 19 Sep 2016 06:55:17 +0000 (06:55 +0000)]
re PR tree-optimization/77605 (wrong code at -O3 on x86_64-linux-gnu)

2016-09-19  Richard Biener  <rguenther@suse.de>

PR middle-end/77605
* tree-data-ref.c (analyze_subscript_affine_affine): Use the
proper niter to bound the loops.

* gcc.dg/torture/pr77605.c: New testcase.

From-SVN: r240227

8 years agore PR tree-optimization/77514 (ICE in VN_INFO_GET, at tree-ssa-sccvn.c:406 w/ -O2...
Richard Biener [Mon, 19 Sep 2016 06:54:10 +0000 (06:54 +0000)]
re PR tree-optimization/77514 (ICE in VN_INFO_GET, at tree-ssa-sccvn.c:406 w/ -O2 (and above))

2016-09-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77514
* tree-ssa-pre.c (create_expression_by_pieces): Optimize
search for folded stmt.

From-SVN: r240226

8 years agopr68078.f90: XFAIL run on Darwin
Louis Krupp [Mon, 19 Sep 2016 06:25:25 +0000 (06:25 +0000)]
pr68078.f90: XFAIL run on Darwin

2016-09-18  Louis Krupp  <louis.krupp@zoho.com>

* gfortran.dg/pr68078.f90: XFAIL run on Darwin

From-SVN: r240225

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

From-SVN: r240224

8 years agopasses.def (pass_early_thread_jumps): Schedule after forwprop.
Jan Hubicka [Sun, 18 Sep 2016 18:44:53 +0000 (20:44 +0200)]
passes.def (pass_early_thread_jumps): Schedule after forwprop.

* passes.def (pass_early_thread_jumps): Schedule after forwprop.
* tree-pass.h (make_pass_early_thread_jumps): Declare.
* tree-ssa-threadbackward.c (fsm_find_thread_path,
fsm_find_thread_path, profitable_jump_thread_path,
fsm_find_control_statement_thread_paths,
find_jump_threads_backwards): Add speed_p parameter.
(pass_data_early_thread_jumps): New pass.
(make_pass_early_thread_jumps): New function.

* g++.dg/predict-loop-exit-1.C: Disable early jump threading.
* g++.dg/predict-loop-exit-2.C: Disable early jump threading.
* g++.dg/predict-loop-exit-3.C: Disable early jump threading.
* gcc.dg/tree-ssa/pr69196-1.c: Disable early jump threading.
* gcc.dg/tree-ssa/vrp01.c: Disable early jump threading.
* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Disable early jump threading.
* gcc.dg/tree-ssa/pr68198.c: Scan ethread dump.
* gcc.dg/tree-ssa/ssa-thread-13.c: Scan ethread dump.
* gcc.dg/tree-ssa/vrp56.c: Scan ethread dump.
* gcc.dg/tree-ssa/vrp92.c: Scan ethread dump.
* gcc.dg/uninit-15.c: Swap xfailed and non-xfailed alternative.

From-SVN: r240221

8 years agopr68633.c: Fix expected result.
Kirill Yukhin [Sun, 18 Sep 2016 12:56:19 +0000 (12:56 +0000)]
pr68633.c: Fix expected result.

gcc/testsuite/
* gcc.target/i386/pr68633.c: Fix expected result.

From-SVN: r240220

8 years agore PR fortran/68078 (segfault with allocate and stat for derived types with default...
Louis Krupp [Sun, 18 Sep 2016 05:52:23 +0000 (05:52 +0000)]
re PR fortran/68078 (segfault with allocate and stat for derived types with default initialization)

2016-09-17  Louis Krupp  <louis.krupp@gmail.com>

PR fortran/68078
* gfortran.dg/pr68078.f90: New test.
* gfortran.dg/set_vm_limit.c: New, called by pr68078.

2016_09_17  Louis Krupp  <louis.krupp@zoho.com>

PR fortran/68078
* resolve.c (resolve_allocate_expr): Check that derived type
pointer, object or array has been successfully allocated before
initializing.

From-SVN: r240219

8 years agoDaily bump.
GCC Administrator [Sun, 18 Sep 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r240218

8 years agoDefine pretty printers for C++17 library components
Jonathan Wakely [Sat, 17 Sep 2016 15:20:23 +0000 (16:20 +0100)]
Define pretty printers for C++17 library components

* python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
(StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
Register for C++17 components in namespace std. Strip inline namespace
from typename.

From-SVN: r240215

8 years agoia64.h (ASM_OUTPUT_DWARF_OFFSET): Add cast.
Andreas Schwab [Sat, 17 Sep 2016 09:39:37 +0000 (09:39 +0000)]
ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add cast.

* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add cast.
* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.

From-SVN: r240214

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

From-SVN: r240213

8 years agoRemove bogus entry in ChangeLog added by git-svn
Jonathan Wakely [Fri, 16 Sep 2016 22:11:50 +0000 (23:11 +0100)]
Remove bogus entry in ChangeLog added by git-svn

From-SVN: r240206

8 years agoFix documentation for overflow-checking builtins
Jonathan Wakely [Fri, 16 Sep 2016 22:11:46 +0000 (23:11 +0100)]
Fix documentation for overflow-checking builtins

* doc/extend.texi (Integer Overflow Builtins): Fix type of out
parameters for functions taking long long arguments.

From-SVN: r240205

8 years agoFix typo in Libstdc++ Profile Mode docs
Jonathan Wakely [Fri, 16 Sep 2016 22:09:15 +0000 (23:09 +0100)]
Fix typo in Libstdc++ Profile Mode docs

* doc/xml/manual/profile_mode.xml: Fix typo.
* doc/html/manual/profile_mode_devel.html: Regenerate.

From-SVN: r240204

8 years agorecog.c (rest_of_handle_split_after_reload): Delete.
Eric Botcazou [Fri, 16 Sep 2016 21:39:05 +0000 (21:39 +0000)]
recog.c (rest_of_handle_split_after_reload): Delete.

* recog.c (rest_of_handle_split_after_reload): Delete.
(pass_split_after_reload::gate): New method.
(pass_split_after_reload::execute): Call split_all_insns directly.

From-SVN: r240203

8 years agoFix documentation for overflow-checking builtins
Jonathan Wakely [Fri, 16 Sep 2016 21:36:30 +0000 (22:36 +0100)]
Fix documentation for overflow-checking builtins

* doc/extend.texi (Integer Overflow Builtins): Fix type of out
parameters for functions taking long long arguments.

From-SVN: r240200

8 years agore PR target/77613 (Powerpc64le: redundant swaps in autovectorised loop)
Bill Schmidt [Fri, 16 Sep 2016 21:28:52 +0000 (21:28 +0000)]
re PR target/77613 (Powerpc64le: redundant swaps in autovectorised loop)

[gcc]

2016-09-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/77613
* config/rs6000/rs6000.c (rtx_is_swappable_p): Add support for
splat with truncate.

[gcc/testsuite]

2016-09-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/77613
* gcc.target/powerpc/swaps-p8-25.c: New.

From-SVN: r240199

8 years agore PR c++/77482 (Segfault when compiling ill-formed constexpr code)
Jakub Jelinek [Fri, 16 Sep 2016 20:25:17 +0000 (22:25 +0200)]
re PR c++/77482 (Segfault when compiling ill-formed constexpr code)

PR c++/77482
* error.c (dump_simple_decl): Only check DECL_DECLARED_CONCEPT_P
if DECL_LANG_SPECIFIC is non-NULL.  Fix up formatting.

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

From-SVN: r240198

8 years agore PR c++/77379 (incorrect mangling for non-virtual adjustor thunk (missing abi tag))
Jakub Jelinek [Fri, 16 Sep 2016 20:23:15 +0000 (22:23 +0200)]
re PR c++/77379 (incorrect mangling for non-virtual adjustor thunk (missing abi tag))

PR c++/77379
* g++.dg/abi/abi-tag23.C: Adjust scan-assembler regex for differing
thunk offsets.
* g++.dg/abi/abi-tag23a.C: Likewise.

From-SVN: r240197

8 years agore PR c++/77338 (ICE on invalid C++11 code on x86_64-linux-gnu: Segmentation fault)
Jakub Jelinek [Fri, 16 Sep 2016 20:22:35 +0000 (22:22 +0200)]
re PR c++/77338 (ICE on invalid C++11 code on x86_64-linux-gnu: Segmentation fault)

PR c++/77338
* constexpr.c (cxx_eval_constant_expression) <case PARM_DECL>: Only
call is_really_empty_class on complete types.

* g++.dg/cpp0x/decltype-77338.C: New test.

From-SVN: r240196

8 years agore PR c++/77375 (constant object with mutable subobject allocated in read-only memory)
Jakub Jelinek [Fri, 16 Sep 2016 20:21:29 +0000 (22:21 +0200)]
re PR c++/77375 (constant object with mutable subobject allocated in read-only memory)

PR c++/77375
* class.c (check_bases): Set CLASSTYPE_HAS_MUTABLE if any TYPE_HAS_MUTABLE_P
for any bases.

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

From-SVN: r240195

8 years agoAdd inline functions for various bitwise operations.
Jason Merrill [Fri, 16 Sep 2016 19:20:44 +0000 (15:20 -0400)]
Add inline functions for various bitwise operations.

* hwint.h (least_bit_hwi, pow2_or_zerop, pow2p_hwi, ctz_or_zero):
New.
* hwint.c (exact_log2): Use pow2p_hwi.
(ctz_hwi, ffs_hwi): Use least_bit_hwi.
* alias.c (memrefs_conflict_p): Use pow2_or_zerop.
* builtins.c (get_object_alignment_2, get_object_alignment)
(get_pointer_alignment, fold_builtin_atomic_always_lock_free): Use
least_bit_hwi.
* calls.c (compute_argument_addresses, store_one_arg): Use
least_bit_hwi.
* cfgexpand.c (expand_one_stack_var_at): Use least_bit_hwi.
* combine.c (force_to_mode): Use least_bit_hwi.
* emit-rtl.c (set_mem_attributes_minus_bitpos, adjust_address_1):
Use least_bit_hwi.
* expmed.c (synth_mult, expand_divmod): Use ctz_or_zero, ctz_hwi.
(init_expmed_one_conv): Use pow2p_hwi.
* fold-const.c (round_up_loc, round_down_loc): Use pow2_or_zerop.
(fold_binary_loc): Use pow2p_hwi.
* function.c (assign_parm_find_stack_rtl): Use least_bit_hwi.
* gimple-fold.c (gimple_fold_builtin_memory_op): Use pow2p_hwi.
* gimple-ssa-strength-reduction.c (replace_ref): Use least_bit_hwi.
* hsa-gen.c (gen_hsa_addr_with_align, hsa_bitmemref_alignment):
Use least_bit_hwi.
* ipa-cp.c (ipcp_alignment_lattice::meet_with_1): Use least_bit_hwi.
* ipa-prop.c (ipa_modify_call_arguments): Use least_bit_hwi.
* omp-low.c (oacc_loop_fixed_partitions)
(oacc_loop_auto_partitions): Use least_bit_hwi.
* rtlanal.c (nonzero_bits1): Use ctz_or_zero.
* stor-layout.c (place_field): Use least_bit_hwi.
* tree-pretty-print.c (dump_generic_node): Use pow2p_hwi.
* tree-sra.c (build_ref_for_offset): Use least_bit_hwi.
* tree-ssa-ccp.c (ccp_finalize): Use least_bit_hwi.
* tree-ssa-math-opts.c (bswap_replace): Use least_bit_hwi.
* tree-ssa-strlen.c (handle_builtin_memcmp): Use pow2p_hwi.
* tree-vect-data-refs.c (vect_analyze_group_access_1)
(vect_grouped_store_supported, vect_grouped_load_supported)
(vect_permute_load_chain, vect_shift_permute_load_chain)
(vect_transform_grouped_load): Use pow2p_hwi.
* tree-vect-generic.c (expand_vector_divmod): Use ctz_or_zero.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Use ctz_or_zero.
* tree-vect-stmts.c (vectorizable_mask_load_store): Use
least_bit_hwi.
* tsan.c (instrument_expr): Use least_bit_hwi.
* var-tracking.c (negative_power_of_two_p): Use pow2_or_zerop.

From-SVN: r240194

8 years agore PR libgcc/71744 (Concurrently throwing exceptions is not scalable)
Jakub Jelinek [Fri, 16 Sep 2016 19:17:47 +0000 (21:17 +0200)]
re PR libgcc/71744 (Concurrently throwing exceptions is not scalable)

PR libgcc/71744
* unwind-dw2-fde.c (ATOMIC_FDE_FAST_PATH): Define if __register_frame*
is not the primary registry and atomics are available.
(any_objects_registered): New variable.
(__register_frame_info_bases, __register_frame_info_table_bases):
Atomically store 1 to any_objects_registered after registering first
unwind info.
(_Unwind_Find_FDE): Return early if any_objects_registered is 0.

From-SVN: r240193

8 years agoReplace modulus with mask operation in over-aligned new
Jonathan Wakely [Fri, 16 Sep 2016 18:09:14 +0000 (19:09 +0100)]
Replace modulus with mask operation in over-aligned new

2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
    Marc Glisse  <marc.glisse@inria.fr>

* libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
(operator new(size_t, align_val_t)): Replace modulus operator with
mask.

Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>
From-SVN: r240192

8 years agore PR fortran/77612 (ICE on invalid character len in contained procedure)
Steven G. Kargl [Fri, 16 Sep 2016 17:55:38 +0000 (17:55 +0000)]
re PR fortran/77612 (ICE on invalid character len in contained procedure)

2016-09-16  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77612
* decl.c (char_len_param_value): Check parent namespace for
seen_implicit_none.

2016-09-16  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77612
* gfortran.dg/pr77612.f90: New test.

From-SVN: r240191

8 years agoAdjust arguments to aligned_alloc or posix_memalign
Jonathan Wakely [Fri, 16 Sep 2016 12:11:19 +0000 (13:11 +0100)]
Adjust arguments to aligned_alloc or posix_memalign

* libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
Increase alignment if less than sizeof(void*).
[_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
Increase size if not a multiple of alignment.

From-SVN: r240187

8 years agoFix testsuite failure for avr target
Senthil Kumar Selvaraj [Fri, 16 Sep 2016 11:42:59 +0000 (11:42 +0000)]
Fix testsuite failure for avr target

The test has integer literals that only fit on a target with int size 32+.

gcc/testsuite/

2016-09-16  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

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

From-SVN: r240186

8 years ago* c-typeck.c (lvalue_p): Use true and false instead of 1 and 0.
Marek Polacek [Fri, 16 Sep 2016 10:18:06 +0000 (10:18 +0000)]
* c-typeck.c (lvalue_p): Use true and false instead of 1 and 0.

From-SVN: r240185

8 years agoia64.h (ASM_OUTPUT_DWARF_OFFSET): Use parameter OFFSET, not offset.
Andreas Schwab [Fri, 16 Sep 2016 08:38:14 +0000 (08:38 +0000)]
ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use parameter OFFSET, not offset.

* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use parameter
OFFSET, not offset.
* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.

From-SVN: r240176

8 years agore PR middle-end/77475 (unnecessary or misleading context in reporting command line...
Jakub Jelinek [Fri, 16 Sep 2016 08:13:51 +0000 (10:13 +0200)]
re PR middle-end/77475 (unnecessary or misleading context in reporting command line problems)

PR middle-end/77475
* gcc.target/i386/pr65990.c: Adjust dg-error regexp.

From-SVN: r240175

8 years agore PR target/77526 (ICE: in verify_dominators, at dominance.c:1039 with -mstringop...
Jakub Jelinek [Fri, 16 Sep 2016 07:10:08 +0000 (09:10 +0200)]
re PR target/77526 (ICE: in verify_dominators, at dominance.c:1039 with -mstringop-strategy=byte_loop)

PR target/77526
* combine.c (rest_of_handle_combine): If any edges have been purged,
free dominators if available.

* gcc.target/i386/pr77526.c: New test.

From-SVN: r240174

8 years agore PR middle-end/77594 (double computation for __builtin_sub_overflow (0, ...))
Jakub Jelinek [Fri, 16 Sep 2016 07:09:27 +0000 (09:09 +0200)]
re PR middle-end/77594 (double computation for __builtin_sub_overflow (0, ...))

PR middle-end/77594
* internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall
through into expand_addsub_overflow after expand_neg_overflow.

* gcc.target/i386/pr77594.c: New test.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r240173

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

From-SVN: r240172

8 years agofix-it hints can't contain newlines
David Malcolm [Thu, 15 Sep 2016 23:57:01 +0000 (23:57 +0000)]
fix-it hints can't contain newlines

I hope to implement newline support within fix-it hints at some point,
but currently it's not supported, and leads to misleading diagnostic
output, so for now, fail gracefully.

gcc/ChangeLog:
* diagnostic-show-locus.c
(selftest::test_fixit_insert_containing_newline): New function.
(selftest::test_fixit_replace_containing_newline): New function.
(selftest::diagnostic_show_locus_c_tests): Call the above.

libcpp/ChangeLog:
* include/line-map.h (class rich_location): Note that newlines
aren't supported in fix-it text.
* line-map.c (rich_location::add_fixit_insert_before): Reject
attempts to add fix-its containing newlines.
(rich_location::add_fixit_replace): Likewise.

From-SVN: r240169

8 years agore PR fortran/69963 (ICE out of memory on displaced implicit character)
Louis Krupp [Thu, 15 Sep 2016 23:54:40 +0000 (23:54 +0000)]
re PR fortran/69963 (ICE out of memory on displaced implicit character)

2016-09-15  Louis Krupp  <louis.krupp@zoho.com>
PR fortran/69963
* parse.c (reject_statement): Clear charlen pointers in implicit
character typespecs before those charlen structures are freed.

2016-09-15  Louis Krupp  <louis.krupp@zoho.com>

PR fortran/69963
* gfortran.dg/misplaced_implicit_character.f90: New test.

From-SVN: r240168

8 years agoc-common.c (check_cxx_fundamental_alignment_constraints): Check DECL_EXTERNAL.
Jason Merrill [Thu, 15 Sep 2016 19:48:18 +0000 (15:48 -0400)]
c-common.c (check_cxx_fundamental_alignment_constraints): Check DECL_EXTERNAL.

* c-common.c (check_cxx_fundamental_alignment_constraints): Check
DECL_EXTERNAL.

From-SVN: r240167

8 years agore PR tree-optimization/77503 (ICE in vect_transform_stmt compiling postgresql)
Bin Cheng [Thu, 15 Sep 2016 16:31:35 +0000 (16:31 +0000)]
re PR tree-optimization/77503 (ICE in vect_transform_stmt compiling postgresql)

PR tree-optimization/77503
* tree-vect-loop.c (vectorizable_reduction): Record reduction
code for CONST_COND_REDUCTION at analysis stage and use it at
transform stage.
* tree-vectorizer.h (struct _stmt_vec_info): New field.
(STMT_VINFO_VEC_CONST_COND_REDUC_CODE): New macro.
* tree-vect-stmts.c (new_stmt_vec_info): Initialize above new
field.

gcc/testsuite
* gcc.dg/vect/pr77503.c: New test.

From-SVN: r240166

8 years agore PR tree-optimization/77544 (segfault at -O0 - infinite loop in simplification)
Richard Biener [Thu, 15 Sep 2016 12:35:13 +0000 (12:35 +0000)]
re PR tree-optimization/77544 (segfault at -O0 - infinite loop in simplification)

2016-09-15  Richard Biener  <rguenther@suse.de>

PR middle-end/77544
* fold-const.c (split_tree): Do not split constant ~X.

* c-c++-common/torture/pr77544.c: New testcase.

From-SVN: r240164

8 years agore PR rtl-optimization/77425 (Pointer test follows dereference in sched-int.h)
Jakub Jelinek [Thu, 15 Sep 2016 12:27:35 +0000 (14:27 +0200)]
re PR rtl-optimization/77425 (Pointer test follows dereference in sched-int.h)

PR rtl-optimization/77425
* sched-int.h (sd_iterator_cond): Don't update it_ptr->linkp if list
is NULL.

From-SVN: r240163

8 years agore PR middle-end/77475 (unnecessary or misleading context in reporting command line...
Jakub Jelinek [Thu, 15 Sep 2016 12:26:39 +0000 (14:26 +0200)]
re PR middle-end/77475 (unnecessary or misleading context in reporting command line problems)

PR middle-end/77475
* config/i386/i386.c (ix86_parse_stringop_strategy_string): Simplify,
use %qs instead of %s where desirable, use argument instead of arg in
the diagnostic wording, add list of supported strategies and
spellcheck hint.
(ix86_option_override_internal): Emit target("m...") instead of
option("m...") in the diagnostic.  Use %qs instead of %s in invalid
-march/-mtune option diagnostic.  Add list of supported arches/tunings
and spellcheck hint.  Remove prefix, suffix and sw variables, use
main_args_p ? "..." : "..." in diagnostics to make translation
possible.

* gcc.target/i386/pr65990.c: Adjust expected diagnostics.
* gcc.dg/march-generic.c: Likewise.
* gcc.target/i386/spellcheck-options-1.c: New test.
* gcc.target/i386/spellcheck-options-2.c: New test.
* gcc.target/i386/spellcheck-options-3.c: New test.
* gcc.target/i386/spellcheck-options-4.c: New test.

From-SVN: r240162

8 years agoEditorial fixes to libstdc++ debug mode docs
Jonathan Wakely [Thu, 15 Sep 2016 10:30:58 +0000 (11:30 +0100)]
Editorial fixes to libstdc++ debug mode docs

* doc/xml/manual/debug_mode.xml: Minor editorial fixes.
* doc/html/*: Regenerate.

From-SVN: r240161

8 years agoFix testsuite to not increment bool
Jonathan Wakely [Thu, 15 Sep 2016 10:30:52 +0000 (11:30 +0100)]
Fix testsuite to not increment bool

* testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
-Wno-deprecated.
* testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.

From-SVN: r240160

8 years agoReformat libstdc++-v3/ChangeLog to fit in 80 columns
Jonathan Wakely [Thu, 15 Sep 2016 10:26:03 +0000 (11:26 +0100)]
Reformat libstdc++-v3/ChangeLog to fit in 80 columns

From-SVN: r240159

8 years agodwarf2asm.h (dw2_asm_output_offset): Add overload with extra offset argument.
Richard Biener [Thu, 15 Sep 2016 10:22:32 +0000 (10:22 +0000)]
dwarf2asm.h (dw2_asm_output_offset): Add overload with extra offset argument.

2016-09-15  Richard Biener  <rguenther@suse.de>

* dwarf2asm.h (dw2_asm_output_offset): Add overload with
extra offset argument.
* dwarf2asm.c (dw2_asm_output_offset): Implement that.
* doc/tm.texi.in (ASM_OUTPUT_DWARF_OFFSET): Adjust documentation
to reflect new offset parameter.
* doc/tm.texi: Regenerate.
* config/darwin.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
* config/darwin-protos.h (darwin_asm_output_dwarf_delta): Add
offset argument.
(darwin_asm_output_dwarf_offset): Likewise.
* config/darwin.c (darwin_asm_output_dwarf_delta): Add offset
argument.
(darwin_asm_output_dwarf_offset): Pass offset argument through.
* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Adjust.
* config/i386/cygmin.h (ASM_OUTPUT_DWARF_OFFSET): Likewise.

From-SVN: r240158

8 years agoFix testsuite to not increment bool
Jonathan Wakely [Thu, 15 Sep 2016 10:18:38 +0000 (11:18 +0100)]
Fix testsuite to not increment bool

* testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
-Wno-deprecated.
* testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.

From-SVN: r240157

8 years agore PR fortran/72743 (ICE in get_constraint_for_ssa_var, at tree-ssa-structalias.c...
Chung-Lin Tang [Thu, 15 Sep 2016 09:46:36 +0000 (09:46 +0000)]
re PR fortran/72743 (ICE in get_constraint_for_ssa_var, at tree-ssa-structalias.c:2958)

2016-09-15  Chung-Lin Tang  <cltang@codesourcery.com>

PR fortran/72743
* ipa-icf.c (set_alias_uids): New function.
(sem_variable::merge): Use set_alias_uids to set DECL_PT_UID of
all the merged variable's referring aliases.

testsuite/
* gfortran.dg/goacc/pr72743.f90: New test.

From-SVN: r240155

8 years agofold-reassoc-2.c: Fix dump scan.
Richard Biener [Thu, 15 Sep 2016 09:24:10 +0000 (09:24 +0000)]
fold-reassoc-2.c: Fix dump scan.

2016-09-15  Richard Biener  <rguenther@suse.de>

* gcc.dg/fold-reassoc-2.c: Fix dump scan.

From-SVN: r240154

8 years agore PR tree-optimization/77514 (ICE in VN_INFO_GET, at tree-ssa-sccvn.c:406 w/ -O2...
Richard Biener [Thu, 15 Sep 2016 07:17:45 +0000 (07:17 +0000)]
re PR tree-optimization/77514 (ICE in VN_INFO_GET, at tree-ssa-sccvn.c:406 w/ -O2 (and above))

2016-09-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77514
* tree-ssa-pre.c (create_expression_by_pieces): Handle garbage
only forced_stmts sequence.

* gcc.dg/torture/pr77514.c: New testcase.

From-SVN: r240153

8 years agoIterator to visit SSA
Kugan Vivekanandarajah [Thu, 15 Sep 2016 02:03:51 +0000 (02:03 +0000)]
Iterator to visit SSA

Iterator to visit SSA
gcc/ChangeLog:

2016-09-15  Kugan Vivekanandarajah  <kuganv@linaro.org>

* tree-ssanames.h (FOR_EACH_SSA_NAME): New.
* cfgexpand.c (update_alias_info_with_stack_vars): Use
FOR_EACH_SSA_NAME to iterate over SSA variables.
(pass_expand::execute): Likewise.
* omp-simd-clone.c (ipa_simd_modify_function_body): Likewise.
* tree-cfg.c (dump_function_to_file): Likewise.
* tree-into-ssa.c (pass_build_ssa::execute): Likewise.
(update_ssa): Likewise.
* tree-ssa-alias.c (dump_alias_info): Likewise.
* tree-ssa-ccp.c (ccp_finalize): Likewise.
* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
(create_outofssa_var_map): Likewise.
(coalesce_ssa_name): Likewise.
* tree-ssa-operands.c (dump_immediate_uses): Likewise.
* tree-ssa-pre.c (compute_avail): Likewise.
* tree-ssa-sccvn.c (init_scc_vn): Likewise.
(scc_vn_restore_ssa_info): Likewise.
(free_scc_vn): Likwise.
(run_scc_vn): Likewise.
* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
* tree-ssa-ter.c (new_temp_expr_table): Likewise.
* tree-ssa-copy.c (fini_copy_prop): Likewise.
* tree-ssa.c (verify_ssa): Likewise.

From-SVN: r240152

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

From-SVN: r240151

8 years agore PR c++/77549 (ICE on invalid C++ code that references undeclared variable)
Jakub Jelinek [Wed, 14 Sep 2016 21:55:10 +0000 (23:55 +0200)]
re PR c++/77549 (ICE on invalid C++ code that references undeclared variable)

PR c++/77549
* name-lookup.c (consider_binding_level): Look through TREE_LIST
and OVERLOAD.

* g++.dg/lookup/pr77549.C: New test.

From-SVN: r240148

8 years agolibgo: fix typo in configure.ac (PCQUANTUm -> PCQUANTUM)
Ian Lance Taylor [Wed, 14 Sep 2016 20:52:51 +0000 (20:52 +0000)]
libgo: fix typo in configure.ac (PCQUANTUm -> PCQUANTUM)

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

From-SVN: r240146

8 years agoInfer architecture from ABI for mips-mti* and mips-img* triplets.
Matthew Fortune [Wed, 14 Sep 2016 19:59:59 +0000 (19:59 +0000)]
Infer architecture from ABI for mips-mti* and mips-img* triplets.

gcc/
* config.gcc (mips*-mti-elf*, mips*-mti-linux*): Set mips32r2
and mips64r2 as default 32-bit and 64-bit architectures.
(mips*-img-elf*, mips*-img-linux*): Set mips32r6 and mips64r6
as default 32-bit and 64-bit architectures.

From-SVN: r240145

8 years agosimplify.c (gfc_simplify_repeat): Fix a misplaced closing ')'.
Bernd Edlinger [Wed, 14 Sep 2016 18:04:39 +0000 (18:04 +0000)]
simplify.c (gfc_simplify_repeat): Fix a misplaced closing ')'.

2016-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * simplify.c (gfc_simplify_repeat): Fix a misplaced closing ')'.

From-SVN: r240142

8 years agotypeck.c (cp_build_unary_op): Diagnose incrementing boolean expressions.
Marek Polacek [Wed, 14 Sep 2016 17:46:59 +0000 (17:46 +0000)]
typeck.c (cp_build_unary_op): Diagnose incrementing boolean expressions.

* typeck.c (cp_build_unary_op): Diagnose incrementing boolean
expressions.  Tweak an error message.

* c-c++-common/gomp/atomic-12.c: Use -Wno-deprecated.
* c-c++-common/gomp/atomic-13.c: Likewise.
* c-c++-common/gomp/atomic-14.c: Likewise.
* g++.dg/cpp1y/lambda-init11.C: Remove invalid code.
* g++.dg/cpp1z/bool-increment1.C: New test.
* c-c++-common/pr60439.c: Add dg-warning.
* g++.dg/expr/bitfield4.C: Likewise.
* g++.dg/expr/bitfield5.C: Likewise.
* g++.dg/expr/bitfield6.C: Likewise.
* g++.dg/expr/bool1.C: Likewise.
* g++.dg/expr/bool3.C: Likewise.
* g++.dg/expr/lval3.C: Likewise.
* g++.dg/expr/lval4.C: Likewise.
* g++.old-deja/g++.jason/bool5.C: Likewise.
* g++.dg/expr/bitfield3.C: Adjust dg-error.
* g++.dg/other/error18.C: Likewise.
* g++.dg/gomp/atomic-14.C: Likewise.
libgomp/
* testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
libstdc++-v3/
* testsuite/23_containers/vector/debug/insert6_neg.cc: Use
-Wno-deprecated.

From-SVN: r240141

8 years agoloop-unroll.c (unroll_loop_runtime_iterations): Set probability of succ edge.
Pat Haugen [Wed, 14 Sep 2016 17:04:18 +0000 (17:04 +0000)]
loop-unroll.c (unroll_loop_runtime_iterations): Set probability of succ edge.

* loop-unroll.c (unroll_loop_runtime_iterations): Set probability of succ edge.

From-SVN: r240140

8 years agoc-common.c (check_cxx_fundamental_alignment_constraints): Don't limit FIELD_DECL...
Jason Merrill [Wed, 14 Sep 2016 16:18:10 +0000 (12:18 -0400)]
c-common.c (check_cxx_fundamental_alignment_constraints): Don't limit FIELD_DECL, either.

* c-common.c (check_cxx_fundamental_alignment_constraints): Don't
limit FIELD_DECL, either.

From-SVN: r240139

8 years agore PR c++/77539 (gcc-5/6: comparison of array to nullptr failure in constexpr (fixed...
Nathan Sidwell [Wed, 14 Sep 2016 16:13:52 +0000 (16:13 +0000)]
re PR c++/77539 (gcc-5/6: comparison of array to nullptr failure in constexpr (fixed by r235506 on trunk))

PR c++/77539
* g++.dg/cpp1y/pr77539.C: New.

From-SVN: r240138

8 years agoc-common.c (c_common_truthvalue_conversion): Use false instead of 0.
Marek Polacek [Wed, 14 Sep 2016 15:05:00 +0000 (15:05 +0000)]
c-common.c (c_common_truthvalue_conversion): Use false instead of 0.

* c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
* c-common.h (build_unary_op): Change nonconvert parameter type to bool.
* c-omp.c (c_finish_omp_atomic): Use false instead of 0.

* c-array-notation.c (create_cmp_incr): Use false instead of 0.
(fix_array_notation_expr): Likewise.
* c-decl.c (finish_decl): Likewise.
* c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
* c-typeck.c (array_to_pointer_conversion): Use true instead of 1.
(function_to_pointer_conversion): Use false instead of 0.
(convert_lvalue_to_rvalue): Likewise.
(parser_build_unary_op): Likewise.
(build_atomic_assign): Likewise.
(build_unary_op): Change nonconvert parameter type to bool, use
true/false instead of 1/0.
(build_binary_op): Use true instead of 1.

* cp-tree.h (cp_build_unary_op): Change nonconvert parameter type to
bool.
* decl2.c (one_static_initialization_or_destruction): Use true instead
of 1.
* init.c (build_vec_init): Use false instead of 0.
* pt.c (tsubst_copy_and_build): Likewise.
* semantics.c (simplify_loop_decl_cond): Likewise.
* typeck.c (rationalize_conditional_expr): Likewise.
(cp_build_binary_op): Use true instead of 1.
(cp_build_unary_op): Change nonconvert parameter type to bool.  Use true
instead of 1.
(build_unary_op): Change nonconvert parameter type to bool.
(unary_complex_lvalue): Use false instead of 0.

From-SVN: r240137

8 years agoFix dg-require before dg-run directives in testsuite.
Christophe Lyon [Wed, 14 Sep 2016 13:37:23 +0000 (13:37 +0000)]
Fix dg-require before dg-run directives in testsuite.

libstdc++-v3/ChangeLog:

2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>

* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
Move dg-do directive before dg-skip.
* testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
Move dg-do directive before dg-require.
* testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
* testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
Likewise.
* testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
* testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
* testsuite/27_io/objects/char/12048-5.cc: Likewise.
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.

gcc/testsuite/ChangeLog:

2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>

* g++.dg/cpp0x/lambda/lambda-mangle.C: Move dg-do directive before
dg-require.
* g++.dg/ext/builtin_alloca.C: Likewise.
* g++.dg/template/spec35.C: Likewise.
* gcc.dg/builtins-68.c: Likewise.
* gcc.misc-tests/gcov-13.c: Likewise.
* gcc.misc-tests/gcov-14.c: Likewise.

From-SVN: r240135

8 years agodec_structure_14.f90: New testcase.
Jim MacArthur [Wed, 14 Sep 2016 12:13:03 +0000 (12:13 +0000)]
dec_structure_14.f90: New testcase.

2016-09-13  Jim MacArthur  <jim.macarthur@codethink.co.uk>

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

From-SVN: r240134

8 years agoFix TARGET_LRA_P description
Segher Boessenkool [Wed, 14 Sep 2016 10:51:43 +0000 (12:51 +0200)]
Fix TARGET_LRA_P description

2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>

* target.def (lra_p): Change commentary (for the manual) for the
new default.
* doc/tm.texi: Regenerate.

From-SVN: r240133

8 years agoDelete TARGET_LRA_P from those targets that set it to "true"
Segher Boessenkool [Wed, 14 Sep 2016 10:49:42 +0000 (12:49 +0200)]
Delete TARGET_LRA_P from those targets that set it to "true"

A few targets already always want LRA; those then do not need to override
the default anymore.

2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>

* config/aarch64/aarch64.c (TARGET_LRA_P): Delete macro.
* config/arm/arm.c (TARGET_LRA_P): Delete macro.
* config/i386/i386.c (TARGET_LRA_P): Delete macro.
* config/nds32/nds32.c (TARGET_LRA_P): Delete macro.

From-SVN: r240132

8 years agoChange the default of TARGET_LRA_P to true
Segher Boessenkool [Wed, 14 Sep 2016 10:48:00 +0000 (12:48 +0200)]
Change the default of TARGET_LRA_P to true

Since all targets now define TARGET_LRA_P, this does not change behaviour
for any existing target.  Newly added ports will by default use LRA now.

2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>

* targhooks.c (default_lra_p): Return true instead of false.

From-SVN: r240131

8 years agoPut a TARGET_LRA_P into every target
Segher Boessenkool [Wed, 14 Sep 2016 10:46:12 +0000 (12:46 +0200)]
Put a TARGET_LRA_P into every target

This patch adds a TARGET_LRA_P (defined to hook_bool_void_false) to
every target that didn't yet override the hook.  No functional change.

2016-09-14  Segher Boessenkool  <segher@kernel.crashing.org>

* config/alpha/alpha.c (TARGET_LRA_P): New macro, defined to
hook_bool_void_false.
* config/avr/avr.c: Ditto.
* config/bfin/bfin.c: Ditto.
* config/c6x/c6x.c: Ditto.
* config/cr16/cr16.c: Ditto.
* config/cris/cris.c: Ditto.
* config/epiphany/epiphany.c: Ditto.
* config/fr30/fr30.c: Ditto.
* config/frv/frv.c: Ditto.
* config/h8300/h8300.c: Ditto.
* config/ia64/ia64.c: Ditto.
* config/iq2000/iq2000.c: Ditto.
* config/lm32/lm32.c: Ditto.
* config/m32c/m32c.c: Ditto.
* config/m32r/m32r.c: Ditto.
* config/m68k/m68k.c: Ditto.
* config/mcore/mcore.c: Ditto.
* config/microblaze/microblaze.c: Ditto.
* config/mmix/mmix.c: Ditto.
* config/mn10300/mn10300.c: Ditto.
* config/moxie/moxie.c: Ditto.
* config/msp430/msp430.c: Ditto.
* config/nios2/nios2.c: Ditto.
* config/nvptx/nvptx.c: Ditto.
* config/pa/pa.c: Ditto.
* config/pdp11/pdp11.c: Ditto.
* config/rl78/rl78.c: Ditto.
* config/sparc/sparc.c: Ditto.
* config/spu/spu.c: Ditto.
* config/stormy16/stormy16.c: Ditto.
* config/tilegx/tilegx.c: Ditto.
* config/tilepro/tilepro.c: Ditto.
* config/v850/v850.c: Ditto.
* config/vax/vax.c: Ditto.
* config/visium/visium.c: Ditto.
* config/xtensa/xtensa.c: Ditto.

From-SVN: r240130

8 years agore PR sanitizer/68260 (false positive with tsan)
Jakub Jelinek [Wed, 14 Sep 2016 09:01:49 +0000 (11:01 +0200)]
re PR sanitizer/68260 (false positive with tsan)

PR sanitizer/68260
* tsan.c: Include target.h.
(enum tsan_atomic_action): Add bool_clear and bool_test_and_set.
(BOOL_CLEAR, BOOL_TEST_AND_SET): Define.
(tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and
BUILT_IN_ATOMIC_TEST_AND_SET entries.
(instrument_builtin_call): Handle bool_clear and bool_test_and_set.

* c-c++-common/tsan/pr68260.c: New test.

From-SVN: r240129

8 years agoAdd braces to a condition in predict.c (PR middle-end/77574)
Bernd Edlinger [Wed, 14 Sep 2016 07:18:53 +0000 (07:18 +0000)]
Add braces to a condition in predict.c (PR middle-end/77574)

    Martin Liska  <mliska@suse.cz>

PR middle-end/77574
* predict.c (force_edge_cold): Add braces to a condition.

Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r240128

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

From-SVN: r240127

8 years agore PR rtl-optimization/77289 (ICE in extract_constrain_insn, at recog.c:2212 on power...
Bernd Edlinger [Tue, 13 Sep 2016 21:25:04 +0000 (21:25 +0000)]
re PR rtl-optimization/77289 (ICE in extract_constrain_insn, at recog.c:2212 on powerpc64)

2016-09-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR rtl-optimization/77289
        * lra-constraints.c (get_final_hard_regno): Removed.
        (get_hard_regno): Add new parameter final_p.
        (get_reg_class): Directly call lra_get_elimination_hard_regno.
        (operands_match_p): Adjust call to get_hard_regno.
        (uses_hard_regs_p): Likewise.
        (process_alt_operands): Likewise.

From-SVN: r240124

8 years agore PR target/70713 (msp430 interrupt attribute prevents overriding weak symbols)
Joe Seymour [Tue, 13 Sep 2016 20:06:47 +0000 (20:06 +0000)]
re PR target/70713 (msp430 interrupt attribute prevents overriding weak symbols)

2016-09-13  Joe Seymour  <joe.s@somniumtech.com>

gcc/
PR target/70713
* config/msp430/msp430.c (msp430_start_function): Emit an error
if a function is both weak and specifies an interrupt number.

gcc/testsuite/
PR target/70713
* gcc.target/msp430/function-attributes-1.c: New test.
* gcc.target/msp430/function-attributes-2.c: New test.
* gcc.target/msp430/function-attributes-3.c: New test.

From-SVN: r240123

8 years agoImplement P0040R3, Extending memory management tools.
Ville Voutilainen [Tue, 13 Sep 2016 19:26:02 +0000 (22:26 +0300)]
Implement P0040R3, Extending memory management tools.

* include/bits/stl_uninitialized.h (utility): New include
in C++17 mode.
(uninitialized_default_construct): New.
(uninitialized_default_construct_n): Likewise.
(uninitialized_value_construct): Likewise.
(uninitialized_value_construct_n): Likewise.
(uninitialized_move): Likewise.
(uninitialized_move_n): Likewise.
(destroy_at, destroy, destroy_n): Likewise.
* testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
New.

From-SVN: r240122

8 years agoImplement P0028R4, C++17 using attribute namespaces without repetition
Jakub Jelinek [Tue, 13 Sep 2016 19:20:38 +0000 (21:20 +0200)]
Implement P0028R4, C++17 using attribute namespaces without repetition

Implement P0028R4, C++17 using attribute namespaces without repetition
* parser.c (cp_parser_std_attribute): Add ATTR_NS argument.  Diagnose
non-NULL ATTR_NS with scoped attribute token.  Handle non-NULL
ATTR_NS with non-scoped attribute tokens.  Allow named ops in
identifier after ::.
(cp_parser_std_attribute_list): Add ATTR_NS argument, pass it down
to cp_parser_std_attribute calls.
(cp_parser_std_attribute_spec): Parse optional C++17
attribute-using-prefix, adjust grammar in function comment.

* g++.dg/cpp0x/gen-attrs-61.C: New test.
* g++.dg/cpp1z/gen-attrs1.C: New test.

From-SVN: r240121

8 years agore PR tree-optimization/77454 (IMM ERROR w/ -O2 and above)
Jakub Jelinek [Tue, 13 Sep 2016 19:19:33 +0000 (21:19 +0200)]
re PR tree-optimization/77454 (IMM ERROR w/ -O2 and above)

PR tree-optimization/77454
* tree-ssa-dom.c (optimize_stmt): Set modified flag on stmt after
changing GIMPLE_COND.  Move update_stmt_if_modified call after this.
Formatting fix.

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

From-SVN: r240120

8 years agore PR c++/77553 (wrong code with post-increment operator in constexpr)
Jakub Jelinek [Tue, 13 Sep 2016 17:10:39 +0000 (19:10 +0200)]
re PR c++/77553 (wrong code with post-increment operator in constexpr)

PR c++/77553
* constexpr.c (cxx_fold_pointer_plus_expression): New function.
(cxx_eval_binary_expression): Use it for POINTER_PLUS_EXPR.
(cxx_eval_pointer_plus_expression): Remove.
(cxx_eval_constant_expression) <case POINTER_PLUS_EXPR>: Don't
call cxx_eval_pointer_plus_expression.

* g++.dg/cpp1y/constexpr-77553.C: New test.

From-SVN: r240119

8 years agore PR fortran/77420 (gfortran and equivalence produces internal compiler error)
Steven G. Kargl [Tue, 13 Sep 2016 17:00:29 +0000 (17:00 +0000)]
re PR fortran/77420 (gfortran and equivalence produces internal compiler error)

2016-09-13  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77420
* module.c (load_equiv):  Revert revision 240063.

2016-09-13  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77420
* gfortran.dg/pr77420.f90: Revert revision 240063 by removing test.

From-SVN: r240118

8 years ago[PATCH 1/2][AArch64] Add missing support for poly64x1_t
Tamar Christina [Tue, 13 Sep 2016 16:32:23 +0000 (16:32 +0000)]
[PATCH 1/2][AArch64]  Add missing support for poly64x1_t

Committed on behalf of:

  Tamar Christina  <tamar.christina@arm.com>

gcc/

* config/aarch64/aarch64-builtins.c
(aarch64_init_simd_builtins): Fix builtin type signature printing.

From-SVN: r240117

8 years agoalpha.c (alpha_pass_by_reference): Pass un-named SFmode and SCmode arguments by refer...
Uros Bizjak [Tue, 13 Sep 2016 16:29:40 +0000 (18:29 +0200)]
alpha.c (alpha_pass_by_reference): Pass un-named SFmode and SCmode arguments by reference.

* config/alpha/alpha.c (alpha_pass_by_reference): Pass un-named
SFmode and SCmode arguments by reference.

From-SVN: r240116

8 years agofix-it hints: insert_before vs insert_after
David Malcolm [Tue, 13 Sep 2016 16:08:59 +0000 (16:08 +0000)]
fix-it hints: insert_before vs insert_after

The API for adding "insert text" fix-it hints was unclear
about exactly where the text should be inserted relative
to the given insertion point.

This patch clarifies things by renaming the pertinent methods from
  richloc.add_fixit_insert
to
  richloc.add_fixit_insert_before
and adding:
  richloc.add_fixit_insert_after

The latter allows us to consolidate some failure-handling into
class rich_location, rather than having to have every such diagnostic
check for it.

The patch also adds a description of how fix-it hints work to the
comment for class rich_location within libcpp/include/line-map.h.

gcc/c-family/ChangeLog:
* c-common.c (warn_logical_not_parentheses): Replace
rich_location::add_fixit_insert calls with add_fixit_insert_before
and add_fixit_insert_after, eliminating the "next_loc" calculation.

gcc/c/ChangeLog:
* c-parser.c (c_parser_declaration_or_fndef): Update for renaming
of add_fixit_insert to add_fixit_insert_before.

gcc/cp/ChangeLog:
* parser.c (cp_parser_class_specifier_1): Update for renaming of
add_fixit_insert to add_fixit_insert_before.
(cp_parser_class_head): Likewise.

gcc/ChangeLog:
* diagnostic-show-locus.c (selftest::test_one_liner_fixit_insert):
Rename to...
(selftest::test_one_liner_fixit_insert_before): ...this, and update
for renaming of add_fixit_insert to add_fixit_insert_before.
(selftest::test_one_liner_fixit_insert_after): New function.
(selftest::test_one_liner_fixit_validation_adhoc_locations):
Update for renaming of add_fixit_insert to
add_fixit_insert_before.
(selftest::test_one_liner_many_fixits): Likewise.
(selftest::test_diagnostic_show_locus_one_liner): Update for
renaming, call new test function.
(selftest::test_diagnostic_show_locus_fixit_lines): Update for
renaming of add_fixit_insert to add_fixit_insert_before.
(selftest::test_fixit_consolidation): Likewise.
* diagnostic.c (selftest::test_print_parseable_fixits_insert):
Likewise.
* edit-context.c (selftest::test_applying_fixits_insert): Rename
to...
(selftest::test_applying_fixits_insert_before): ...this.
(selftest::test_applying_fixits_insert): Update for renaming of
add_fixit_insert to add_fixit_insert_before.
(selftest::test_applying_fixits_insert_after): New function.
(selftest::test_applying_fixits_insert_after_at_line_end): New
function.
(selftest::test_applying_fixits_insert_after_failure): New
function.
(selftest::test_applying_fixits_multiple): Update for renaming of
add_fixit_insert to add_fixit_insert_before.
(selftest::change_line): Likewise.
(selftest::test_applying_fixits_unreadable_file): Likewise.
(selftest::test_applying_fixits_line_out_of_range): Likewise.
(selftest::test_applying_fixits_column_validation): Likewise.
(selftest::test_applying_fixits_column_validation): Likewise.
(selftest::edit_context_c_tests): Update for renamed test
function; call new test functions.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Replace rich_location::add_fixit_insert calls
with add_fixit_insert_before and add_fixit_insert_after.

libcpp/ChangeLog:
* include/line-map.h (class rich_location): Add description of
fix-it hints to leading comment.
(rich_location::add_fixit_insert): Rename both overloaded methods
to..
(rich_location::add_fixit_insert_before): ...this, updating their
comments.
(rich_location::add_fixit_insert_after): Two new overloaded
methods.
(rich_location::stop_supporting_fixits): New method.
* line-map.c (rich_location::add_fixit_insert): Rename both
overloaded methods to..
(rich_location::add_fixit_insert_before): ...this, updating their
comments.
(rich_location::add_fixit_insert_after): Two new methods.
(rich_location::reject_impossible_fixit): Split out
failure-handling into...
(rich_location::stop_supporting_fixits): New method.

From-SVN: r240115

8 years agore PR tree-optimization/77536 (Vectorizer not maintaining relationship of relative...
Pat Haugen [Tue, 13 Sep 2016 15:58:52 +0000 (15:58 +0000)]
re PR tree-optimization/77536 (Vectorizer not maintaining relationship of relative block frequencies in absence of real profile data)

PR tree-optimization/77536
PR rtl-optimization/68212
* config/rs6000/rs6000.md (div->recip splitter): Remove
optimize_insn_for_speed_p condition.

From-SVN: r240113

8 years agoDon't treat array as builtin type in set_underlying_type
Jason Merrill [Tue, 13 Sep 2016 15:56:03 +0000 (11:56 -0400)]
Don't treat array as builtin type in set_underlying_type

2016-09-13  Jason Merrill  <jason@redhat.com>
    Tom de Vries  <tom@codesourcery.com>

PR c++/77427
* c-common.c (set_underlying_type): Don't treat array as builtin type.

* g++.dg/pr77427.C: New test.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r240112

8 years agoAdd new effective target: profile_update_atomic
Martin Liska [Tue, 13 Sep 2016 13:30:13 +0000 (15:30 +0200)]
Add new effective target: profile_update_atomic

* g++.dg/gcov/gcov-threads-1.C: Use profile_update_atomic
effective target.
* gcc.dg/tree-prof/val-profiler-threads-1.c: Likewise.
* lib/target-supports.exp: Define the new target.

From-SVN: r240111

8 years agoTrying again to fix aligned-new on m68k.
Jason Merrill [Tue, 13 Sep 2016 13:15:39 +0000 (09:15 -0400)]
Trying again to fix aligned-new on m68k.

* c-common.c (check_cxx_fundamental_alignment_constraints): Don't
limit types at all.

From-SVN: r240110

8 years agoc-typeck.c (build_unary_op): Rename FLAG parameter to NOCONVERT.
Marek Polacek [Tue, 13 Sep 2016 10:42:39 +0000 (10:42 +0000)]
c-typeck.c (build_unary_op): Rename FLAG parameter to NOCONVERT.

* c-typeck.c (build_unary_op): Rename FLAG parameter to NOCONVERT.  Use
it.

From-SVN: r240109

8 years ago* optabs.c (prepare_cmp_insn): Update documentation comment.
Maciej W. Rozycki [Tue, 13 Sep 2016 09:47:10 +0000 (09:47 +0000)]
* optabs.c (prepare_cmp_insn): Update documentation comment.

From-SVN: r240108

8 years agore PR middle-end/77475 (unnecessary or misleading context in reporting command line...
Jakub Jelinek [Tue, 13 Sep 2016 08:45:36 +0000 (10:45 +0200)]
re PR middle-end/77475 (unnecessary or misleading context in reporting command line problems)

PR middle-end/77475
* opts.h (candidates_list_and_hint): Declare.
* opts-common.c (candidates_list_and_hint): New function.
(cmdline_handle_error): Use it.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r240107

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

From-SVN: r240106

8 years agoSimplify edited_file::print_diff
David Malcolm [Tue, 13 Sep 2016 00:07:52 +0000 (00:07 +0000)]
Simplify edited_file::print_diff

gcc/ChangeLog:
* edit-context.c (edited_line::get_len): New accessor.
(edited_file::print_diff): Split out hunk-printing into...
(edited_file::print_diff_hunk): New method.
(edited_file::print_diff_line): New method.

From-SVN: r240103

8 years agoAdd tunning of ldpw for THunderX.
Andrew Pinski [Mon, 12 Sep 2016 21:30:33 +0000 (21:30 +0000)]
Add tunning of ldpw for THunderX.

2016-09-12  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-tuning-flags.def (SLOW_UNALIGNED_LDPW):
        New tuning option.
        * config/aarch64/aarch64.c (thunderx_tunings): Enable
        AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW.
        (aarch64_operands_ok_for_ldpstp): Return false if
        AARCH64_EXTRA_TUNE_SLOW_UNALIGNED_LDPW and the mode
        was SImode and the alignment is less than 8 byte.
        (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
2016-09-12  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/thunderxloadpair.c: New testcase.
        * gcc.target/aarch64/thunderxnoloadpair.c: New testcase.

From-SVN: r240102