Commit Graph

133103 Commits

Author SHA1 Message Date
Ian Lance Taylor 76deefd0cd runtime: Mark runtime_goexit function as noinline.
If the compiler inlines this function into kickoff, it may reuse
the TLS block address to load g. However, this is not necessarily
correct, as the call to g->entry in kickoff may cause the TLS
address to change. If the wrong value is loaded for g->status in
runtime_goexit, it may cause a runtime panic.

By marking the function as noinline we prevent the compiler from
reusing the TLS address.

From-SVN: r215484
2014-09-22 21:14:43 +00:00
Jan Hubicka d87fc69983 charset.c (conversion): Rename to ...
* charset.c (conversion): Rename to ...
	(cpp_conversion): ... this one; update.
	* files.c (file_hash_entry): Rename to ...
	(cpp_file_hash_entry): ... this one ; update.

From-SVN: r215482
2014-09-22 19:43:02 +00:00
Jan Hubicka 46842bfe9c tree-ssa-ccp.c (prop_value_d): Rename to ...
* tree-ssa-ccp.c (prop_value_d): Rename to ...
	(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
	* ipa-prop.c (struct type_change_info): Rename to ...
	(prop_type_change_info): ... this; update uses.
	* ggc-page.c (globals): Rename to ...
	(static struct ggc_globals): ... this; update uses.
	* tree-ssa-loop-im.c (mem_ref): Rename to ...
	(im_mem_ref): ... this; update uses.
	* ggc-common.c (loc_descriptor): Rename to ...
	(ggc_loc_descriptor): ... this; update uses.
	* lra-eliminations.c (elim_table): Rename to ...
	(lra_elim_table): ... this; update uses.
	* bitmap.c (output_info): Rename to ...
	(bitmap_output_info): ... this; update uses.
	* gcse.c (expr): Rename to ...
	(gcse_expr) ... this; update uses.
	(occr): Rename to ...
	(gcse_occr): .. this; update uses.
	* tree-ssa-copy.c (prop_value_d): Rename to ...
	(prop_value_t): ... this.
	* predict.c (block_info_def): Rename to ...
	(block_info): ... this; update uses.
	(edge_info_def): Rename to ...
	(edge_info): ... this; update uses.
	* profile.c (bb_info): Rename to ...
	(bb_profile_info): ... this; update uses.
	* alloc-pool.c (output_info): Rename to ...
	(pool_output_info): ... this; update uses.
	* ipa-cp.c (topo_info): Rename to ..
	(ipa_topo_info): ... this; update uses.
	* tree-nrv.c (nrv_data): Rename to ...
	(nrv_data_t): ... this; update uses.
	* ipa-split.c (bb_info): Rename to ...
	(split_bb_info): ... this one.
	* profile.h (edge_info): Rename to ...
	(edge_profile_info): ... this one; update uses.
	* dse.c (bb_info): Rename to ...
	(dse_bb_info): ... this one; update uses.
	* cprop.c (occr): Rename to ...
	(cprop_occr): ... this one; update uses.
	(expr): Rename to ...
	(cprop_expr): ... this one; update uses.

From-SVN: r215481
2014-09-22 19:41:02 +00:00
Jan Hubicka 114783066e tree-ssa-ccp.c (prop_value_d): Rename to ...
* tree-ssa-ccp.c (prop_value_d): Rename to ...
	(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
	* ipa-prop.c (struct type_change_info): Rename to ...
	(prop_type_change_info): ... this; update uses.
	* ggc-page.c (globals): Rename to ...
	(static struct ggc_globals): ... this; update uses.
	* tree-ssa-loop-im.c (mem_ref): Rename to ...
	(im_mem_ref): ... this; update uses.
	* ggc-common.c (loc_descriptor): Rename to ...
	(ggc_loc_descriptor): ... this; update uses.
	* lra-eliminations.c (elim_table): Rename to ...
	(lra_elim_table): ... this; update uses.
	* bitmap.c (output_info): Rename to ...
	(bitmap_output_info): ... this; update uses.
	* gcse.c (expr): Rename to ...
	(gcse_expr) ... this; update uses.
	(occr): Rename to ...
	(gcse_occr): .. this; update uses.
	* tree-ssa-copy.c (prop_value_d): Rename to ...
	(prop_value_t): ... this.
	* predict.c (block_info_def): Rename to ...
	(block_info): ... this; update uses.
	(edge_info_def): Rename to ...
	(edge_info): ... this; update uses.
	* profile.c (bb_info): Rename to ...
	(bb_profile_info): ... this; update uses.
	* alloc-pool.c (output_info): Rename to ...
	(pool_output_info): ... this; update uses.
	* ipa-cp.c (topo_info): Rename to ..
	(ipa_topo_info): ... this; update uses.
	* tree-nrv.c (nrv_data): Rename to ...
	(nrv_data_t): ... this; update uses.
	* ipa-split.c (bb_info): Rename to ...
	(split_bb_info): ... this one.
	* profile.h (edge_info): Rename to ...
	(edge_profile_info): ... this one; update uses.
	* dse.c (bb_info): Rename to ...
	(dse_bb_info): ... this one; update uses.
	* cprop.c (occr): Rename to ...
	(cprop_occr): ... this one; update uses.
	(expr): Rename to ...
	(cprop_expr): ... this one; update uses.

From-SVN: r215480
2014-09-22 19:39:44 +00:00
Jason Merrill 6863c41a15 semantics.c (finish_non_static_data_member): In diagnostic, give error at point of use and note at point of declaration.
* semantics.c (finish_non_static_data_member): In diagnostic, give
	error at point of use and note at point of declaration.

From-SVN: r215479
2014-09-22 15:22:37 -04:00
Jason Merrill a546927c6a re PR c++/63320 (bogus ‘this’ was not captured for this lambda function error)
PR c++/63320
	PR c++/60463
	PR c++/60755
	* lambda.c (maybe_resolve_dummy, lambda_expr_this_capture): Handle
	not finding 'this'.

From-SVN: r215478
2014-09-22 15:22:11 -04:00
Paolo Carlini 05424ee6ec re PR c++/62219 ([c++11] Spurious error for lambda in a friend function of a class template with a default template parameters)
/cp
2014-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/62219
	* pt.c (check_default_tmpl_args): Check LAMBDA_FUNCTION_P.

/testsuite
2014-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/62219
	* g++.dg/cpp0x/lambda/lambda-template14.C: New.

From-SVN: r215477
2014-09-22 19:21:20 +00:00
Alan Lawrence 69e69c01e7 [Testsuite] Add tests of reductions using whole-vector-shifts (ior)
* gcc.dg/vect/vect-reduc-or_1.c: New test.
	* gcc.dg/vect/vect-reduc-or_2.c: New test.

From-SVN: r215475
2014-09-22 16:36:06 +00:00
Jason Merrill 2eac08538a Makefile.in (check-parallel-%): Add @.
gcc/
	* Makefile.in (check-parallel-%): Add @.
libstdc++-v3/
	* testsuite/Makefile.am (%/site.exp): Add @.
	(check-DEJAGNU): Likewise.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r215474
2014-09-22 12:33:35 -04:00
Alan Lawrence c50c91a9a3 [Testsuite] Add tests of reductions using whole-vector-shifts (multiplication)
* lib/target-supports.exp (check_effective_target_whole_vector_shift):
	New.

	* gcc.dg/vect/vect-reduc-mul_1.c: New test.
	* gcc.dg/vect/vect-reduc-mul_2.c: New test.

From-SVN: r215473
2014-09-22 16:33:05 +00:00
Jason Merrill aed6756692 decl.c (poplevel): Don't warn about unused vars in template scope.
* decl.c (poplevel): Don't warn about unused vars in template scope.
	* error.c (dump_decl): Handle variable templates.

From-SVN: r215472
2014-09-22 12:31:09 -04:00
James Greenhalgh f421c516aa [AArch64] Auto-generate the "BUILTIN_" macros for aarch64-builtins.c
gcc/

	* config/aarch64/geniterators.sh: New.
	* config/aarch64/iterators.md (VDQF_DF): New.
	* config/aarch64/t-aarch64: Generate aarch64-builtin-iterators.h.
	* config/aarch64/aarch64-builtins.c (BUILTIN_*) Remove.

From-SVN: r215471
2014-09-22 16:24:57 +00:00
Jonathan Wakely 7666d649f8 Include <bits/uses_allocator.h> in <stack> and <queue>.
* include/bits/stl_queue.h: Include missing header.
	* include/bits/stl_stack.h: Likewise.
	* testsuite/23_containers/priority_queue/requirements/
	uses_allocator.cc: New.
	* testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
	* testsuite/23_containers/stack/requirements/uses_allocator.cc: New.

From-SVN: r215470
2014-09-22 17:01:53 +01:00
Peter A. Bigot 0acc67651f msp430.h (LIB_SPEC): Remove automatic addition of -lnosys when -msim absent.
* config/msp430/msp430.h (LIB_SPEC): Remove automatic addition of
	-lnosys when -msim absent.

From-SVN: r215469
2014-09-22 15:47:31 +00:00
Jonathan Wakely bd0a790ab6 status_cxx2011.xml: Update C++11 status.
* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
	* doc/xml/manual/status_cxx2014.xml: Update TS status.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r215468
2014-09-22 16:25:37 +01:00
Jonathan Wakely 726d31362a mutex (try_lock): Do not swallow exceptions.
* include/std/mutex (try_lock): Do not swallow exceptions.
	* testsuite/30_threads/try_lock/4.cc: Fix test.

From-SVN: r215467
2014-09-22 15:54:35 +01:00
Jonathan Wakely ed26fe9e4a Fix ChangeLog date in my last commit.
From-SVN: r215466
2014-09-22 15:21:43 +01:00
Alan Lawrence c71abde77f Workaround following [PATCH] Pul all constants last in tree_swap_operands_p
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html
gcc/:
        * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.

From-SVN: r215465
2014-09-22 14:20:16 +00:00
Jonathan Wakely 9b81754858 Make streams movable and swappable.
PR libstdc++/54316
	PR libstdc++/53626
	* config/abi/pre/gnu.ver: Add new exports.
	* config/io/basic_file_stdio.h (__basic_file): Support moving and
	swapping.
	* include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
	Likewise.
	* include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
	Likewise.
	* include/bits/fstream.tcc (basic_filebuf): Likewise.
	* include/bits/move.h (__exchange): Define for C++11 mode.
	* include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
	swapping.
	* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
	* include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
	basic_fstream): Likewise.
	* include/std/ios: Remove whitespace.
	* include/std/istream (basic_istream, basic_iostream): Support moving
	and swapping.
	* include/std/ostream (basic_ostream): Likewise.
	* include/std/sstream (basic_stringbuf, basic_istringstream,
	basic_ostringstream, basic_stringstream): Likewise.
	* include/std/streambuf (basic_streambuf): Do not default copy
	constructor and assignment on first declaration.
	* include/std/utility (exchange): Forward to __exchange.
	* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
	* src/c++11/Makefile.am: Add stream-related files.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
	New file for explicit instantiation definitions.
	* src/c++11/ios.cc: Move from src/c++98 to here.
	(ios_base::_M_move, ios_base::_M_swap): Define.
	* src/c++11/ios-inst.cc: Move from src/c++98 to here.
	* src/c++11/iostream-inst.cc: Likewise.
	* src/c++11/istream-inst.cc: Likewise.
	* src/c++11/ostream-inst.cc: Likewise.
	* src/c++11/sstream-inst.cc: Likewise.
	* src/c++11/streambuf-inst.cc: Likewise.
	* src/c++98/Makefile.am: Remove stream-related files.
	* src/c++98/Makefile.in: Regenerate.
	* src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
	instantiations.
	* src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
	* src/c++98/ios-inst.cc: Move to src/c++11/.
	* src/c++98/ios.cc: Move to src/c++11/.
	* src/c++98/iostream-inst.cc: Likewise.
	* src/c++98/istream-inst.cc: Likewise.
	* src/c++98/ostream-inst.cc: Likewise.
	* src/c++98/sstream-inst.cc: Likewise.
	* src/c++98/streambuf-inst.cc: Likewise.
	* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
	* testsuite/27_io/basic_fstream/cons/move.cc: New.
	* testsuite/27_io/basic_fstream/assign/1.cc: New.
	* testsuite/27_io/basic_ifstream/cons/move.cc: New.
	* testsuite/27_io/basic_ifstream/assign/1.cc: New.
	* testsuite/27_io/basic_istringstream/assign/1.cc: New.
	* testsuite/27_io/basic_istringstream/cons/move.cc: New.
	* testsuite/27_io/basic_ofstream/cons/move.cc: New.
	* testsuite/27_io/basic_ofstream/assign/1.cc: New.
	* testsuite/27_io/basic_ostringstream/assign/1.cc: New.
	* testsuite/27_io/basic_ostringstream/cons/move.cc: New.
	* testsuite/27_io/basic_stringstream/assign/1.cc: New.
	* testsuite/27_io/basic_stringstream/cons/move.cc: New.

From-SVN: r215463
2014-09-22 14:34:09 +01:00
Tom de Vries 38278d8a9c Add --inline option to contrib/mklog
2014-09-22  Tom de Vries  <tom@codesourcery.com>

	* mklog: Add --inline option.

From-SVN: r215462
2014-09-22 12:53:12 +00:00
Richard Biener 931002b265 gimplify.c (gimplify_init_constructor): Do not leave non-GIMPLE vector constructors around.
2014-09-22  Richard Biener  <rguenther@suse.de>

	* gimplify.c (gimplify_init_constructor): Do not leave
	non-GIMPLE vector constructors around.
	* tree-cfg.c (verify_gimple_assign_single): Verify that
	CONSTRUCTORs have gimple elements.

From-SVN: r215461
2014-09-22 12:49:16 +00:00
Joseph Myers 1a849e50d7 re PR target/63312 (FAIL: gcc.dg/torture/float128-exact-underflow.c -O0 execution test)
PR target/63312
	* config/ia64/sfp-machine.h (FE_EX_ALL, FP_TRAPPING_EXCEPTIONS):
	New macros.

From-SVN: r215458
2014-09-22 12:08:03 +01:00
Jakub Jelinek 932b6d6161 re PR debug/63328 (c-c++-common/gomp/pr60823-3.c test fails with -fcompare-debug)
PR debug/63328
	* omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts
	insert a debug source bind stmt setting DEBUG_EXPR_DECL
	instead of a normal gimple assignment stmt.

	* c-c++-common/gomp/pr63328.c: New test.

From-SVN: r215454
2014-09-22 12:32:09 +02:00
James Greenhalgh 1091cf4933 [Patch bfin] Fixup use of constraints in define_split
gcc/

	* config/bfin/bfin.md: Fix use of constraints in define_split.

From-SVN: r215453
2014-09-22 10:23:42 +00:00
Dominique d'Humieres 77fee9d8e7 resolve.c (resolve_fl_procedure): Remove duplicated lines.
2014-09-21  Dominique d'Humieres <dominiq@lps.ens.fr>

	* resolve.c (resolve_fl_procedure): Remove duplicated lines.

From-SVN: r215452
2014-09-22 12:05:37 +02:00
Martin Liska 6e5dedda84 PR lto/63270 - new test
* g++.dg/lto/pr63270_0.C: New test.
	* g++.dg/lto/pr63270_1.C: New test.

From-SVN: r215451
2014-09-22 09:39:20 +00:00
Richard Sandiford c2095627b7 i386.c (ix86_cannot_change_mode_class): Remove GET_MODE_SIZE (to) < GET_MODE_SIZE (from) test.
gcc/
	* config/i386/i386.c (ix86_cannot_change_mode_class): Remove
	GET_MODE_SIZE (to) < GET_MODE_SIZE (from) test.

From-SVN: r215450
2014-09-22 07:38:46 +00:00
Richard Sandiford 6969eb0dcf hard-reg-set.h: Include hash-table.h.
gcc/
	* hard-reg-set.h: Include hash-table.h.
	(target_hard_regs): Add a finalize method and a x_simplifiable_subregs
	field.
	* target-globals.c (target_globals::~target_globals): Call
	hard_regs->finalize.
	* rtl.h (subreg_shape): New structure.
	(shape_of_subreg): New function.
	(simplifiable_subregs): Declare.
	* reginfo.c (simplifiable_subreg): New structure.
	(simplifiable_subregs_hasher): Likewise.
	(simplifiable_subregs): New function.
	(invalid_mode_changes): Delete.
	(alid_mode_changes, valid_mode_changes_obstack): New variables.
	(record_subregs_of_mode): Remove subregs_of_mode parameter.
	Record valid mode changes in valid_mode_changes.
	(find_subregs_of_mode): Remove subregs_of_mode parameter.
	Update calls to record_subregs_of_mode.
	(init_subregs_of_mode): Remove invalid_mode_changes and bitmap
	handling.  Initialize new variables.  Update call to
	find_subregs_of_mode.
	(invalid_mode_change_p): Check new variables instead of
	invalid_mode_changes.
	(finish_subregs_of_mode): Finalize new variables instead of
	invalid_mode_changes.
	(target_hard_regs::finalize): New function.
	* ira-costs.c (print_allocno_costs): Call invalid_mode_change_p
	even when CLASS_CANNOT_CHANGE_MODE is undefined.

From-SVN: r215449
2014-09-22 07:38:12 +00:00
Richard Sandiford 7af3b946a4 combine.c (subst): Use simplify_subreg_regno rather than REG_CANNOT_CHANGE_MODE_P to detect...
gcc/
	* combine.c (subst): Use simplify_subreg_regno rather than
	REG_CANNOT_CHANGE_MODE_P to detect invalid mode changes.

From-SVN: r215448
2014-09-22 07:36:59 +00:00
Richard Sandiford 0cb07998ae rtl.h (subreg_info): Expand commentary
gcc/
	* rtl.h (subreg_info): Expand commentary
	* rtlanal.c (subreg_get_info): Likewise.

From-SVN: r215447
2014-09-22 07:36:51 +00:00
Richard Sandiford 853d50d3c8 gcc/
* hard-reg-set.h (COPY_HARD_REG_SET, COMPL_HARD_REG_SET)
	(AND_HARD_REG_SET, AND_COMPL_HARD_REG_SET, IOR_HARD_REG_SET)
	(IOR_COMPL_HARD_REG_SET): Allow the "from" set to be constant.

From-SVN: r215446
2014-09-22 07:36:42 +00:00
Eric Botcazou 53f3f4e313 decl.c (gnat_to_gnu_entity): Adjust comment.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment.
	* gcc-interface/utils.c (gnat_write_global_declarations): Fix typo.

From-SVN: r215445
2014-09-22 07:02:24 +00:00
Zhenqiang Chen aecd88f78f arm.c: #include "tm-constrs.h"
2014-09-22  Zhenqiang Chen  <zhenqiang.chen@arm.com>

	* config/arm/arm.c: #include "tm-constrs.h"
	(thumb1_size_rtx_costs): Adjust rtx costs.

From-SVN: r215444
2014-09-22 02:54:45 +00:00
Hans-Peter Nilsson 598a158681 crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS override USE_PT_GNU_EH_FRAME.
* crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS
	override USE_PT_GNU_EH_FRAME.
	[__LIBGCC_EH_FRAME_SECTION_NAME__ && !USE_PT_GNU_EH_FRAME]: Sanity-
	check USE_EH_FRAME_REGISTRY_ALWAYS against
	__LIBGCC_EH_FRAME_SECTION_NAME__, emit error if unsane.
	* Makefile.in (FORCE_EXPLICIT_EH_REGISTRY): New
	variable for substituted force_explicit_eh_registry.
	(CRTSTUFF_CFLAGS): Add FORCE_EXPLICIT_EH_REGISTRY.
	* configure.ac (explicit-exception-frame-registration):
	New AC_ARG_ENABLE.
	* configure: Regenerate.

From-SVN: r215443
2014-09-22 00:49:01 +00:00
GCC Administrator 794eb939b9 Daily bump.
From-SVN: r215442
2014-09-22 00:17:07 +00:00
Hans-Peter Nilsson 7d7d00bac5 configure.ac (target_header_dir): Move block defining this to before the block setting inhibit_libc.
* configure.ac (target_header_dir): Move block defining
	this to before the block setting inhibit_libc.
	(inhibit_libc): When considering $with_headers, just
	check it it's explicitly "no".  If not, also check if
	$target_header_dir/stdio.h is present.  If not, set
	inhibit_libc=true.
	* configure: Regenerate.

From-SVN: r215439
2014-09-21 23:38:05 +00:00
Patrick Oppenlander d1561b096c * config/rs6000/t-spe (MULTILIB_EXCEPTIONS): Allow isel without SPE.
From-SVN: r215438
2014-09-21 18:29:00 -04:00
Segher Boessenkool b8bb615605 rs6000.md (div<mode>3): Fix comment.
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (div<mode>3): Fix comment.  Use a different
	insn for divides by integer powers of two.
	(div<mode>3_sra, *div<mode>3_sra_dot, *div<mode>3_sra_dot2): New.
	(mod<mode>3): Fix formatting.
	(three anonymous define_insn and two define_split): Delete.

From-SVN: r215437
2014-09-21 20:04:53 +02:00
Segher Boessenkool 5b281c53c7 2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (ashr<mode>3, *ashr<mode>3, *ashrsi3_64,
	*ashr<mode>3_dot, *ashr<mode>3_dot2): Clobber CA_REGNO.
	(floatdisf2_internal2): Ditto.
	(ashrdi3_no_power): Ditto.  Fix formatting.

From-SVN: r215436
2014-09-21 20:03:52 +02:00
Segher Boessenkool f4e0b104a6 rs6000.md (ctz<mode>2, [...]): Tidy.
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
	popcntb<mode>2, popcntd<mode>2, parity<mode>2, parity<mode>2_cmpb):
	Tidy.

