2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/c++11/functexcept.cc: Do not include the whole <regex>.
	* src/c++11/regex.cc: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201369 138bc75d-0d04-0410-961f-82ee72b054a4
2013-07-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.gcc (*-*-rtems*): Use __cxa_atexit by default.
	* config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201370 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/arm/arm.md: Include new file "types.md".
	(define_attr "type"): Move from here to ...
	(define_attr "mul32"): Likewise.
	(define_attr "mul64"): Likewise.
	* config/arm/types.md: ... here.  New file.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201375 138bc75d-0d04-0410-961f-82ee72b054a4
	* config.gcc (arm*-*-*): Add aarch-common.o to extra_objs.  Add
	aarch-common-protos.h to extra_headers.
	(arm*-*-*): Add arm/aarch-common-protos.h to tm_p_file.
	* config/arm/arm.c (arm_early_load_addr_dep): Move from here to ...
	(arm_early_store_addr_dep): Likewise.
	(arm_no_early_alu_shift_dep: Likewise.
	(arm_no_early_alu_shift_value_dep: Likewise.
	(arm_no_early_mul_dep: Likewise.
	(arm_no_early_store_addr_dep: Likewise.
	(arm_mac_accumulator_is_mul_result: Likewise.
	(arm_mac_accumulator_is_result: Likewise.
	* config/arm/aarch-common.c: ... here.  New file.
	* config/arm/arm-protos.h (arm_early_load_addr_dep): Move from here to ...
	(arm_early_store_addr_dep): Likewise.
	(arm_no_early_alu_shift_dep: Likewise.
	(arm_no_early_alu_shift_value_dep: Likewise.
	(arm_no_early_mul_dep: Likewise.
	(arm_no_early_store_addr_dep: Likewise.
	(arm_mac_accumulator_is_mul_result: Likewise.
	(arm_mac_accumulator_is_result: Likewise.
	* config/arm/aarch-common-protos.h: ... here.  New file.
	* config/arm/t-arm (aarch-common.o): Define.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201376 138bc75d-0d04-0410-961f-82ee72b054a4
2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56627
	* include/bits/stl_bvector.h: Use friend struct hash intead of
	friend class hash to work around useless warnings produced by
	some compilers.
	* include/std/bitset: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201377 138bc75d-0d04-0410-961f-82ee72b054a4
2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* parser.c (cp_parser_sizeof_pack): Check cp_parser_identifier
	return value for error_mark_node.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201379 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/
	* gcc.target/mips/mips.exp (mips-dg-options): Test for mabicalls
	rather than addressing!=absolute when deciding how to handle MIPS16
	when the test forces an ABI.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201380 138bc75d-0d04-0410-961f-82ee72b054a4
Remove empty directories.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201381 138bc75d-0d04-0410-961f-82ee72b054a4
[gcc]
2013-07-31  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/predicates.md (fusion_gpr_addis): New predicates
	to support power8 load fusion.
	(fusion_gpr_mem_load): Likewise.

	* config/rs6000/rs6000-modes.def (PTImode): Update a comment.

	* config/rs6000/rs6000-protos.h (fusion_gpr_load_p): New
	declarations for power8 load fusion.
	(emit_fusion_gpr_load): Likewise.

	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
	tuning for power8, turn on fusion mode by default.  Turn on sign
	extending fusion mode if normal fusion mode is on, and we are at
	-O2 or -O3.
	(fusion_gpr_load_p): New function, return true if we can fuse an
	addis instruction with a dependent load to a GPR.
	(emit_fusion_gpr_load): Emit the instructions for power8 load
	fusion to GPRs.

	* config/rs6000/vsx.md (VSX_M2): New iterator for fusion
	peepholes.
	(VSX load fusion peepholes): New peepholes to fuse together an
	addi instruction with a VSX load instruction.

	* config/rs6000/rs6000.md (GPR load fusion peepholes): New
	peepholes to fuse an addis instruction with a load to a GPR base
	register.  If we are supporting sign extending fusions, convert
	sign extending loads to zero extending loads and add an explicit
	sign extension.

[gcc/testsuite]
2013-07-31  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/fusion.c: New file, test power8 fusion
	support.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201385 138bc75d-0d04-0410-961f-82ee72b054a4
2013-07-31  Tim Shen  <timshen91@gmail.com>

	Thompson matcher refactored. Fix grouping problem.
	* include/bits/regex.h: Use a dispatcher _M_get_matcher().
	* include/bits/regex_compiler.h: Tweak for auto switching.
	* include/bits/regex_grep_matcher.h: Class structure.
	* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
	matcher) refactoring.
	* include/bits/regex_nfa.h: Change _Results's interfaces.
	* include/std/regex: Includes <map> and <queue>.
	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
	For both matchers.
	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
	For both matchers.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_dispatch_01.cc: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201391 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201397 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/aarch64/aarch64.md (define_attr "type"): Delete.
	Include "../arm/types.md".  Define "type" attribute for all patterns.
	* config/aarch64/aarch64-simd.md (move_lo_quad_<mode>): Update for
	attribute changes.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201399 138bc75d-0d04-0410-961f-82ee72b054a4
Index: config.gcc
===================================================================
--- config.gcc	(revision 201376)
+++ config.gcc	(working copy)
@@ -313,7 +313,7 @@ aarch64*-*-*)
 	cpu_type=aarch64
 	need_64bit_hwint=yes
 	extra_headers="arm_neon.h"
-	extra_objs="aarch64-builtins.o"
+	extra_objs="aarch64-builtins.o aarch-common.o"
 	target_has_targetm_common=yes
 	;;
 alpha*-*-*)
@@ -501,6 +501,7 @@ fi
 
 case ${target} in
 aarch64*-*-*)
+	tm_p_file="${tm_p_file} arm/aarch-common-protos.h"
 	case ${with_abi} in
 	"")
 		if test "x$with_multilib_list" = xilp32; then
Index: config/aarch64/aarch64.md
===================================================================
--- config/aarch64/aarch64.md	(revision 201376)
+++ config/aarch64/aarch64.md	(working copy)
@@ -349,6 +349,7 @@
 (include "aarch64-generic.md")
 (include "large.md")
 (include "small.md")
+(include "../arm/cortex-a53.md")
 
 ;; -------------------------------------------------------------------
 ;; Jumps and other miscellaneous insns
Index: config/aarch64/t-aarch64
===================================================================
--- config/aarch64/t-aarch64	(revision 201376)
+++ config/aarch64/t-aarch64	(working copy)
@@ -35,6 +35,11 @@ aarch64-builtins.o: $(srcdir)/config/aar
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
 		$(srcdir)/config/aarch64/aarch64-builtins.c
 
+aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \
+    coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
+	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+		$(srcdir)/config/arm/aarch-common.c
+
 comma=,
 MULTILIB_OPTIONS    = $(patsubst %, mabi=%, $(subst $(comma), ,$(TM_MULTILIB_CONFIG)))
 MULTILIB_DIRNAMES   = $(subst $(comma), ,$(TM_MULTILIB_CONFIG))


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201400 138bc75d-0d04-0410-961f-82ee72b054a4

	* profile.c (compute_value_histograms): Fix thinko.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201401 138bc75d-0d04-0410-961f-82ee72b054a4

        * gcc.dg/vect/vect-iv-5.c: Make xfail conditional with !arm_neon_ok.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201406 138bc75d-0d04-0410-961f-82ee72b054a4
	* cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.
	(cgraph_release_function_body): Likewise.
	(cgraph_can_remove_if_no_direct_calls_p): Likewise.
	* cgraph.h (cgrpah_node): Rename abstract_and_needed
	to used_as_abstract_origin.
	* tree-inline-transfrom.c (can_remove_node_now_p_1): Do not remove
	symbols used as abstract origins.
	* cgraphunit.c (analyze_functions): Update.
	* ipa.c (symtab_remove_unreachable_nodes): Recompute used_as_abstract_origin.
	* tree-inline.c (tree_function_versioning): Update
	used_as_abstract_origin; be ready for DECL_RESULT and DECL_ARGUMENTS to be
	NULL.

	* lto-symtab.c (lto_symtab_merge_symbols): Merge duplicated nodes for abstract functions.
	* cgraph.h (symtab_real_symbol_p): Abstract declarations are not real symbols.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201408 138bc75d-0d04-0410-961f-82ee72b054a4
[gcc]
2013-08-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (peepholes for eq (reg1) (reg2/imm)):
	Generate canonical plus rtx with negated immediate instead of minus
	where appropriate.
	* config/arm/arm.c (thumb2_reorg): Handle ADCS <Rd>, <Rn> case.

[gcc/testsuite]

	* gcc.target/arm/pr46972-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201411 138bc75d-0d04-0410-961f-82ee72b054a4
2013-08-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (minmax_arithsi_non_canon): Emit canonical RTL form
	when subtracting a constant.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201412 138bc75d-0d04-0410-961f-82ee72b054a4
	* cgraph.h (release_function_body): Declare.
	* tree.c (free_lang_data_in_decl): Free, parameters and return values
	of unused delcarations.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201413 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/
        PR c++/54537
        * cp-tree.h: Check OVL_USED with OVERLOAD_CHECK.
        * name-lookup.c (do_nonmember_using_decl): Make sure we have an
	OVERLOAD before calling OVL_USED. Call diagnose_name_conflict
	instead of issuing an error without mentioning the conflicting
	declaration.

libstdc++-v3/
        PR c++/54537
	* include/tr1/cmath: Remove pow(double,double) overload, remove a
	duplicated comment about DR 550. Add a comment to explain the
	issue.
	* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.

gcc/testsuite/
        PR c++/54537
        * g++.dg/overload/using3.C: New.
	* g++.dg/overload/using2.C: Adjust.
	* g++.dg/lookup/using9.C: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201414 138bc75d-0d04-0410-961f-82ee72b054a4