Commit Graph

125846 Commits

Author SHA1 Message Date
Paolo Carlini 0e02d8e375 re PR c++/58126 (No diagnostic when inheriting an uninitialized const or reference member)
/cp
2013-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58126
	* class.c (check_bases): Propagate CLASSTYPE_READONLY_FIELDS_NEED_INIT
	and CLASSTYPE_REF_FIELDS_NEED_INIT from bases to derived.
	* init.c (diagnose_uninitialized_cst_or_ref_member_1): Extend error
	messages about uninitialized const and references members to mention
	the base class.

/testsuite
2013-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58126
	* g++.dg/init/uninitialized1.C: New.

From-SVN: r203232
2013-10-06 21:41:19 +00:00
Tim Shen 6cb4308702 regex.h: (regex_token_iterator<>::regex_token_iterator): Fix compile error.
2013-10-06  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
	Fix compile error.
	* include/bits/regex.tcc: (regex_replace<>): Remove default parameter.

2013-10-06  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
	regex_search<>): New abstract function for regex_match and regex_search.
	* include/bits/regex.tcc (__regex_algo_impl<>): Implement.
	* include/bits/regex_executor.h
	(_Executor<>::_M_lookahead,
	 _DFSExecutor<>::_M_clone,
	 _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
	use.
	* include/bits/regex_executor.tcc (__get_executor<>): Update the
	definition to support __policy.
	* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
	*_debug.
	* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_bracket_01.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_questionmark.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_dispatch_01.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_range_00_03.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_range_01_03.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_range_02_03.cc: Same.
	* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
	Same.
	* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
	* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
	* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
	* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
	* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
	* testsuite/28_regex/match_results/format.cc: Same.
	* testsuite/util/testsuite_regex.h
	(regex_match_debug<>, regex_search_debug<>): Implement.

From-SVN: r203231
2013-10-06 17:53:14 +00:00
Paolo Carlini fef7e16b3f re PR c++/56060 (ICE on invalid code in type_dependent_expression_p, at cp/pt.c:19742)
/cp
2013-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56060
	* pt.c (type_dependent_expression_p): Handle EXPR_PACK_EXPANSION.

/testsuite
2013-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56060
	* g++.dg/cpp0x/variadic144.C: New.

From-SVN: r203229
2013-10-06 14:43:07 +00:00
Oleg Endo c3ddbdce59 re PR libstdc++/58625 (std::signbit always converts to double)
2013-10-06  Oleg Endo  <olegendo@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/58625
	* include/c_global/cmath (signbit): Use __builtin_signbitf and
	__builtin_signbitl.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r203228
2013-10-06 13:44:47 +00:00
GCC Administrator ac6d694723 Daily bump.
From-SVN: r203227
2013-10-06 00:16:38 +00:00
GCC Administrator 13cf572fb3 Daily bump.
From-SVN: r203223
2013-10-05 00:17:08 +00:00
Paolo Carlini 76b67a0ac9 re PR c++/58560 ([c++11] ICE with auto in typedef)
/cp
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58560
	* typeck2.c (build_functional_cast): Use error_operand_p on exp.

/testsuite
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58560
	* g++.dg/cpp0x/auto39.C: New.

From-SVN: r203220
2013-10-04 23:48:29 +00:00
Paolo Carlini 12f64ca5e1 re PR c++/58503 ([c++11] ICE with invalid range in range-based for-loop)
/cp
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58503
	* parser.c (cp_parser_perform_range_for_lookup): If eventually
	either *begin or *end is type-dependent, return NULL_TREE.
	(do_range_for_auto_deduction): If cp_parser_perform_range_for_lookup
	returns NULL_TREE, don't actually do_auto_deduction.

/testsuite
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58503
	* g++.dg/cpp0x/range-for26.C: New.
	* g++.dg/cpp0x/range-for27.C: Likewise.

From-SVN: r203219
2013-10-04 23:17:51 +00:00
Paolo Carlini e36fae42ad re PR c++/58448 (ICE on invalid: tree_class_check_failed)
/cp
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58448
	* pt.c (tsubst): Use error_operand_p on parameter t.

/testsuite
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58448
	* g++.dg/template/crash117.C: New.

From-SVN: r203218
2013-10-04 23:13:59 +00:00
Jeff Law 45d9923433 tree-ssa-threadedge.c: Fix some trailing whitespace problems.
* tree-ssa-threadedge.c: Fix some trailing whitespace problems.

        * tree-ssa-threadedge.c (thread_through_normal_block): Broken out of ...
        (thread_across_edge): Here.  Call it.

From-SVN: r203217
2013-10-04 14:36:27 -06:00
Ian Lance Taylor 8a2cb59f1c reflect: Fix calling Interface method on value created by MakeFunc.
From-SVN: r203212
2013-10-04 18:52:22 +00:00
Chris Manghane c6d2bfbb44 compiler: Use backend interface for temporary reference expressions.
* go-gcc.cc (Backend::convert_expression): New function.

From-SVN: r203209
2013-10-04 18:07:20 +00:00
Cary Coutant 7c327f7b10 dwarf2out.c (dw_sra_loc_expr): Release addr_table entries when discarding a location list expression (or a...
gcc/
	* dwarf2out.c (dw_sra_loc_expr): Release addr_table entries when
        discarding a location list expression (or a piece of one).

From-SVN: r203206
2013-10-04 09:25:23 -07:00
Jan Hubicka 3700bce33c Fix changelog.
From-SVN: r203205
2013-10-04 16:19:23 +00:00
Uros Bizjak ced9ec5943 * ChangeLog: Some further fixes.
From-SVN: r203199
2013-10-04 09:06:16 +02:00
Uros Bizjak 65efa7e791 ChangeLog: Fix ChangeLog.
* ChangeLog: Fix ChangeLog.
	* testsuite/ChangeLog: Ditto.

From-SVN: r203198
2013-10-04 09:04:51 +02:00
GCC Administrator 40e8355fdd Daily bump.
From-SVN: r203197
2013-10-04 00:16:56 +00:00
Marc Glisse f0aaf8c1ae re PR c++/19476 (Missed null checking elimination with new)
2013-10-04  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/19476
gcc/cp/
	* decl.c (cxx_init_decl_processing): Set operator_new_flag.

gcc/testsuite/
	* g++.dg/tree-ssa/pr19476-5.C: New file.
	* g++.dg/tree-ssa/pr19476-1.C: Mention pr19476-5.C.

From-SVN: r203194
2013-10-03 23:48:18 +00:00
Paolo Carlini 2765f89725 re PR c++/58584 ([c++11] ICE with invalid argument for alignas)
/cp
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58584
	* decl2.c (save_template_attributes): Handle error_mark_node as
	*attr_p argument.
	(cp_check_const_attributes): Likewise for attributes.
	* parser.c (cp_parser_std_attribute_spec): When alignas_expr is an
	error_mark_node call cp_parser_skip_to_end_of_statement.

/testsuite
2013-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58584
	* g++.dg/cpp0x/gen-attrs-55.C: New.

From-SVN: r203193
2013-10-03 22:50:59 +00:00
Joseph Myers d9d60b6feb * sr.po: Update.
From-SVN: r203191
2013-10-03 22:44:12 +01:00
Tim Shen 468146e0b5 regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong backup variable initialization.
2013-10-03  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
	backup variable initialization.

From-SVN: r203190
2013-10-03 20:54:01 +00:00
John Woolverton d358f34868 re PR libstdc++/58604 (Text truncation in comments of /usr/include/c++/4.7/vector)
2013-10-03  John Woolverton  <jdwoolverton@gmail.com>

	PR libstdc++/58604
	* include/std/vector: Fix garbled line in HP Copyright.

From-SVN: r203187
2013-10-03 20:33:05 +00:00
Easwaran Raman d1f11e2bae re PR c++/33911 (attribute deprecated vs. templates)
2013-10-03  Easwaran Raman  <eraman@google.com>

        PR c++/33911
        * parser.c (cp_parser_init_declarator): Do not drop attributes
        of template member functions.

2013-10-03  Easwaran Raman  <eraman@google.com>

        PR c++/33911
        * g++.dg/ext/attribute47.C: New.

From-SVN: r203174
2013-10-03 17:39:35 +00:00
Jan Hubicka 6867e128b9 i386.c (ix86_issue_rate): Pentium4, Nocona has issue rate of 2.
* i386.c (ix86_issue_rate): Pentium4, Nocona has issue rate of 2.
	Core2, Corei7 and Haswell has issue rate of 4.
	(ix86_adjust_cost): Remove ATOM case; fix core2/corei7/Haswell case.

From-SVN: r203172
2013-10-03 17:27:32 +00:00
Jan Hubicka c7f36d55a6 i386.c (ix86_option_override_internal): Do not enable accumulate-outgoing-args when producing unwind info.
* i386.c (ix86_option_override_internal): Do not enable
	accumulate-outgoing-args when producing unwind info.

From-SVN: r203171
2013-10-03 17:25:42 +00:00
Wei Mi 4f0bee4c9a lra-constraints.c (insert_move_for_subreg): New function extracted from simplify_operand_subreg.
2013-10-03  Wei Mi  <wmi@google.com>

        * lra-constraints.c (insert_move_for_subreg): New function
        extracted from simplify_operand_subreg.
        (simplify_operand_subreg): Add reload for paradoxical subreg.

From-SVN: r203169
2013-10-03 17:18:26 +00:00
Rong Xu 111c3f39f5 ipa-inline-analysis.c (find_foldable_builtin_expect): Find the candidate of builtin_expect such that we should fix the size/time...
* ipa-inline-analysis.c (find_foldable_builtin_expect): Find
        the candidate of builtin_expect such that we should fix the 
        size/time estimation.
        (estimate_function_body_sizes): Do the acutally size/time fix-up
        for builtin_expect.

From-SVN: r203168
2013-10-03 17:15:56 +00:00
Rong Xu 942df7390f predict.c (tree_predict_by_opcode): Get the probability for builtin_expect from param builtin_expect_probability.
* predict.c (tree_predict_by_opcode): Get the probability
        for builtin_expect from param builtin_expect_probability.
        * params.def (BUILTIN_EXPECT_PROBABILITY): New parameter.
        * predict.def (PRED_BUILTIN_EXPECT_RELAXED): Fix comments.
        * doc/invoke.texi: Add documentation for builtin-expect-probability.
        * gcc.target/i386/cold-attribute-2.c: Fix the test by using original
        probability.
        * gcc.dg/tree-ssa/ipa-split-5.c: Ditto.
        * gcc.dg/tree-ssa/ipa-split-6.c: Ditto.

--This li (t)ene, and those below, will be ignored--

M    gcc/params.def
M    gcc/predict.def
M    gcc/ChangeLog
M    gcc/testsuite/gcc.dg/tree-ssa/ipa-split-5.c
M    gcc/testsuite/gcc.dg/tree-ssa/ipa-split-6.c
M    gcc/testsuite/gcc.target/i386/cold-attribute-2.c
M    gcc/predict.c
M    gcc/doc/invoke.texi

From-SVN: r203167
2013-10-03 17:13:50 +00:00
Marek Polacek 2ef7251f6c re PR c++/58510 ([c++11] ICE with multiple non-static data initializations in union)
PR c++/58510
cp/
	* init.c (sort_mem_initializers): Splice when giving an error.
testsuite/
	* g++.dg/cpp0x/pr58510.C: New test.

From-SVN: r203165
2013-10-03 16:33:23 +00:00
Marc Glisse fc7657bb38 del_op.cc (operator delete): Don't test for 0 before free.
2013-10-03  Marc Glisse  <marc.glisse@inria.fr>

	* libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
	* libsupc++/del_opnt.cc (free): Only declare if freestanding.
	(operator delete): Qualify free with std::.

From-SVN: r203164
2013-10-03 16:16:40 +00:00
Marc Glisse 2284b03444 re PR c++/19476 (Missed null checking elimination with new)
2013-10-03  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/19476
gcc/c-family/
	* c.opt (fcheck-new): Move to common.opt.

gcc/
	* common.opt (fcheck-new): Moved from c.opt. Make it 'Common'.
	* calls.c (alloca_call_p): Use get_callee_fndecl.
	* fold-const.c (tree_expr_nonzero_warnv_p): Handle operator new.
	* tree-vrp.c (gimple_stmt_nonzero_warnv_p, stmt_interesting_for_vrp):
	Likewise.
	(vrp_visit_stmt): Remove duplicated code.

gcc/testsuite/
	* g++.dg/tree-ssa/pr19476-1.C: New file.
	* g++.dg/tree-ssa/pr19476-2.C: Likewise.
	* g++.dg/tree-ssa/pr19476-3.C: Likewise.
	* g++.dg/tree-ssa/pr19476-4.C: Likewise.

From-SVN: r203163
2013-10-03 16:13:54 +00:00
Michael Meissner 0609bdf211 rs6000-builtin.def (XSRDPIM): Use floatdf2, ceildf2, btruncdf2, instead of vsx_* name.
[gcc]
2013-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def (XSRDPIM): Use floatdf2,
	ceildf2, btruncdf2, instead of vsx_* name.

	* config/rs6000/vsx.md (vsx_add<mode>3): Change arithmetic
	iterators to only do V2DF and V4SF here.  Move the DF code to
	rs6000.md where it is combined with SF mode.  Replace <VSv> with
	just 'v' since only vector operations are handled with these insns
	after moving the DF support to rs6000.md.
	(vsx_sub<mode>3): Likewise.
	(vsx_mul<mode>3): Likewise.
	(vsx_div<mode>3): Likewise.
	(vsx_fre<mode>2): Likewise.
	(vsx_neg<mode>2): Likewise.
	(vsx_abs<mode>2): Likewise.
	(vsx_nabs<mode>2): Likewise.
	(vsx_smax<mode>3): Likewise.
	(vsx_smin<mode>3): Likewise.
	(vsx_sqrt<mode>2): Likewise.
	(vsx_rsqrte<mode>2): Likewise.
	(vsx_fms<mode>4): Likewise.
	(vsx_nfma<mode>4): Likewise.
	(vsx_copysign<mode>3): Likewise.
	(vsx_btrunc<mode>2): Likewise.
	(vsx_floor<mode>2): Likewise.
	(vsx_ceil<mode>2): Likewise.
	(vsx_smaxsf3): Delete scalar ops that were moved to rs6000.md.
	(vsx_sminsf3): Likewise.
	(vsx_fmadf4): Likewise.
	(vsx_fmsdf4): Likewise.
	(vsx_nfmadf4): Likewise.
	(vsx_nfmsdf4): Likewise.
	(vsx_cmpdf_internal1): Likewise.

	* config/rs6000/rs6000.h (TARGET_SF_SPE): Define macros to make it
	simpler to select whether a target has SPE or traditional floating
	point support in iterators.
	(TARGET_DF_SPE): Likewise.
	(TARGET_SF_FPR): Likewise.
	(TARGET_DF_FPR): Likewise.
	(TARGET_SF_INSN): Macros to say whether floating point support
	exists for a given operation for expanders.
	(TARGET_DF_INSN): Likewise.

	* config/rs6000/rs6000.c (Ftrad): New mode attributes to allow
	combining of SF/DF mode operations, using both traditional and VSX
	registers.
	(Fvsx): Likewise.
	(Ff): Likewise.
	(Fv): Likewise.
	(Fs): Likewise.
	(Ffre): Likewise.
	(FFRE): Likewise.
	(abs<mode>2): Combine SF/DF modes using traditional floating point
	instructions.  Add support for using the upper DF registers with
	VSX support, and SF registers with power8-vector support.  Update
	expanders for operations supported by both the SPE and traditional
	floating point units.
	(abs<mode>2_fpr): Likewise.
	(nabs<mode>2): Likewise.
	(nabs<mode>2_fpr): Likewise.
	(neg<mode>2): Likewise.
	(neg<mode>2_fpr): Likewise.
	(add<mode>3): Likewise.
	(add<mode>3_fpr): Likewise.
	(sub<mode>3): Likewise.
	(sub<mode>3_fpr): Likewise.
	(mul<mode>3): Likewise.
	(mul<mode>3_fpr): Likewise.
	(div<mode>3): Likewise.
	(div<mode>3_fpr): Likewise.
	(sqrt<mode>3): Likewise.
	(sqrt<mode>3_fpr): Likewise.
	(fre<Fs>): Likewise.
	(rsqrt<mode>2): Likewise.
	(cmp<mode>_fpr): Likewise.
	(smax<mode>3): Likewise.
	(smin<mode>3): Likewise.
	(smax<mode>3_vsx): Likewise.
	(smin<mode>3_vsx): Likewise.
	(negsf2): Delete SF operations that are merged with DF.
	(abssf2): Likewise.
	(addsf3): Likewise.
	(subsf3): Likewise.
	(mulsf3): Likewise.
	(divsf3): Likewise.
	(fres): Likewise.
	(fmasf4_fpr): Likewise.
	(fmssf4_fpr): Likewise.
	(nfmasf4_fpr): Likewise.
	(nfmssf4_fpr): Likewise.
	(sqrtsf2): Likewise.
	(rsqrtsf_internal1): Likewise.
	(smaxsf3): Likewise.
	(sminsf3): Likewise.
	(cmpsf_internal1): Likewise.
	(copysign<mode>3_fcpsgn): Add VSX/power8-vector support.
	(negdf2): Delete DF operations that are merged with SF.
	(absdf2): Likewise.
	(nabsdf2): Likewise.
	(adddf3): Likewise.
	(subdf3): Likewise.
	(muldf3): Likewise.
	(divdf3): Likewise.
	(fred): Likewise.
	(rsqrtdf_internal1): Likewise.
	(fmadf4_fpr): Likewise.
	(fmsdf4_fpr): Likewise.
	(nfmadf4_fpr): Likewise.
	(nfmsdf4_fpr): Likewise.
	(sqrtdf2): Likewise.
	(smaxdf3): Likewise.
	(smindf3): Likewise.
	(cmpdf_internal1): Likewise.
	(lrint<mode>di2): Use TARGET_<MODE>_FPR macro.
	(btrunc<mode>2): Delete separate expander, and combine with the
	insn and add VSX instruction support.  Use TARGET_<MODE>_FPR.
	(btrunc<mode>2_fpr): Likewise.
	(ceil<mode>2): Likewise.
	(ceil<mode>2_fpr): Likewise.
	(floor<mode>2): Likewise.
	(floor<mode>2_fpr): Likewise.
	(fma<mode>4_fpr): Combine SF and DF fused multiply/add support.
	Add support for using the upper registers with VSX and
	power8-vector.  Move insns to be closer to the define_expands. On
	VSX systems, prefer the traditional form of FMA over the VSX
	version, since the traditional form allows the target not to
	overlap with the inputs.
	(fms<mode>4_fpr): Likewise.
	(nfma<mode>4_fpr): Likewise.
	(nfms<mode>4_fpr): Likewise.

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

	* gcc.target/powerpc/p8vector-fp.c: New test for floating point
	scalar operations when using -mupper-regs-sf and -mupper-regs-df.
	* gcc.target/powerpc/ppc-target-1.c: Update tests to allow either
	VSX scalar operations or the traditional floating point form of
	the instruction.
	* gcc.target/powerpc/ppc-target-2.c: Likewise.
	* gcc.target/powerpc/recip-3.c: Likewise.
	* gcc.target/powerpc/recip-5.c: Likewise.
	* gcc.target/powerpc/pr72747.c: Likewise.
	* gcc.target/powerpc/vsx-builtin-3.c: Likewise.

From-SVN: r203162
2013-10-03 16:08:53 +00:00
Kyrylo Tkachov 5bea0c6c8c aarch-common-protos.h (struct alu_cost_table): New.
[gcc/]
2013-10-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
            Richard Earnshaw  <richard.earnshaw@arm.com>

	* config/arm/aarch-common-protos.h (struct alu_cost_table): New.
	(struct mult_cost_table): Likewise.
	(struct mem_cost_table): Likewise.
	(struct fp_cost_table): Likewise.
	(struct vector_cost_table): Likewise.
	(cpu_cost_table): Likewise.
	* config/arm/arm.opt (mold-rts-costs): New option.
	(mnew-generic-costs): Likewise.
	* config/arm/arm.c (generic_extra_costs): New table.
	(cortexa15_extra_costs): Likewise.
	(arm_slowmul_tune): Use NULL as new costs.
	(arm_fastmul_tune): Likewise.
	(arm_strongarm_tune): Likewise.
	(arm_xscale_tune): Likewise.
	(arm_9e_tune): Likewise.
	(arm_v6t2_tune): Likewise.
	(arm_cortex_a5_tune): Likewise.
	(arm_cortex_a9_tune): Likewise.
	(arm_v6m_tune): Likewise.
	(arm_fa726te_tune): Likewise.
	(arm_cortex_a15_tune): Use cortex15_extra_costs.
	(arm_cortex_tune): Use generict_extra_costs.
	(shifter_op_p): New function.
	(arm_unspec_cost): Likewise.
	(LIBCALL_COST): Define.
	(arm_new_rtx_costs): New function.
	(arm_rtx_costs): Use arm_new_rtx_costs when core-specific
	table is available. Use old costs otherwise unless mnew-generic-costs
	is specified.
	* config/arm/arm-protos.h (tune_params): Add insn_extra_cost field.
	(cpu_cost_table): Declare.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r203160
2013-10-03 13:58:42 +00:00
Marcus Shawcroft 24c569251d [AArch64] Fix PR58460
PR58460, the add and sub shifted register instruction forms in AArch64
do not permit the stack register.  This patch removes k constraint
from the relevant patterns and adds reduced form of the test case.

From-SVN: r203157
2013-10-03 10:54:36 +00:00
Ian Bolton 2ab8f063e9 [AArch64] Remove un-necessary secondary reload for addition to SP.
From-SVN: r203156
2013-10-03 09:50:21 +00:00
Teresa Johnson 79221839a3 predict.c (probably_never_executed): New function.
2013-10-02  Teresa Johnson  <tejohnson@google.com>

	* predict.c (probably_never_executed): New function.
	(probably_never_executed_bb_p): Invoke probably_never_executed.
	(probably_never_executed_edge_p): Ditto.
	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
	Treat profile insanities conservatively.

From-SVN: r203152
2013-10-03 05:06:05 +00:00
John David Anglin 6977865936 config.host (hppa*64*-*-linux*): Define extra_parts.
* config.host (hppa*64*-*-linux*): Define extra_parts.
	(hppa*-*-linux*): Likewise.

From-SVN: r203151
2013-10-03 01:11:41 +00:00
John David Anglin d441afe007 config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
* config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.

From-SVN: r203148
2013-10-03 00:42:58 +00:00
Vladimir Makarov 80f466c4a6 lra-constraints.c (process_alt_operand): Calculate scratch_p and use it.
2013-10-02  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constraints.c (process_alt_operand): Calculate scratch_p and
	use it.  Use smaller increase for scratch.  Don't increase reject
	for early clobber scratch.
	* lra-eliminations.c (eliminate_regs_in_insn): Remove all insns
	setting eliminated regs except setting fp from hfp.
	(lra_eliminate): Check lra_insn_recog_data on NULL.

From-SVN: r203147
2013-10-03 00:35:43 +00:00
GCC Administrator 7cfbb5a278 Daily bump.
From-SVN: r203146
2013-10-03 00:17:10 +00:00
Michael Meissner 6e228b4ba3 re PR target/58587 (Bootstrap error with ada with -mcpu=power7)
2013-10-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/58587
	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Turn off
	setting -mvsx-timode by default until the underlying problem is
	fixed.
	(RS6000_CPU, power7 defaults): Likewise.

From-SVN: r203142
2013-10-03 00:01:45 +00:00
Ian Lance Taylor 84c67c3bae runtime: Fix append of slice with elements of zero size.
From-SVN: r203140
2013-10-02 23:49:39 +00:00
Uros Bizjak 11b54a5a07 x-linux (host-linux.o): Remove header dependencies.
* config/x-linux (host-linux.o): Remove header dependencies.
	Use $(COMPILE) and $(POSTCOMPILE).
	* config/t-linux-android (linux-android.o): Ditto.

From-SVN: r203136
2013-10-02 23:24:50 +02:00
Tobias Burnus 9c84da22d5 re PR fortran/58593 (internal compiler error: in gfc_conv_string_tmp, at fortran/trans-expr.c:2360)
2013-10-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58593
        * trans-expr.c (gfc_conv_string_tmp): Fix obtaining
        the byte size of a single character.

2013-10-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58593
        * gfortran.dg/char_length_19.f90: New.

From-SVN: r203135
2013-10-02 23:02:14 +02:00
Jonathan Wakely 44d209d7e2 re PR libstdc++/58569 (Compilation error when a class contains multiple std::function)
2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Daniel Krugler  <daniel.kruegler@gmail.com>

	PR libstdc++/58569
	* include/std/functional (function::_CheckResult): Move to namespace
	scope and rename to __check_func_return_type.
	* testsuite/20_util/function/58569.cc: New.

Co-Authored-By: Daniel Kruegler <daniel.kruegler@gmail.com>

From-SVN: r203132
2013-10-02 21:21:52 +01:00
Jonathan Wakely 3fd113d7f1 re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
PR libstdc++/58594
	* include/bits/shared_ptr_base.h
	(_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
	* testsuite/20_util/shared_ptr/creation/58594.cc: New.

From-SVN: r203131
2013-10-02 20:55:14 +01:00
Uros Bizjak bbc02b69b5 Makefile.in (expmed.o-warn): Remove.
* Makefile.in (expmed.o-warn): Remove.

From-SVN: r203130
2013-10-02 21:52:27 +02:00
Andrew MacLeod 440917de66 graphite-scop-detection.c: Include tree-ssa-propagate,h.
* graphite-scop-detection.c: Include tree-ssa-propagate,h.
	* graphite-sese-to-poly.c: Include tree-ssa-propagate.h.

From-SVN: r203129
2013-10-02 19:41:14 +00:00
Chris Manghane 002ee4d12f compiler: Use backend interface for numeric expressions.
* go-gcc.cc: Include "real.h" and "realmpfr.h".
	(Backend::integer_constant_expression): New function.
	(Backend::float_constant_expression): New function.
	(Backend::complex_constant_expression): New function.

From-SVN: r203127
2013-10-02 19:22:07 +00:00
Teresa Johnson 99206ca90b This patch fixes an issue where expansion of an ORIF expression arbitrarily...
This patch fixes an issue where expansion of an ORIF expression arbitrarily
applied the probability that the entire condition was true to just the 
first condition. When the ORIF true probability was 100%, this resulted
in the second condition's jump being given a count of zero (since the
first condition's jump got 100% of the count), leading to incorrect function
splitting when it had a non-zero probability in reality. Since there
currently isn't better information about which condition resulted
in the ORIF being true, apply a 50-50 probability that it is the first
vs. second condition that caused the entire expression to be true,
so that neither condition's true label ends up as a 0-count bb.

An equivalent fix is made for ANDIF expansion.

2013-10-02  Teresa Johnson  <tejohnson@google.com>

	* dojump.c (do_jump_1): Divide probability between
	both conditions of a TRUTH_ORIF_EXPR.

From-SVN: r203126
2013-10-02 19:18:17 +00:00