From-SVN: r215435
2014-09-21 20:02:54 +02:00
Segher Boessenkool 9f31288f44 rs6000.md (strlensi): Don't use subsi3 with a constant, use addsi3 directly.
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a
	constant, use addsi3 directly.
	(three anonymous define_insn, two define_split): Delete.
	(sub<mode>3): Move.  Do not allow constant second operand.
	Generate different insn for constant first operand.
	(*subf<mode>3, *subf<mode>3_dot, *subf<mode>3_dot2): New.
	(subf<mode>3_imm): New.
	(ctz<mode>2, ffs<mode>2): Clobber CA_REGNO where required.
	(*plus_ltu<mode>): Only handle registers.
	(*plus_ltu<mode>_1): New.  Handle integer third operand.
	(*plus_gtu<mode>): Only handle registers.
	(*plus_gtu<mode>_1): New.  Handle integer third operand.

From-SVN: r215434
2014-09-21 20:01:59 +02:00
Segher Boessenkool b4e2da9e22 rs6000.md (iorxor): New code_iterator.
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (iorxor): New code_iterator.
	(iorxor): New code_attr.
	(IORXOR): New code_attr.
	(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): Delete.
	(ior<mode>3, xor<mode>3): Delete.
	(<iorxor><mode>3): New.
	(splitter for "big" integer ior, xor): New.
	(*bool<mode>3): Move.  Also handle AND.
	(*bool<mode>3_dot, *bool<mode>3_dot2): Also handle AND.
	(splitter for "big" integer ior, xor): Delete.

