Richard Biener [Wed, 1 Feb 2017 12:47:25 +0000 (12:47 +0000)]
re PR tree-optimization/79315 (ICE while building SPEC CPU 2006 FP with -Ofast -ftree-parallelize-loops)
2017-02-01 Richard Biener <rguenther@suse.de>
PR middle-end/79315
* tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it
was not set before.
* gfortran.dg/pr79315.f90: New testcase.
From-SVN: r245089
Jonathan Wakely [Wed, 1 Feb 2017 11:41:48 +0000 (11:41 +0000)]
PR libstdc++/79254 simplify exception-safety in copy assignment
PR libstdc++/79254
* config/abi/pre/gnu.ver: Remove recently added symbols.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign): Remove.
(basic_string::operator=(const basic_string&)): Don't dispatch to
_M_copy_assign. If source object is small just deallocate, otherwise
perform new allocation before making any changes.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign(const basic_string&, true_type)):
Remove.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Test cases where the allocators are equal or the string is small.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
From-SVN: r245085
Pekka Jääskeläinen [Wed, 1 Feb 2017 10:06:13 +0000 (10:06 +0000)]
re PR other/79250 (brig/brigfrontend/brig-to-generic.cc: two small problems)
* brigfrontend/brig-code-entry-handler.cc: fix address
expressions which refer only to offset 0, but nothing else.
* brigfrontend/brig-lane-inst-handler.cc: fix
activelanepermute_b64 HSAIL instruction.
* brigfrontend/brig-to-generic.cc: remove useless c_str()
call. Add missing va_end (). Fix PR79250
From-SVN: r245084
Richard Biener [Wed, 1 Feb 2017 08:02:50 +0000 (08:02 +0000)]
re PR tree-optimization/71824 (ICE when compiling libiberty with Graphite loop optimizations)
2017-02-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/71824
* graphite-scop-detection.c (scop_detection::build_scop_breadth):
Verify the loops are valid in the merged SESE region.
(scop_detection::can_represent_loop_1): Check analyzing the
evolution of the number of iterations in the region succeeds.
* gcc.dg/graphite/pr71824.c: New testcase.
From-SVN: r245081
Jakub Jelinek [Wed, 1 Feb 2017 07:56:49 +0000 (08:56 +0100)]
configure.tgt: Fix i?86-*-linux* entry.
* configure.tgt: Fix i?86-*-linux* entry.
* rt/sat_arithmetic.c (__hsail_sat_add_u32, __hsail_sat_add_u64,
__hsail_sat_add_s32, __hsail_sat_add_s64): Use __builtin_add_overflow.
(__hsail_sat_sub_u8, __hsail_sat_sub_u16): Remove pointless for overflow
over maximum.
(__hsail_sat_sub_u32, __hsail_sat_sub_u64, __hsail_sat_sub_s32,
__hsail_sat_sub_s64): Use __builtin_sub_overflow.
(__hsail_sat_mul_u32, __hsail_sat_mul_u64, __hsail_sat_mul_s32,
__hsail_sat_mul_s64): Use __builtin_mul_overflow.
* rt/arithmetic.c (__hsail_borrow_u32, __hsail_borrow_u64): Use
__builtin_sub_overflow_p.
(__hsail_carry_u32, __hsail_carry_u64): Use __builtin_add_overflow_p.
* rt/misc.c (__hsail_groupbaseptr, __hsail_kernargbaseptr_u64):
Cast pointers to uintptr_t first before casting to some other integral
type.
* rt/segment.c (__hsail_segmentp_private, __hsail_segmentp_group): Likewise.
* rt/queue.c (__hsail_ldqueuereadindex, __hsail_ldqueuewriteindex,
__hsail_addqueuewriteindex, __hsail_casqueuewriteindex,
__hsail_stqueuereadindex, __hsail_stqueuewriteindex): Cast integral value
to uintptr_t first before casting to pointer.
* rt/workitems.c (__hsail_alloca_pop_frame): Cast memcpy first argument to
void * to avoid warning.
From-SVN: r245080
GCC Administrator [Wed, 1 Feb 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245079
Ian Lance Taylor [Tue, 31 Jan 2017 23:49:26 +0000 (23:49 +0000)]
i386.c (ix86_expand_split_stack_prologue): Add REG_ARGS_SIZE note to 32-bit push insns and call insn.
* config/i386/i386.c (ix86_expand_split_stack_prologue): Add
REG_ARGS_SIZE note to 32-bit push insns and call insn.
From-SVN: r245076
Jakub Jelinek [Tue, 31 Jan 2017 21:38:00 +0000 (22:38 +0100)]
re PR c++/79304 (diagnostic shows bogus expression ((X<T>*)this)->.c)
PR c++/79304
* error.c (dump_expr) <case COMPONENT_REF>: Don't print .
after ARROW_EXPR.
* g++.dg/diagnostic/pr79304.C: New test.
From-SVN: r245073
David Malcolm [Tue, 31 Jan 2017 21:30:42 +0000 (21:30 +0000)]
Fix ICE with spelling hints within explicit namespace aliases (PR c++/79298)
gcc/cp/ChangeLog:
PR c++/79298
* name-lookup.c (suggest_alternative_in_explicit_scope): Resolve
any namespace aliases.
gcc/testsuite/ChangeLog:
PR c++/79298
* g++.dg/spellcheck-pr79298.C: New test case.
From-SVN: r245072
David Malcolm [Tue, 31 Jan 2017 20:22:43 +0000 (20:22 +0000)]
Prevent ICEs due to bogus substring locations (PR preprocessor/79210)
gcc/ChangeLog:
PR preprocessor/79210
* input.c (get_substring_ranges_for_loc): Replace line_width
assertion with error-handling.
gcc/testsuite/ChangeLog:
PR preprocessor/79210
* gcc.dg/format/pr79210.c: New test case.
* gcc.dg/plugin/diagnostic-test-string-literals-2.c (test_pr79210):
New function.
From-SVN: r245070
Nathan Sidwell [Tue, 31 Jan 2017 19:37:11 +0000 (19:37 +0000)]
re PR c++/79290 (forming pointer to member function tries to access "__pfn")
PR c++/79290
* typeck.c (build_ptrmemfunc_access_expr): Set TREE_NO_WARNING.
PR c++/79290
* g++.dg/warn/pr79290.C: New.
From-SVN: r245069
Steven G. Kargl [Tue, 31 Jan 2017 18:50:31 +0000 (18:50 +0000)]
re PR fortran/79305 (real128 - undefined reference to cexpl)
2017-01-31 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/79305
* c99_protos.h: Spell HAVE_EXPL correctly.
* intrinsics/c99_functions.c: Ditto.
From-SVN: r245068
Nathan Sidwell [Tue, 31 Jan 2017 18:05:37 +0000 (18:05 +0000)]
re PR c++/67273 (Incorrect -Wshadow warning with generic lambdas)
PR c++/67273
PR c++/79253
* pt.c: (instantiate_decl): Push to top level when current
function scope doesn't match. Only push lmabda scope stack when
pushing to top.
PR c++/67273
PR c++/79253
* g++.dg/cpp1y/pr67273.C: New.
* g++.dg/cpp1y/pr79253.C: New.
From-SVN: r245067
Nathan Sidwell [Tue, 31 Jan 2017 16:56:44 +0000 (16:56 +0000)]
cp-tree.h (instantiate_decl): Make defer_ok bool.
* cp-tree.h (instantiate_decl): Make defer_ok bool.
* pt.c: Fix instantiate_decl calls to pass true/false not 0/1
(instantiate_decl): Simplify and reorder state saving and restoration.
From-SVN: r245066
Nathan Sidwell [Tue, 31 Jan 2017 15:10:41 +0000 (15:10 +0000)]
re PR c++/79264 (ICE verify_type failed)
PR c++/79264
* lambda.c (maybe_generic_this_capture): Deal with
template-id-exprs.
* semantics.c (finish_member_declaration): Assert class is being
defined.
PR c++/79264
* g++.dg/cpp1y/pr61636-1.C: Augment.
From-SVN: r245065
Richard Biener [Tue, 31 Jan 2017 14:44:37 +0000 (14:44 +0000)]
re PR tree-optimization/77318 (FAIL: gfortran.dg/graphite/pr68279.f90 -O (internal compiler error))
2017-01-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/77318
* graphite-sese-to-poly.c (extract_affine): Fix assert.
(create_pw_aff_from_tree): Take loop parameter.
(add_condition_to_pbb): Pass loop of the condition to
create_pw_aff_from_tree.
From-SVN: r245064
Thomas Schwinge [Tue, 31 Jan 2017 14:32:58 +0000 (15:32 +0100)]
libgomp: Provide prototypes for functions implemented by libgomp plugins
libgomp/
* libgomp-plugin.h: #include <stdbool.h>.
(GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
(GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
(GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
(GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
(GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
(GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
(GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
(GOMP_OFFLOAD_openacc_register_async_cleanup)
(GOMP_OFFLOAD_openacc_async_test)
(GOMP_OFFLOAD_openacc_async_test_all)
(GOMP_OFFLOAD_openacc_async_wait)
(GOMP_OFFLOAD_openacc_async_wait_async)
(GOMP_OFFLOAD_openacc_async_wait_all)
(GOMP_OFFLOAD_openacc_async_wait_all_async)
(GOMP_OFFLOAD_openacc_async_set_async)
(GOMP_OFFLOAD_openacc_create_thread_data)
(GOMP_OFFLOAD_openacc_destroy_thread_data)
(GOMP_OFFLOAD_openacc_get_current_cuda_device)
(GOMP_OFFLOAD_openacc_get_current_cuda_context)
(GOMP_OFFLOAD_openacc_get_cuda_stream)
(GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
* libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
these.
* plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
(GOMP_OFFLOAD_unload_image): Fix argument types.
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_get_type): Fix
return type.
(GOMP_OFFLOAD_load_image): Fix argument types.
From-SVN: r245062
Christophe Lyon [Tue, 31 Jan 2017 14:03:56 +0000 (14:03 +0000)]
[testsuite] gcc.dg/memcmp-1.c: Fix testcase for newlib.
2017-01-31 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.dg/memcmp-1.c (static void test_driver_memcmp): Call
rand() instead of random().
From-SVN: r245061
Jakub Jelinek [Tue, 31 Jan 2017 13:50:20 +0000 (14:50 +0100)]
s390.c (s390_asan_shadow_offset): New function.
gcc/
* config/s390/s390.c (s390_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Redefine.
libsanitizer/
* configure.tgt: Enable asan and ubsan on 64-bit s390*-*-linux*.
From-SVN: r245060
Michael Meissner [Tue, 31 Jan 2017 13:38:35 +0000 (13:38 +0000)]
re PR target/78597 (test case gcc.dg/torture/fp-int-convert-float128-ieee.c (and others) fail starting with r242780)
2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/78597
PR target/79038
* config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete,
no longer used.
(convert_int_to_float128): Likewise.
* config/rs6000/rs6000.c (convert_float128_to_int): Likewise.
(convert_int_to_float128): Likewise.
* config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise.
(UNSPEC_IEEE128_CONVERT): Likewise.
(floatsi<mode>2, FLOAT128 iterator): Bypass calling
rs6000_expand_float128_convert if we have IEEE 128-bit hardware.
Use local variables for IBM extended format.
(fix_trunc<mode>si2, FLOAT128 iterator): Likewise.
(fix_trunc<mode>si2_fprs): Likewise.
(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
(floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise.
(fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support
to know that we can now have integers of all sizes in vector
registers.
(fix<uns>_<mode>di2_hw): Likewise.
(float<uns>_<mode>si2_hw): Likewise.
(fix_<mode>si2_hw): Likewise.
(fixuns_<mode>si2_hw): Likewise.
(float<uns>_<mode>di2_hw): Likewise.
(float_<mode>di2_hw): Likewise.
(float_<mode>si2_hw): Likewise.
(floatuns_<mode>di2_hw): Likewise.
(floatuns_<mode>si2_hw): Likewise.
(xscvqp<su>wz_<mode>): Delete, no longer used.
(xscvqp<su>dz_<mode>): Likewise.
(xscv<su>dqp_<mode>): Likewise.
(ieee128_mfvsrd_64bit): Likewise.
(ieee128_mfvsrd_32bit): Likewise.
(ieee128_mfvsrwz): Likewise.
(ieee128_mtvsrw): Likewise.
(ieee128_mtvsrd_64bit): Likewise.
(ieee128_mtvsrd_32bit): Likewise.
From-SVN: r245059
Martin Liska [Tue, 31 Jan 2017 10:54:41 +0000 (11:54 +0100)]
Call symbol_summary<>::release instead of ~symbol_summary (PR ipa/79285).
2017-01-31 Martin Liska <mliska@suse.cz>
PR ipa/79285
* ipa-prop.c (ipa_free_all_node_params): Call release method
instead of ~sumbol_summary to not to trigger double times
dtor of hash_map.
From-SVN: r245058
Aldy Hernandez [Tue, 31 Jan 2017 10:30:47 +0000 (10:30 +0000)]
re PR tree-optimization/71691 (wrong code at -O3 in both 32-bit and 64-bit modes on x86_64-linux-gnu (Floating point exception))
PR tree-optimization/71691
* bitmap.h (class auto_bitmap): New.
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call
is_maybe_undefined instead of ssa_undefined_value_p.
From-SVN: r245057
Andreas Krebbel [Tue, 31 Jan 2017 09:14:36 +0000 (09:14 +0000)]
S/390: Rename __S390_ARCH_LEVEL__ to __ARCH__.
We have recently added the predefined macro __S390_ARCH_LEVEL__ to
expand to a numerical value representing the architecture document
level currently in use. However, the IBM XL compiler already has a
macro named __ARCH__ for that purpose. So we change our macro to that
in order to improve portability.
gcc/ChangeLog:
2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
__S390_ARCH_LEVEL__ to __ARCH__.
gcc/testsuite/ChangeLog:
2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/s390.exp: Rename __S390_ARCH_LEVEL__ to
__ARCH__.
From-SVN: r245055
Jakub Jelinek [Tue, 31 Jan 2017 08:33:36 +0000 (09:33 +0100)]
re PR c++/79267 (internal compiler error with -O3 or -O2 -finline-functions)
PR tree-optimization/79267
* value-prof.c (gimple_ic): Only drop lhs for noreturn calls
if should_remove_lhs_p is true.
* g++.dg/opt/pr79267.C: New test.
From-SVN: r245053
Alexandre Oliva [Tue, 31 Jan 2017 01:03:15 +0000 (01:03 +0000)]
[PR63238] output alignment debug information
Output DWARFv5+ DW_AT_alignment for non-default alignment of
variables, fields and types.
for gcc/ChangeLog
PR debug/63238
* dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment.
(add_alignment_attribute): New.
(base_type_die): Add alignment attribute.
(subrange_type_die): Likewise.
(modified_type_die): Likewise.
(gen_array_type_die): Likewise.
(gen_descr_array_type_die: Likewise.
(gen_enumeration_type_die): Likewise.
(gen_subprogram_die): Likewise.
(gen_variable_die): Likewise.
(gen_field_die): Likewise.
(gen_ptr_to_mbr_type_die): Likewise.
(gen_struct_or_union_type_die): Likewise.
(gen_subroutine_type_die): Likewise.
(gen_typedef_die): Likewise.
(base_type_cmp): Compare alignment attribute.
for gcc/testsuite/ChangeLog
PR debug/63238
* gcc.dg/debug/dwarf2/align-1.c: New.
* gcc.dg/debug/dwarf2/align-2.c: New.
* gcc.dg/debug/dwarf2/align-3.c: New.
* gcc.dg/debug/dwarf2/align-4.c: New.
* gcc.dg/debug/dwarf2/align-5.c: New.
* gcc.dg/debug/dwarf2/align-6.c: New.
* gcc.dg/debug/dwarf2/align-as-1.c: New.
* g++.dg/debug/dwarf2/align-1.C: New.
* g++.dg/debug/dwarf2/align-2.C: New.
* g++.dg/debug/dwarf2/align-3.C: New.
* g++.dg/debug/dwarf2/align-4.C: New.
* g++.dg/debug/dwarf2/align-5.C: New.
* g++.dg/debug/dwarf2/align-6.C: New.
From-SVN: r245052
Alexandre Oliva [Tue, 31 Jan 2017 01:02:03 +0000 (01:02 +0000)]
Introduce C++ support in libcc1
Extend libcc1's with an API for C++ support.
Extend libcc1's C API to distinguish between integral types with the
same width, as in C++. Likewise for float types.
Export small bits of functionality from the C++ front-end for use in
libcc1. Add support for the C++ front-end to look up names and
addresses using a libcc1-registered binding oracle. Add support for
global friends.
for gcc/cp/ChangeLog
Introduce C++ support in libcc1.
* cp-tree.h (struct lang_identifier): Add oracle_looked_up.
(ansi_opname): Rename to...
(cp_operator_id): ... this. Adjust all callers.
(ansi_assopname): Rename to...
(cp_assignment_operator_id): ... this. Adjust all callers.
(cp_literal_operator_id): Declare.
(set_global_friend): Declare.
(is_global_friend): Declare.
(enum cp_oracle_request): New type.
(cp_binding_oracle_function): New type.
(cp_binding_oracle): Declare.
(cp_finish_injected_record_type): Declare.
* friend.c (global_friend): New var.
(set_global_friend): New fn.
(is_global_friend): New fn.
(is_friend): Call is_global_friend.
* name-lookup.c (cp_binding_oracle): New var.
(query_oracle): New fn.
(qualified_lookup_using_namespace): Call query_oracle.
(lookup_name_real_1): Likewise.
* parser.c (cp_literal_operator_id): Drop static.
* search.c (friend_accessible_p): Call is_global_friend.
* semantics.c (is_this_parameter): Accept a variable if the
binding oracle is enabled.
for include/ChangeLog
Introduce C++ support in libcc1.
* gcc-c-fe.def (int_type_v0): Rename from...
(int_type): ... this. Introduce new version.
(float_type_v0): Rename from...
(float_type): ... this. Introduce new version.
(char_type): New.
* gcc-c-interface.h (gcc_c_api_version): Add GCC_C_FE_VERSION_1.
(gcc_type_array): Move...
* gcc-interface.h: ... here.
* gcc-cp-fe.def: New.
* gcc-cp-interface.h: New.
for libcc1/ChangeLog
Introduce C++ support.
* Makefile.am (AM_CPPFLAGS): Move some -I flags to...
(CPPFLAGS_FOR_C_FAMILY, CPPFLAGS_FOR_C, CPPFLAGS_FOR_CXX): ...
new macros.
(plugin_LTLIBRARIES): Add libcp1plugin.la.
(BUILT_SOURCES, MOSTLYCLEANFILES): Add...
(cp-compiler-name.h): ... this. New.
(c-compiler-name.h): Rename all over from...
(compiler-name.h): ... this. Create it atomically.
(marshall_c_source, marshall_cxx_source): New macros.
(libcc1plugin_la_SOURCES): Rename plugin.cc to libcc1plugin.cc.
Add marshall_c_source expansion.
(libcc1plugin.lo_CPPFLAGS): New macro.
(libcp1plugin_la_LDFLAGS): Likewise.
(libcp1plugin_la_SOURCES): Likewise.
(libcp1plugin.lo_CPPFLAGS): Likewise.
(libcp1plugin_la_LIBADD): Likewise.
(libcp1plugin_la_DEPENDENCIES): Likewise.
(libcp1plugin_la_LINK): Likewise.
(libcc1_la_SOURCES): Added marshall_c_source and
marshall_cxx_source expansions.
* Makefile.in: Rebuild.
* compiler-name.h: Rename all over to...
* c-compiler-name.h: ... this. Define C_COMPILER_NAME instead
of COMPILER_NAME.
* plugin.cc: Rename all over to...
* libcc1plugin.cc: ... this. Include marshall-c.hh.
(address_rewriter): Drop cleaning up of VLA sizes.
(plugin_build_decl): Mark decls as external.
(plugin_tagbind): Propagate name to all variants.
(build_anonymous_node): New.
(plugin_build_record_type): Use it instead of make_node.
(plugin_build_union_type): Likewise.
(plugin_build_enum_type): Likewise.
(plugin_finish_record_or_union): Update all type variants.
(safe_lookup_builtin_type): New.
(plugin_int_check): Factor out of, and add checks to, ...
(plugin_int_type): ... this. Rename to...
(plugin_int_type_v0): ... this.
(plugin_int_type): New interface, new implementation.
(plugin_char_type): New.
(plugin_float_type_v0): Rename from...
(plugin_float_type): ... this. New interface, new implementation.
(plugin_init): Bump handshake version.
* libcc1.cc: Include marshall-c.hh. Drop gcc-interface.h.
(call_binding_oracle): Rename to...
(c_call_binding_oracle): ... this, into anonymous namespace.
(call_symbol_address): Rename to...
(c_call_symbol_address): ... this, likewise.
(GCC_METHOD#): Move methods into cc1plugin::c:: namespace.
(libcc1::compiler::find): Refer to C_COMPILER_NAME.
(fork_exec): Bump to GCC_C_FE_VERSION_1.
(libcc1_compile): Prefix callbacks with c_.
(gcc_c_fe_context): Accept GCC_C_FE_VERSION_1.
* libcc1.sym: Export gcc_cp_fe_context.
* libcp1.cc: New, mostly copied and adjusted from libcc1.cc.
* libcp1plugin.cc: New, initially copied from libcc1plugin.cc.
* libcp1plugin.sym: New.
* marshall-c.hh: New. Move C-specific types from...
* marshall.cc: ... this.
(cc1_plugin::marshall_array_start): New.
(cc1_plugin::marshall_array_elmts): New.
(cc1_plugin::marshall for gcc_type_array): Use the above.
(cc1_plugin::unmarshall_array_start): New.
(cc1_plugin::unmarshall_array_elmts): New.
(cc1_plugin::unmarshall for gcc_type_array): Use the above.
* marshall.hh: Declare the new array building blocks.
Drop C-specific unmarshall declarations.
* marshall-cp.hh: New.
* names.cc (GCC_METHOD#): Add LANG:: to method names.
(LANG): Define while including gcc-c-fe.def and gcc-cp-fe.def.
* names.hh: Include gcc-c-fe.def and gcc-cp-fe.def in the
corresponding namespaces.
* rpc.hh: Don't include marshall.hh.
[GCC_CP_INTERFACE_H] (argument_wrapper): Specialize for
gcc_vbase_array, gcc_cp_template_args, gcc_cp_function_args.
From-SVN: r245051
Jan Kratochvil [Tue, 31 Jan 2017 01:01:32 +0000 (01:01 +0000)]
libcc1: return absolute filename from make search_dir
for libcc1/ChangeLog
* findcomp.cc: Include system.h.
(search_dir): Return absolute filename.
From-SVN: r245050
Jan Kratochvil [Tue, 31 Jan 2017 01:01:09 +0000 (01:01 +0000)]
libcc1 base API: bump set_arguments; add set_driver_filename, set_triplet_regexp
for include/ChangeLog
* gcc-interface.h (enum gcc_base_api_version): Update comment
for GCC_FE_VERSION_1.
(struct gcc_base_vtable): Rename set_arguments to
set_arguments_v0. Add set_arguments, set_triplet_regexp and
set_driver_filename.
for libcc1/ChangeLog
* libcc1.cc (libcc1): Add class compiler with field compilerp,
class compiler_triplet_regexp and class
compiler_driver_filename.
(libcc1::libcc1): Initialize compilerp.
(libcc1::~libcc1): Delete compilerp.
(libcc1::compiler::find, libcc1::compiler_triplet_regexp::find)
(libcc1::compiler_driver_filename::find): New methods.
(libcc1_set_arguments): Remove parameter triplet_regexp.
(libcc1_set_triplet_regexp, libcc1_set_driver_filename)
(libcc1_set_arguments_v0): New functions.
(vtable): Use libcc1_set_arguments_v0, add
libcc1_set_arguments, libcc1_set_triplet_regexp and
libcc1_set_driver_filename.
From-SVN: r245049
Jan Kratochvil [Tue, 31 Jan 2017 01:00:51 +0000 (01:00 +0000)]
libcc1 base API: add set_verbose and new version of compile
for include/ChangeLog
* gcc-interface.h (enum gcc_base_api_version): Add comment to
GCC_FE_VERSION_1.
(struct gcc_base_vtable): Rename compile to compile_v0.
Update comment for compile. New methods set_verbose and
compile.
for libcc1/ChangeLog
* libcc1.cc: Include intl.h.
(struct libcc1): Add field verbose.
(libcc1::libcc1): Initialize it.
(libcc1_set_verbose): New function.
(libcc1_set_arguments): Print messages for VERBOSE.
(libcc1_compile): Remove parameter verbose. Use VERBOSE from
SELF.
(libcc1_compile_v0): New function.
(vtable): Use libcc1_compile_v0 and add libcc1_compile and
libcc1_set_verbose.
From-SVN: r245048
Jan Kratochvil [Tue, 31 Jan 2017 00:58:47 +0000 (00:58 +0000)]
libcc1 base API version bump
for include/ChangeLog
* gcc-interface.h (enum gcc_base_api_version): Add
GCC_FE_VERSION_1.
for libcc1/ChangeLog
* libcc1.cc (vtable): Update to GCC_FE_VERSION_1.
(gcc_c_fe_context): Accept also GCC_FE_VERSION_1.
From-SVN: r245047
Joseph Myers [Tue, 31 Jan 2017 00:50:29 +0000 (00:50 +0000)]
* de.po, eo.po: Update.
From-SVN: r245046
Joseph Myers [Tue, 31 Jan 2017 00:48:36 +0000 (00:48 +0000)]
* de.po, es.po, fr.po, sv.po: Update.
From-SVN: r245045
GCC Administrator [Tue, 31 Jan 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245044
Aaron Sawdey [Mon, 30 Jan 2017 23:24:24 +0000 (23:24 +0000)]
re PR target/79170 (memcmp builtin expansion sequence can overflow)
2017-01-27 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/79170
* gcc.dg/memcmp-1.c: Improved to catch failures seen in PR 79170.
2017-01-27 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/79170
* config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
(setb_unsigned) New pattern for setb with CCUNS.
* config/rs6000/rs6000.c (expand_block_compare): Use a different
subfc./subfe sequence to avoid overflow problems. Generate a
shorter sequence with cmpld/setb for power9.
* config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
for generating subfc. instruction.
(cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
now uses this instruction.
From-SVN: r245041
Martin Sebor [Mon, 30 Jan 2017 23:15:40 +0000 (23:15 +0000)]
gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision): Move constant to the right of a relational operator.
gcc/ChangeLog:
* gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision):
Move constant to the right of a relational operator.
(get_mpfr_format_length, format_character, format_string): Ditto.
(should_warn_p, maybe_warn): Same.
From-SVN: r245040
Ian Lance Taylor [Mon, 30 Jan 2017 22:26:26 +0000 (22:26 +0000)]
re PR debug/79289 (DWARF info for typeof of C function with no args and no prototype is empty pointer)
PR debug/79289
* dwarf2out.c (gen_type_die_with_usage): When picking a variant
for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.
From-SVN: r245039
Martin Sebor [Mon, 30 Jan 2017 22:21:20 +0000 (22:21 +0000)]
invoke.texi (-Wformat-truncation=1): Fix typo.
gcc/ChangeLog:
* doc/invoke.texi (-Wformat-truncation=1): Fix typo.
From-SVN: r245038
Martin Sebor [Mon, 30 Jan 2017 21:59:37 +0000 (21:59 +0000)]
PR testsuite/79293 - gcc.dg/tree-ssa/builtin-sprintf.c fails starting with r244953
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf.c: Relax long double test.
From-SVN: r245037
Jakub Jelinek [Mon, 30 Jan 2017 18:11:33 +0000 (19:11 +0100)]
* brigfrontend/brig-code-entry-handler.cc
(brig_code_entry_handler::get_tree_cst_for_hsa_operand): For %lu
cast size_t arguments to unsigned long.
From-SVN: r245036
Maxim Ostapenko [Mon, 30 Jan 2017 16:06:15 +0000 (16:06 +0000)]
re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initialization-order-fiasco")
PR lto/79061
* asan.c (get_translation_unit_decl): Remove function.
(asan_add_global): Force has_dynamic_init to zero in LTO mode.
From-SVN: r245033
Martin Liska [Mon, 30 Jan 2017 15:35:57 +0000 (16:35 +0100)]
Fix profile corruption with -O1 (PR gcov-profile/79259)
2017-01-30 Martin Liska <mliska@suse.cz>
PR gcov-profile/79259
* opts.c (common_handle_option): Enable flag_ipa_bit_cp w/
-fprofile-generate.
2017-01-30 Martin Liska <mliska@suse.cz>
PR gcov-profile/79259
* g++.dg/tree-prof/pr79259.C: New test.
From-SVN: r245031
Martin Liska [Mon, 30 Jan 2017 15:16:33 +0000 (16:16 +0100)]
Fix aarch64 PGO bootstrap (bootstrap/78985)
2017-01-30 Martin Liska <mliska@suse.cz>
PR bootstrap/78985
* config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze):
Initialize variables with NULL value.
From-SVN: r245030
Richard Earnshaw [Mon, 30 Jan 2017 14:39:50 +0000 (14:39 +0000)]
re PR target/79260 (missing header files for plugins: arm-isa.h, arm-flags.h)
PR target/79260
* config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to
tm_p_file.
* arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h.
From-SVN: r245029
Bernhard Reutner-Fischer [Mon, 30 Jan 2017 14:31:59 +0000 (15:31 +0100)]
update-copyright.py: Retain original file mode
2017-01-31 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* update-copyright.py (Copyright.process_file): Retain original
file mode.
From-SVN: r245028
Jakub Jelinek [Mon, 30 Jan 2017 14:26:24 +0000 (15:26 +0100)]
* mpxrt/mpxrt-utils.h (__mpxrt_stop): New prototype.
From-SVN: r245027
Richard Biener [Mon, 30 Jan 2017 14:24:37 +0000 (14:24 +0000)]
re PR tree-optimization/79276 (ICE: Segmentation fault in VRP pass)
2017-01-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/79276
* tree-vrp.c (process_assert_insertions): Properly adjust common
when removing a duplicate.
* gcc.dg/torture/pr79276.c: New testcase.
From-SVN: r245026
Richard Biener [Mon, 30 Jan 2017 13:52:44 +0000 (13:52 +0000)]
re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test)
2017-01-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/79256
* targhooks.c (default_builtin_vector_alignment_reachable): Honor
BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
alignment on TYPE.
* tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
From-SVN: r245025
Ville Voutilainen [Mon, 30 Jan 2017 13:37:16 +0000 (15:37 +0200)]
Implement LWG 2825, LWG 2756 breaks class template argument deduction for optional.
* include/std/optional: Add a deduction guide.
* testsuite/20_util/optional/cons/deduction_guide.cc: New.
From-SVN: r245024
Szabolcs Nagy [Mon, 30 Jan 2017 11:34:13 +0000 (11:34 +0000)]
[ARM][PR target/78945] Fix libatomic on armv7-m
ARM libatomic inline asm uses sel, uadd8, uadd16 instructions
which are only available if __ARM_FEATURE_SIMD32 is defined.
libatomic/
2017-01-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR target/78945
* config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32.
From-SVN: r245023
Dominik Vogt [Mon, 30 Jan 2017 09:54:58 +0000 (09:54 +0000)]
S/390: PR target/79240: Fix assertion in s390_extzv_shift_ok.
2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/79240
* config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask")
("*r<noxa>sbg_<mode>_sll_bitmask")
("*extzv_<mode>_srl<clobbercc_or_nocc>")
("*extzv_<mode>_sll<clobbercc_or_nocc>"):
Use contiguous_bitmask_nowrap_operand.
2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/79240
* gcc.target/s390/pr79240.c: New test.
From-SVN: r245022
Bill Schmidt [Mon, 30 Jan 2017 03:32:59 +0000 (03:32 +0000)]
re PR target/79268 (Wrong code generation for vec_xl and vec_xst intrinsics)
[gcc]
2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79268
* config/rs6000/altivec.h (vec_xl): Revise #define.
(vec_xst): Likewise.
[gcc/testsuite]
2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/79268
* gcc.target/powerpc/pr79268.c: New file.
* gcc.target/powerpc/vsx-elemrev-1.c: Delete file.
* gcc.target/powerpc/vsx-elemrev-2.c: Likewise.
* gcc.target/powerpc/vsx-elemrev-3.c: Likewise.
* gcc.target/powerpc/vsx-elemrev-4.c: Likewise.
From-SVN: r245021
GCC Administrator [Mon, 30 Jan 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245020
Gerald Pfeifer [Sun, 29 Jan 2017 19:29:15 +0000 (19:29 +0000)]
* update-copyright.py: Fix the name of this script in examples.
From-SVN: r245017
GCC Administrator [Sun, 29 Jan 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245013
John David Anglin [Sat, 28 Jan 2017 21:35:54 +0000 (21:35 +0000)]
trampoline4.adb: Skip on hppa*-*-*.
* gnat.dg/trampoline4.adb: Skip on hppa*-*-*.
From-SVN: r245010
Uros Bizjak [Sat, 28 Jan 2017 18:43:56 +0000 (19:43 +0100)]
i386.c (print_reg): Use REGNO instead of true_regnum.
* config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
From-SVN: r245009
John David Anglin [Sat, 28 Jan 2017 18:01:22 +0000 (18:01 +0000)]
re PR testsuite/70583 (FAIL: g++.old-deja/g++.abi/vtable2.C -std=gnu++98 execution test)
PR testsuite/70583
* g++.old-deja/g++.abi/vtable2.C: Adjust CMP_VPTR define on hppa.
From-SVN: r245007
John David Anglin [Sat, 28 Jan 2017 17:30:50 +0000 (17:30 +0000)]
debug7.adb: Skip on hppa*-*-hpux*.
* gnat.dg/debug7.adb: Skip on hppa*-*-hpux*.
* gnat.dg/debug9.adb: Likewise.
From-SVN: r245006
John David Anglin [Sat, 28 Jan 2017 17:19:09 +0000 (17:19 +0000)]
pr78515.c: Add -fno-common option on hppa*-*-hpux*.
* gcc.dg/torture/pr78515.c: Add -fno-common option on hppa*-*-hpux*.
From-SVN: r245005
John David Anglin [Sat, 28 Jan 2017 17:00:33 +0000 (17:00 +0000)]
coarray_41.f90: Add "-latomic" option if libatomic_available.
* gfortran.dg/coarray_41.f90: Add "-latomic" option if
libatomic_available.
* gfortran.dg/coarray_42.f90: Likewise.
* gfortran.dg/coarray_alloc_comp_3.f08: Likewise.
* gfortran.dg/coarray_alloc_comp_4.f08: Likewise.
* gfortran.dg/coarray_lib_alloc_4.f90: Likewise.
From-SVN: r245004
GCC Administrator [Sat, 28 Jan 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245002
Martin Sebor [Sat, 28 Jan 2017 00:09:15 +0000 (00:09 +0000)]
builtin-sprintf-warn-1.c: Add test cases.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases.
From-SVN: r244999
Joseph Myers [Fri, 27 Jan 2017 23:34:48 +0000 (23:34 +0000)]
* sr.po: Update.
From-SVN: r244996
Bernd Schmidt [Fri, 27 Jan 2017 19:40:44 +0000 (12:40 -0700)]
re PR rtl-optimization/79194 (ICE in rtl_verify_bb_insns, at cfgrtl.c:2661 (error: flow control insn inside a basic block))
2017-01-27 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/79194
* cprop.c (one_cprop_pass): Move deletion of code after unconditional
traps before call to bypass_conditional_jumps.
PR rtl-optimization/79194
* gcc.dg/torture/pr79194.c: New test.
From-SVN: r244993
Vladimir Makarov [Fri, 27 Jan 2017 18:08:14 +0000 (18:08 +0000)]
re PR rtl-optimization/71374 (ICE on valid code at -O1 and above on x86_64-linux-gnu: in extract_constrain_insn, at recog.c:2190)
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/71374
* lra-constraints.c (check_conflict_input_operands): New.
(match_reload): Use it.
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/71374
* testsuite/gcc.target/i386/pr71374.c: New.
From-SVN: r244991
Martin Sebor [Fri, 27 Jan 2017 16:51:54 +0000 (16:51 +0000)]
re PR c++/71290 (Flexible array member is not diagnosed with -pedantic)
PR c++/71290
gcc/testsuite/ChangeLog:
* obj-c++.dg/property/at-property-23.mm: Remove an escaped newline from
a dg-error directive.
From-SVN: r244990
Vladimir Makarov [Fri, 27 Jan 2017 16:50:11 +0000 (16:50 +0000)]
re PR target/79131 (ICE: in extract_constrain_insn, at recog.c:2213, big-endian ARM)
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/79131
* lra-assigns.c (find_hard_regno_for_1): Take endianess for into
account to calculate conflict_set.
2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/79131
* gcc.target/arm/pr79131.c: Rename to gcc.target/arm/pr79131-1.c.
* gcc.target/arm/pr79131-2.c: New.
From-SVN: r244989
Jason Merrill [Fri, 27 Jan 2017 16:48:34 +0000 (11:48 -0500)]
PR c++/78771 - ICE with inherited constructor.
* call.c (build_over_call): Call deduce_inheriting_ctor here.
* pt.c (tsubst_decl): Not here.
* class.c (add_method): Or here.
* method.c (deduce_inheriting_ctor): Handle clones.
(implicitly_declare_fn): Don't deduce inheriting ctors yet.
From-SVN: r244988
Jonathan Wakely [Fri, 27 Jan 2017 16:17:04 +0000 (16:17 +0000)]
PR libstdc++/79254 fix exception-safety in std::string::operator=
PR libstdc++/79254
* config/abi/pre/gnu.ver: Add new symbols.
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign): New overloaded functions to perform
copy assignment.
(basic_string::operator=(const basic_string&)): Dispatch to
_M_copy_assign.
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_M_copy_assign(const basic_string&, true_type)):
Define, performing rollback on exception.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Test exception-safety guarantee.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
std::swap visible.
From-SVN: r244986
Bill Schmidt [Fri, 27 Jan 2017 15:59:02 +0000 (15:59 +0000)]
re PR testsuite/65484 (FAIL: g++.dg/vect/pr36648.cc on powerpc64)
2017-01-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65484
* g++.dg/vect/pr36648.cc: Modify to reflect that the loop is not
vectorized on POWER unless hardware misaligned loads are
available.
From-SVN: r244985
Ian Lance Taylor [Fri, 27 Jan 2017 15:08:23 +0000 (15:08 +0000)]
compiler: let initializers hold addresses of fields
The runtime.dbgvars initializer looks like
var dbgvars = []dbgVar{
{"allocfreetrace", &debug.allocfreetrace},
}
Because the field address was not recognized as valid for a static
initializer, the variable was initialized at runtime. Normally that
would be fine, but for the runtime package it meant that dbgvars was
not initialized when it was read by parsedebugvars. That meant that
the GODEBUG environment variable did nothing.
Fixing that revealed that the static initializer checks had to be more
careful about interface types, just like the existing is_constant
methods.
Reviewed-on: https://go-review.googlesource.com/35891
From-SVN: r244982
Ian Lance Taylor [Fri, 27 Jan 2017 15:01:57 +0000 (15:01 +0000)]
libgo: update to go1.8rc3
Reviewed-on: https://go-review.googlesource.com/35844
From-SVN: r244981
Bin Cheng [Fri, 27 Jan 2017 14:42:23 +0000 (14:42 +0000)]
re PR rtl-optimization/78559 (wrong code due to tree if-conversion?)
PR rtl-optimization/78559
* combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for
other_insn in combine.
gcc/testsuite
PR rtl-optimization/78559
* gcc.c-torture/execute/pr78559.c: New test.
From-SVN: r244979
Martin Jambor [Fri, 27 Jan 2017 14:35:07 +0000 (15:35 +0100)]
[brigfe] Small fixes
2017-01-27 Pekka Jaaskelainen <pekka.jaaskelainen@parmance.com>
* configure.ac: Moved the white list of enabling BRIG FE to
libhsail-rt/configure.tgt.
* configure: Regenerated.
* MAINTAINERS: Updated maintainers for BRIG FE and libhsail-rt.
gcc/
* builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use
uint16_type_node for BT_UINT16.
gcc/brig/
* config-lang.in: Removed stale target-libbrig reference.
libhsail-rt/
* configure.tgt: Moved the white list of supported targets here
from configure.ac. Added i[
3456789]86-*-linux* as a supported env
for the BRIG FE.
* README: Added a proper description of what libhsail-rt is.
From-SVN: r244978
David Malcolm [Fri, 27 Jan 2017 14:25:59 +0000 (14:25 +0000)]
docs: Add __GIMPLE and __RTL to the "Internals" doc
gcc/ChangeLog:
* doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
"RTL Tests" to menu.
(GIMPLE Tests): New node.
(RTL Tests): New node.
From-SVN: r244977
Richard Biener [Fri, 27 Jan 2017 13:56:59 +0000 (13:56 +0000)]
re PR tree-optimization/79245 (Inefficient loop distribution to memcpy)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79245
* tree-loop-distribution.c (distribute_loop): Apply cost
modeling also to detected patterns.
* gcc.dg/tree-ssa/ldist-23.c: XFAIL.
* gcc.dg/tree-ssa/ldist-25.c: New testcase.
From-SVN: r244976
Jakub Jelinek [Fri, 27 Jan 2017 13:25:28 +0000 (14:25 +0100)]
re PR c/79199 (ICE with -Wduplicated-branches)
PR c/79199
* c-c++-common/Wduplicated-branches-13.c: Require int32plus effective
target. Use 4294967293U instead of
4294967293.
From-SVN: r244975
Richard Biener [Fri, 27 Jan 2017 12:30:43 +0000 (12:30 +0000)]
re PR tree-optimization/71433 (-Warray-bounds false positive with -O2)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/71433
* tree-vrp.c (register_new_assert_for): Revert earlier changes.
(compare_assert_loc): New function.
(process_assert_insertions): Sort and optimize assert locations
to remove duplicates and push down identical assertions on
edges to their destination block.
* gcc.dg/Warray-bounds-21.c: New testcase.
From-SVN: r244974
Richard Biener [Fri, 27 Jan 2017 12:24:54 +0000 (12:24 +0000)]
re PR tree-optimization/79244 (ice in replace_uses_by, at tree-cfg.c:1866)
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79244
* tree-vrp.c (remove_range_assertions): Forcefully propagate
out SSA names even if abnormal.
* gcc.dg/torture/pr79244.c: New testcase.
From-SVN: r244973
Jakub Jelinek [Fri, 27 Jan 2017 11:34:58 +0000 (12:34 +0100)]
fib-opr-overload.cc (main): Change all occurrences of 40 to 32.
* g++.dg/cilk-plus/CK/fib-opr-overload.cc (main): Change
all occurrences of 40 to 32.
From-SVN: r244967
Jakub Jelinek [Fri, 27 Jan 2017 11:28:34 +0000 (12:28 +0100)]
realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
* realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
instead of MPFR_RNDN.
From-SVN: r244966
Richard Earnshaw [Fri, 27 Jan 2017 11:22:30 +0000 (11:22 +0000)]
[ARM] Fix PR target/79239 - unrecognized insn after pragma gcc pop_options
{committed for rearnsha}
It turns out that because the compiler uses a hash table to save the
cl_target_option structures it is unsafe to modify the result of
build_target_option_node() (doing so will cause the hash lookup to
fail). This PR was due to not properly understanding this limitation.
The fix is to create temporary copies of the cl_target_option nodes for
use during target option processing and then only creating the tree node
once the options have been suitably modified.
gcc:
PR target/79239
* arm.c (arm_option_override): Don't call build_target_option_node
until after doing all option overrides.
(arm_valid_target_attribute_tree): Likewise.
gcc/testsuite:
* gcc.target/arm/pr79239.c: New test.
From-SVN: r244965
Martin Liska [Fri, 27 Jan 2017 09:58:34 +0000 (10:58 +0100)]
Enhance doc for -fprofile-arcs
2017-01-27 Martin Liska <mliska@suse.cz>
* doc/invoke.texi (-fprofile-arcs): Document profiling support
for {cd}tors and C++ {cd}tors.
From-SVN: r244964
Dominik Vogt [Fri, 27 Jan 2017 08:07:26 +0000 (08:07 +0000)]
S/390: Fix matching setmem_long_and*.
The attached patch reactivates the setmem_long_and* patterns on S/390
that have not been generated for a while.
gcc/ChangeLog:
2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.md ("*setmem_long_and")
("*setmem_long_and_31z"): Use zero_extend instead of and.
gcc/testsuite/ChangeLog:
2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/md/setmem_long-1.c: Remove xfail, skip with -O0.
From-SVN: r244963
Adam Butcher [Fri, 27 Jan 2017 07:59:06 +0000 (07:59 +0000)]
re PR c++/64382 (ICE due to use of `this` inside a lambda that captures everything by ref inside a member function of a class template)
Fix PR c++/64382
PR c++/64382
* cp/parser.c (parsing_default_capturing_generic_lambda_in_template):
New function.
* cp/cp-tree.h: Declare it.
* cp/semantics.c (finish_id_expression): Resolve names within a default
capturing generic lambda defined within a template prior to
instantiation to allow for captures to be added to the closure type.
PR c++/64382
* g++.dg/cpp1y/pr64382.C: New test.
From-SVN: r244962
Martin Sebor [Fri, 27 Jan 2017 02:45:32 +0000 (02:45 +0000)]
gimple-ssa-sprintf.c (format_floating): Simplify the computation of precision to avoid preprocessor conditional.
gcc/ChangeLog:
* gimple-ssa-sprintf.c (format_floating): Simplify the computation
of precision to avoid preprocessor conditional.
From-SVN: r244961
GCC Administrator [Fri, 27 Jan 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r244960
Martin Sebor [Thu, 26 Jan 2017 23:37:17 +0000 (23:37 +0000)]
gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and HAVE_DFmode before using XFmode or DFmode.
gcc/ChangeLog:
* gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
HAVE_DFmode before using XFmode or DFmode.
(parse_directive): Avoid using the z length modifier to avoid
the ISO C++98 does not support the ‘z’ gnu_printf length modifier.
From-SVN: r244957
Martin Sebor [Thu, 26 Jan 2017 23:07:02 +0000 (23:07 +0000)]
PR middle-end/78703 - fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
gcc/ChangeLog:
PR middle-end/78703
* gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
to accept adjustment as an array.
(get_int_range): New function.
(struct directive): Make width and prec arrays.
(directive::set_width, directive::set_precision): Call get_int_range.
(format_integer, format_floating): Handle width and precision ranges.
(format_string, parse_directive): Same.
gcc/testsuite/ChangeLog:
PR middle-end/78703
* gcc.dg/tree-ssa/builtin-snprintf-warn-1.c: Update
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Rename...
* gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: ...to this.
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: New test.
From-SVN: r244956
Jakub Jelinek [Thu, 26 Jan 2017 21:45:57 +0000 (22:45 +0100)]
re PR c++/79129 (ICE with -fdebug-types-section starting with r240578)
PR debug/79129
* dwarf2out.c (generate_skeleton_bottom_up): For children with
comdat_type_p set, just clone them, but keep the children in the
original DIE.
* g++.dg/debug/dwarf2/pr79129.C: New test.
From-SVN: r244955
Jakub Jelinek [Thu, 26 Jan 2017 21:44:49 +0000 (22:44 +0100)]
re PR debug/78835 (ICE with -fdebug-types-section and member function)
PR debug/78835
* dwarf2out.c (prune_unused_types): Mark all functions with DIEs
which have direct callers with -fvar-tracking-assignments enabled
in the current TU.
(resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
inside of type units.
* g++.dg/debug/dwarf2/pr78835.C: New test.
From-SVN: r244954
Martin Sebor [Thu, 26 Jan 2017 21:14:18 +0000 (21:14 +0000)]
PR middle-end/78703 -fprintf-return-value floating point handling incorrect in locales with a mulltibyte decimal point
gcc/ChangeLog:
PR middle-end/78703
* gimple-ssa-sprintf.c (struct result_range): Add likely and
unlikely counters.
(struct format_result): Replace number_chars, number_chars_min,
and number_chars_max with a single member of struct result_range.
Remove bounded.
(format_result::operator+=): Adjust.
(struct fmtresult): Remove bounded. Handle likely and unlikely
counters.
(fmtresult::adjust_for_width_or_precision): New function.
(fmtresult:type_max_digits): New function.
(bytes_remaining): Handle likely and unlikely counters.
(min_bytes_remaining): Remove.
(format_percent): Simplify.
(format_integer, format_floating): Set likely and unlikely counters.
(get_string_length, format_character, format_string): Same.
(format_plain, should_warn_p): New function.
(maybe_warn): Call should_warn_p. Update diagnostic messages
and handle those for all directives, including plain strings.
(format_directive): Handle likely and unlikely counters.
Remove unnecessary quoting from diagnostics. Add an informational
note.
(add_bytes): Remove.
(pass_sprintf_length::compute_format_length): Simplify.
(try_substitute_return_value): Handle likely and unlikely counters.
gcc/testsuite/ChangeLog:
PR middle-end/78703
* gcc.dg/format/pr78569.c: Adjust.
* gcc.dg/tree-ssa/builtin-snprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-5.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf.c: Same.
From-SVN: r244953
Jonathan Wakely [Thu, 26 Jan 2017 19:40:02 +0000 (19:40 +0000)]
PR libstdc++/70607 revert recent changes to <tr1/complex>
PR libstdc++/70607
* include/tr1/complex (conj): Remove using-declaration and restore
overloads, reverting previous change.
From-SVN: r244951
Jonathan Wakely [Thu, 26 Jan 2017 19:39:53 +0000 (19:39 +0000)]
Fix libstdc++ testsuite failures in C++98 and C++11 mode
* testsuite/23_containers/list/operations/78389.cc: Fix for C++11
mode.
* testsuite/23_containers/priority_queue/requirements/constructible.cc:
Mark as unsupported in C++98 mode.
* testsuite/23_containers/queue/requirements/constructible.cc:
Likewise.
* testsuite/23_containers/stack/requirements/constructible.cc:
Likewise.
* testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
From-SVN: r244950
Jakub Jelinek [Thu, 26 Jan 2017 19:39:40 +0000 (20:39 +0100)]
re PR c++/68727 (invalid offsetof expressions accepted)
PR c++/68727
* cp-tree.def (OFFSETOF_EXPR): Bump number of operands to 2.
* cp-tree.h (finish_offsetof): Add OBJECT_PTR argument.
* parser.c (cp_parser_builtin_offsetof): Pass result of
build_static_cast of null_pointer_node to finish_offsetof.
* semantics.c (finish_offsetof): Add OBJECT_PTR argument, use
it for -Winvalid-offsetof pedwarn instead of trying to guess
original offsetof type from EXPR. Save OBJECT_PTR as a new
second operand to OFFSETOF_EXPR.
* pt.c (tsubst_copy_and_build) <case OFFSETOF_EXPR>: Adjust
finish_offsetof caller, pass the second operand of OFFSETOF_EXPR
as OBJECT_PTR.
* g++.dg/other/offsetof8.C: Add expected error.
* g++.dg/other/offsetof9.C: New test.
From-SVN: r244949
Jakub Jelinek [Thu, 26 Jan 2017 19:37:08 +0000 (20:37 +0100)]
* testsuite/lib/libgomp.exp
(check_effective_target_hsa_offloading_selected_nocache): Fix up
check_compile invocation. Fix up removal of executable. Drop
bogus "2>&1" argument.
From-SVN: r244948
Ian Lance Taylor [Thu, 26 Jan 2017 19:07:54 +0000 (19:07 +0000)]
runtime: fix setting of isarchive
When I updated to Go 1.8, the initsig function moved from
signal1_unix.go to signal_unix.go, and lost a gccgo-specific change in
the move. Add it back.
This would have been caught by the misc/cgo/testcarchive tests in the
gc repository, but we don't run those in the gccgo repository. We
should fix that, somehow.
Reviewed-on: https://go-review.googlesource.com/35839
From-SVN: r244947
Ian Lance Taylor [Thu, 26 Jan 2017 19:05:16 +0000 (19:05 +0000)]
runtime: fix context used by getTraceback
I typoed the argument passed to getcontext in getTraceback, and the
error was hidden by ucontext_arg. This would have been caught by some
of the runtime package tests, but we don't run most of them because
they rely on `go build`, and the go tool is not available while
running the libgo testsuite. We should fix the libgo testsuite,
somehow, so that they run.
Reviewed-on: https://go-review.googlesource.com/35837
From-SVN: r244946
Jonathan Wakely [Thu, 26 Jan 2017 18:32:55 +0000 (18:32 +0000)]
Fix namespace versioning and remove __detail::__identity helpers
PR libstdc++/79243
* include/bits/c++config (literals::string_view_literals::__7): Add.
Only declare versioned namespaces for the relevant C++ dialects.
* include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
Add versioning macros.
* include/experimental/bits/lfts_config.h:
(fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
* include/experimental/string_view (fundamentals_v2::__detail):
Add versioning macros.
(fundamentals_v2::__detail::__identity): Remove.
(fundamentals_v2::__detail::__idt): Use common_type instead of
__detail::__identity.
* include/std/string_view (__detail::__identity, __detail::__idt):
Likewise.
(literals::string_view_literals): Fix nesting of versioning macros.
From-SVN: r244945
David Edelsohn [Thu, 26 Jan 2017 18:19:39 +0000 (18:19 +0000)]
* g++.dg/opt/declone3.C: Require LTO.
From-SVN: r244944