Commit Graph

151757 Commits

Author SHA1 Message Date
Alexandre Oliva
8db29d88f3 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
2017-01-31 01:02:03 +00:00
Jan Kratochvil
9f92b93b7b libcc1: return absolute filename from make search_dir
for  libcc1/ChangeLog

	* findcomp.cc: Include system.h.
	(search_dir): Return absolute filename.

From-SVN: r245050
2017-01-31 01:01:32 +00:00
Jan Kratochvil
5d1b244323 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
2017-01-31 01:01:09 +00:00
Jan Kratochvil
3b5c10724d 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
2017-01-31 01:00:51 +00:00
Jan Kratochvil
023721aab1 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
2017-01-31 00:58:47 +00:00
Joseph Myers
fe31d6efd7 * de.po, eo.po: Update.
From-SVN: r245046
2017-01-31 00:50:29 +00:00
Joseph Myers
381485c56a * de.po, es.po, fr.po, sv.po: Update.
From-SVN: r245045
2017-01-31 00:48:36 +00:00
GCC Administrator
8bcbc08266 Daily bump.
From-SVN: r245044
2017-01-31 00:16:14 +00:00
Aaron Sawdey
3095f65123 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
2017-01-30 17:24:24 -06:00
Martin Sebor
8657c838e2 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
2017-01-30 16:15:40 -07:00
Ian Lance Taylor
1fec56cf14 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
2017-01-30 22:26:26 +00:00
Martin Sebor
25a5787d46 invoke.texi (-Wformat-truncation=1): Fix typo.
gcc/ChangeLog:
	* doc/invoke.texi (-Wformat-truncation=1): Fix typo.

From-SVN: r245038
2017-01-30 15:21:20 -07:00
Martin Sebor
3cf88bffdb 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
2017-01-30 14:59:37 -07:00
Jakub Jelinek
cc0608e7a0 * 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
2017-01-30 19:11:33 +01:00
Maxim Ostapenko
f1860ba97c 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
2017-01-30 18:06:15 +02:00
Martin Liska
37731134c7 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
2017-01-30 15:35:57 +00:00
Martin Liska
8fd23c8e9f 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
2017-01-30 15:16:33 +00:00
Richard Earnshaw
bdef2c4ea8 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
2017-01-30 14:39:50 +00:00
Bernhard Reutner-Fischer
357a7731e9 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
2017-01-30 15:31:59 +01:00
Jakub Jelinek
24fc4dd899 * mpxrt/mpxrt-utils.h (__mpxrt_stop): New prototype.
From-SVN: r245027
2017-01-30 15:26:24 +01:00
Richard Biener
0c7247cc1e 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
2017-01-30 14:24:37 +00:00
Richard Biener
fcc216ec44 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
2017-01-30 13:52:44 +00:00
Ville Voutilainen
1dd9523917 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
2017-01-30 15:37:16 +02:00
Szabolcs Nagy
87c45ec798 [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
2017-01-30 11:34:13 +00:00
Dominik Vogt
ab4be5d1be 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
2017-01-30 09:54:58 +00:00
Bill Schmidt
6687d58dbc 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
2017-01-30 03:32:59 +00:00
GCC Administrator
330f3bd7ff Daily bump.
From-SVN: r245020
2017-01-30 00:16:19 +00:00
Gerald Pfeifer
23075ebe11 * update-copyright.py: Fix the name of this script in examples.
From-SVN: r245017
2017-01-29 19:29:15 +00:00
GCC Administrator
aa88e6b299 Daily bump.
From-SVN: r245013
2017-01-29 00:16:15 +00:00
John David Anglin
fc34d7b8c8 trampoline4.adb: Skip on hppa*-*-*.
* gnat.dg/trampoline4.adb: Skip on hppa*-*-*.

From-SVN: r245010
2017-01-28 21:35:54 +00:00
Uros Bizjak
7b4bc98402 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
2017-01-28 19:43:56 +01:00
John David Anglin
9efc84e45e 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
2017-01-28 18:01:22 +00:00
John David Anglin
4bfbe3ae51 debug7.adb: Skip on hppa*-*-hpux*.
* gnat.dg/debug7.adb: Skip on hppa*-*-hpux*.
	* gnat.dg/debug9.adb: Likewise.

From-SVN: r245006
2017-01-28 17:30:50 +00:00
John David Anglin
8d0b306f50 pr78515.c: Add -fno-common option on hppa*-*-hpux*.
* gcc.dg/torture/pr78515.c: Add -fno-common option on hppa*-*-hpux*.

From-SVN: r245005
2017-01-28 17:19:09 +00:00
John David Anglin
b5df96c344 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
2017-01-28 17:00:33 +00:00
GCC Administrator
faa7e93c15 Daily bump.
From-SVN: r245002
2017-01-28 00:16:19 +00:00
Martin Sebor
eb33936649 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
2017-01-27 17:09:15 -07:00
Joseph Myers
1f44286be0 * sr.po: Update.
From-SVN: r244996
2017-01-27 23:34:48 +00:00
Bernd Schmidt
711ce02129 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
2017-01-27 12:40:44 -07:00
Vladimir Makarov
d8321b33d3 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
2017-01-27 18:08:14 +00:00
Martin Sebor
9e2ea13ec2 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
2017-01-27 09:51:54 -07:00
Vladimir Makarov
9eb7045b54 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
2017-01-27 16:50:11 +00:00
Jason Merrill
20f058d098 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
2017-01-27 11:48:34 -05:00
Jonathan Wakely
a7d47f3526 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
2017-01-27 16:17:04 +00:00
Bill Schmidt
f75bbf3fc6 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
2017-01-27 15:59:02 +00:00
Ian Lance Taylor
46f7b80ec4 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
2017-01-27 15:08:23 +00:00
Ian Lance Taylor
42f20102ef libgo: update to go1.8rc3
Reviewed-on: https://go-review.googlesource.com/35844

From-SVN: r244981
2017-01-27 15:01:57 +00:00
Bin Cheng
3f54004b09 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
2017-01-27 14:42:23 +00:00
Martin Jambor
f6a24a94a6 [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
2017-01-27 15:35:07 +01:00
David Malcolm
71103b6104 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
2017-01-27 14:25:59 +00:00