From-SVN: r215433
2014-09-21 20:01:01 +02:00
Segher Boessenkool 9f0a331352 rs6000.md (*neg<mode>2_internal): Delete.
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (*neg<mode>2_internal): Delete.
	(two anonymous define_insn and two define_split): Delete.
	(*neg<mode>2, *neg<mode>2_dot, *neg<mode>2_dot2): New.

From-SVN: r215432
2014-09-21 19:59:40 +02:00
Segher Boessenkool c43120857a rs6000.md (*one_cmpl<mode>2): Generate "not" insn.
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (*one_cmpl<mode>2): Generate "not" insn.
	(two anonymous define_insn and two define_split): Delete.
	(*one_cmpl<mode>2_dot, *one_cmpl<mode>2_dot2): New.

From-SVN: r215431
2014-09-21 19:58:41 +02:00
Segher Boessenkool 1c0e7c5159 rs6000.c (rs6000_rtx_costs): New.
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.c (rs6000_rtx_costs) <NE>: New.

From-SVN: r215430
2014-09-21 19:57:28 +02:00
Segher Boessenkool 7143556459 predicates.md (ca_operand): Allow subregs.
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/predicates.md (ca_operand): Allow subregs.
	(input_operand): Do not allow ca_operand.
	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): For the
	carry bit, allow SImode and Pmode.
	(rs6000_init_hard_regno_mode_ok): Make the carry bit class NO_REGS.

From-SVN: r215429
2014-09-21 19:56:25 +02:00
Uros Bizjak 1c173a32b1 i386.c (ix86_expand_call): Generate MS->SYSV extra clobbered registers using clobber_reg.
* config/i386/i386.c (ix86_expand_call): Generate MS->SYSV extra
	clobbered registers using clobber_reg.  Remove UNSPEC decoration.
	* config/i386/i386.md (unspec) <UNSPEC_MS_TO_SYSV_CALL>: Remove.
	(*call_rex64_ms_sysv): Remove.
	(*call_value_rex64_ms_sysv): Ditto.
	* config/i386/predicates.md (call_rex64_ms_sysv_operation): Remove.

testsuite/ChangeLog:

	* gcc.target/i386/avx-vzeroupper-16.c (dg-final): Remove check
	for call_value_rex64_ms_sysv.
	* gcc.target/i386/avx-vzeroupper-17.c (dg-final): Ditto.
	* gcc.target/i386/avx-vzeroupper-18.c (dg-final): Remove check
	for call_rex64_ms_sysv.

From-SVN: r215428
2014-09-21 17:13:14 +02:00
Jason Merrill 1dc7b1f208 re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multiple virtual inheritance is used)
PR c++/62017
	* decl.c (begin_destructor_body): Only clobber the as-base part of
	*this.

From-SVN: r215427
2014-09-20 22:42:40 -04:00
GCC Administrator 1c2c9440d4 Daily bump.
From-SVN: r215426
2014-09-21 00:16:33 +00:00
Ian Lance Taylor f0c1b5671a runtime: Restore copyright notice accidentally removed from mgc0.c.
From-SVN: r215423
2014-09-20 20:42:59 +00:00