Commit Graph

134943 Commits

Author SHA1 Message Date
Ilya Verbin 2354caecd9 Force output of vars with "omp declare target" attribute in gcc/varpool.c
gcc/
	* varpool.c (varpool_node::get_create): Force output of vars with
	"omp declare target" attribute.
libgomp/
	* testsuite/libgomp.c/target-9.c: New test.

From-SVN: r218607
2014-12-10 20:52:10 +00:00
Ian Lance Taylor c44f74e4cb re PR go/61316 (gccgo: spurious "incompatible types in assignment" error [GoSmith])
PR go/61316
compiler: Don't lower multi-valued arguments into temporaries.

From-SVN: r218606
2014-12-10 20:38:13 +00:00
Marc Glisse 1b457aa45d real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.
2014-12-10  Marc Glisse  <marc.glisse@inria.fr>

	* real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.
	* real.c: Include rtl.h and options.h.
	(HONOR_NANS): Define three overloads.
	* builtins.c (fold_builtin_classify, fold_builtin_unordered_cmp):
	Simplify argument of HONOR_NANS.
	* fold-const.c (combine_comparisons, fold_truth_not_expr,
	fold_cond_expr_with_comparison, merge_truthop_with_opposite_arm,
	fold_comparison, fold_binary_loc): Likewise.
	* ifcvt.c (noce_try_move, noce_try_minmax): Likewise.
	* ipa-inline-analysis.c (add_clause,
	set_cond_stmt_execution_predicate): Likewise.
	* match.pd: Likewise.
	* rtlanal.c (may_trap_p_1): Likewise.
	* simplify-rtx.c (simplify_const_relational_operation): Likewise.
	* tree-if-conv.c (parse_predicate): Likewise.
	* tree-ssa-ccp.c (valid_lattice_transition): Likewise.
	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
	* tree-ssa-phiopt.c (minmax_replacement, neg_replacement): Likewise.
	* tree-ssa-reassoc.c (eliminate_using_constants): Likewise.
	* tree-ssa-tail-merge.c (gimple_equal_p): Likewise.

From-SVN: r218605
2014-12-10 20:26:05 +00:00
Jakub Jelinek 1c4967b998 re PR tree-optimization/62021 (ICE in verify_gimple_assign_single)
PR tree-optimization/62021
	* omp-low.c (simd_clone_adjust_return_type): Use
	vector of pointer_sized_int_node types instead vector of pointer
	types.
	(simd_clone_adjust_argument_types): Likewise.

	* gcc.dg/vect/pr62021.c: New test.

From-SVN: r218603
2014-12-10 21:01:12 +01:00
Jakub Jelinek 3ec5dd98f0 re PR target/64252 (expand_vec_perm_pblendv caused miscompilation)
PR target/64252
	* config/i386/i386.c (expand_vec_perm_pblendv): If not testing_p,
	set dcopy.target to a new pseudo.

	* gcc.dg/vect/pr64252.c: New test.
	* gcc.dg/pr64252.c: New test.
	* gcc.target/i386/avx2-pr64252.c: New test.

Co-Authored-By: Evgeny Stupachenko <evstupac@gmail.com>

From-SVN: r218602
2014-12-10 20:59:57 +01:00
Ilya Enkovich e90f3d6cfc chkp-privatize_0.c: Remove unneeded selector from target check.
* gcc.dg/lto/chkp-privatize_0.c: Remove unneeded selector
	from target check.

From-SVN: r218601
2014-12-10 19:08:57 +00:00
Paolo Carlini bf79db5ad0 pr64127.C: Fix.
2014-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp/pr64127.C: Fix.

From-SVN: r218600
2014-12-10 19:05:56 +00:00
Paolo Carlini 9e10d54ac5 pr64127.C: Fix.
2014-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp/pr64127.C: Fix.

From-SVN: r218599
2014-12-10 19:05:43 +00:00
Segher Boessenkool 0ccf5264a3 * config/rs6000/rs6000.md (*add<mode>3): Remove condition.
From-SVN: r218598
2014-12-10 19:41:37 +01:00
Segher Boessenkool f5ae5a23ac 40x.md (ppc403-compare): Remove "compare".
* config/rs6000/40x.md (ppc403-compare): Remove "compare".
	config/rs6000/440.md (ppc440-compare): Remove "compare".
	config/rs6000/476.md (ppc476-compare): Remove "compare".
	config/rs6000/601.md (ppc601-compare): Remove "compare".
	config/rs6000/603.md (ppc603-compare): Remove "compare".
	config/rs6000/6xx.md (ppc604-compare): Remove "compare".
	config/rs6000/7450.md (ppc7450-compare): Remove "compare".
	config/rs6000/7xx.md (ppc750-compare): Remove "compare".
	config/rs6000/8540.md (ppc8540_su): Remove "compare".
	config/rs6000/cell.md (cell-fast-cmp, cell-cmp-microcoded): Remove
	"compare".
	config/rs6000/e300c2c3.md (ppce300c3_cmp): Remove "compare".
	config/rs6000/e500mc.md (e500mc_su): Remove "compare".
	config/rs6000/e500mc64.md (e500mc64_su2): Remove "compare".
	config/rs6000/e5500.md (e5500_sfx2): Remove "compare".
	config/rs6000/e6500.md (e6500_sfx2): Remove "compare".
	config/rs6000/mpc.md (mpccore-compare): Remove "compare".
	config/rs6000/power4.md (power4-compare): Remove "compare".
	config/rs6000/power5.md (power5-compare): Remove "compare".
	config/rs6000/power6.md (power6-compare): Remove "compare".
	config/rs6000/power7.md (power7-compare): Remove "compare".
	config/rs6000/power8.md (power8-compare): Remove "compare".  Update
	comment.
	config/rs6000/rs6000.c (rs6000_adjust_cost) <TYPE_COMPARE>: Remove
	(three times).
	(is_cracked_insn): Remove TYPE_COMPARE case.
	(insn_must_be_first_in_group) <TYPE_COMPARE>: Remove (twice).
	config/rs6000/rs6000.md (type): Remove "compare".
	(cell_micro): Remove "compare".
	config/rs6000/rs64.md (rs64a-compare): Remove "compare".

From-SVN: r218597
2014-12-10 19:40:26 +01:00
Segher Boessenkool 823dc8bde7 rs6000.md (*anddi3_2rld_dot, [...]): Change type from "compare" to "two".
* config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
	Change type from "compare" to "two".

From-SVN: r218596
2014-12-10 19:39:14 +01:00
Segher Boessenkool a935964dea re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/predicates.md (unsigned_comparison_operator): New.
	(signed_comparison_operator): New.
	* config/rs6000/rs6000-protos.h (rs6000_emit_eqne): Declare.
	* config/rs6000/rs6000.c (rs6000_emit_eqne): New function.
	(rs6000_emit_sCOND): Remove ISEL test (move it to the expander).
	* config/rs6000/rs6000.md (add<mode>3 for SDI): Expand DImode
	add to addc,adde directly, if !TARGET_POWERPC64.
	(sub<mode>3 for SDI): Expand DImode sub to subfc,subfe directly,
	if !TARGET_POWERPC64.
	(neg<mode>2): Delete expander.
	(*neg<mode>2): Rename to "neg<mode>2".
	(addti3, subti3): Delete.
	(addti3, subti3): New expanders.
	(*adddi3_noppc64, *subdi3_noppc64, *negdi2_noppc64): Delete.
	(cstore<mode>4_unsigned): New expander.
	(cstore<mode>4): Allow GPR as output (not just SI).  Rewrite.
	(cstore<mode>4 for FP): Remove superfluous quotes.
	(*eq<mode>, *eq<mode>_compare, *plus_eqsi and splitter,
	*compare_plus_eqsi and splitter, *plus_eqsi_compare and splitter,
	*neg_eq0<mode>, *neg_eq<mode>, *ne0_<mode>, plus_ne0_<mode>,
	compare_plus_ne0_<mode> and splitter, *compare_plus_ne0_<mode>_1 and
	splitter, *plus_ne0_<mode>_compare and splitter, *leu<mode>,
	*leu<mode>_compare and splitter, *plus_leu<mode>, *neg_leu<mode>,
	*and_neg_leu<mode>, *ltu<mode>, *ltu<mode>_compare, *plus_ltu<mode>,
	*plus_ltu<mode>_1, *plus_ltu<mode>compare, *neg_ltu<mode>, *geu<mode>,
	*geu<mode>_compare and splitter, *plus_geu<mode>, *neg_geu<mode>,
	*and_neg_geu<mode>, *plus_gt0<mode>, *gtu<mode>, *gtu<mode>_compare,
	*plus_gtu<mode>, *plus_gtu<mode>_1, *plus_gtu<mode>_compare,
	*neg_gtu<mode>, 12 anonymous insns, and 12 anonymous splitters):
	Delete.
	(eq<mode>3, ne<mode>3): New.
	(*neg_eq_<mode>, *neg_ne_<mode>): New.
	(*plus_eq_<mode>, *plus_ne_<mode>): New.
	(*minus_eq_<mode>, *minus_ne_<mode>): New.

From-SVN: r218595
2014-12-10 19:37:58 +01:00
Segher Boessenkool 969ce0b0a6 re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/predicates.md (adde_operand): New.
	* config/rs6000/rs6000.md (add<mode>3_carry): New.
	(*add<mode>3_imm_carry_pos): New.
	(*add<mode>3_imm_carry_0): New.
	(*add<mode>3_imm_carry_m1): New.
	(*add<mode>3_imm_carry_neg): New.
	(add<mode>3_carry_in): New.
	(*add<mode>3_carry_in_internal): New.
	(add<mode>3_carry_in_0): New.
	(add<mode>3_carry_in_m1): New.
	(subf<mode>3_carry): New.
	(*subf<mode>3_imm_carry_0): New.
	(*subf<mode>3_imm_carry_m1): New.
	(subf<mode>3_carry_in): New.
	(*subf<mode>3_carry_in_internal): New.
	(subf<mode>3_carry_in_0): New.
	(subf<mode>3_carry_in_m1): New.
	(subf<mode>3_carry_in_xx): New.

From-SVN: r218594
2014-12-10 19:36:18 +01:00
Segher Boessenkool 46121d60c5 re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/rs6000.md (*add<mode>3_internal1): Rename to
	"*add<mode>3".
	(*add<mode>3_internal2, *add<mode>3_internal3, and (their splitters):
	Delete.
	(*add<mode>3_dot, *add<mode>3_dot2): New.
	(*add<mode>3_imm_dot, *add<mode>3_imm_dot2): New.

From-SVN: r218593
2014-12-10 19:33:26 +01:00
Segher Boessenkool d262c86cc9 re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic
	alternative.

From-SVN: r218592
2014-12-10 19:32:15 +01:00
Segher Boessenkool 79cdc851c5 re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
	*ctr<mode>_internal5, *ctr<mode>_internal6): Change "r" alternatives
	to "b".  Increase length.
	(splitters for these): Split to cmp+addi instead of addic.

From-SVN: r218591
2014-12-10 19:31:15 +01:00
Segher Boessenkool 76f93d9994 re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/darwin.md (macho_low_si): Remove "r" alternative.
	(macho_low_di): Ditto.
	* config/rs6000/rs6000.md (*largetoc_low): Ditto.
	(tocref<mode>): Ditto.
	(elf_low): Ditto.
	* config/rs6000/spe.md (mov_si<mode>_e500_subreg0_elf_low_be): Ditto.
	(mov_si<mode>_e500_subreg0_elf_low_le): Ditto.
	(mov_si<mode>_e500_subreg4_elf_low_be): Ditto.  Reformat condition.
	(mov_si<mode>_e500_subreg4_elf_low_le): Ditto.

From-SVN: r218590
2014-12-10 19:30:07 +01:00
Segher Boessenkool 7b7817713f re PR target/64180 (PowerPC carry bit improvements)
PR target/64180
	* config/rs6000/rs6000.c (TARGET_MD_ASM_CLOBBERS): Define.
	(rs6000_md_asm_clobbers): New function.

From-SVN: r218589
2014-12-10 19:28:57 +01:00
David Malcolm 29df5715c0 Document libgccjit++.h
gcc/jit/ChangeLog:
	* docs/cp/index.rst: New file.
	* docs/cp/intro/index.rst: New file.
	* docs/cp/intro/tutorial01.rst: New file.
	* docs/cp/intro/tutorial02.rst: New file.
	* docs/cp/intro/tutorial03.rst: New file.
	* docs/cp/intro/tutorial04.rst: New file.
	* docs/cp/topics/contexts.rst: New file.
	* docs/cp/topics/expressions.rst: New file.
	* docs/cp/topics/functions.rst: New file.
	* docs/cp/topics/index.rst: New file.
	* docs/cp/topics/locations.rst: New file.
	* docs/cp/topics/objects.rst: New file.
	* docs/cp/topics/results.rst: New file.
	* docs/cp/topics/types.rst: New file.
	* docs/examples/tut01-hello-world.cc: New file.
	* docs/examples/tut02-square.c: Fix missing newline in output.
	* docs/examples/tut02-square.cc: New file.
	* docs/examples/tut03-sum-of-squares.cc: New file.
	* docs/examples/tut04-toyvm/toyvm.cc: New file.
	* docs/index.rst: Move summary to above the table of contents.
	Add text about the C vs C++ APIs.
	* docs/topics/contexts.rst: Fix a typo.

	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* docs/_build/texinfo/factorial1.png: New file.
	* docs/_build/texinfo/sum-of-squares1.png: New file.

From-SVN: r218588
2014-12-10 18:25:58 +00:00
Richard Biener e56e603b72 re PR testsuite/64048 (UNRESOLVED: gcc.dg/tree-prof/peel-1.c scan-rtl-dump loop2_unroll)
2014-12-10  Richard Biener  <rguenther@suse.de>

	PR testsuite/64048
	* gcc.dg/tree-prof/peel-1.c: Update dump scanning.

From-SVN: r218585
2014-12-10 15:47:30 +00:00
Bernd Edlinger 301375fdd5 re PR fortran/60718 (Test case gfortran.dg/select_type_4.f90 fails on ARM)
2014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR fortran/60718
	* trans-expr.c (gfc_conv_procedure_call): Fix a strict aliasing
	violation when passing a class object to a formal parameter which has
	different pointer or allocatable attributes.

testsuite:
2014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR fortran/60718
	* gfortran.dg/class_alias.f90: New.

From-SVN: r218584
2014-12-10 15:29:19 +00:00
Richard Biener d7290d1cf4 forwprop-29.c: Add -fno-ipa-icf.
2014-12-10  Richard Biener  <rguenther@suse.de>

	* gcc.dg/tree-ssa/forwprop-29.c: Add -fno-ipa-icf.

From-SVN: r218583
2014-12-10 15:23:34 +00:00
Felix Yang e9ecbf4b1d aarch64-protos.h (aarch64_function_profiler): Remove declaration of removed function.
* config/aarch64/aarch64-protos.h (aarch64_function_profiler): Remove
        declaration of removed function.

From-SVN: r218582
2014-12-10 15:02:06 +00:00
Richard Biener 07faade69f 2014-12-10 Richard Biener <rguenther@suse.de>
* tree-ssa-loop-im.c
	 (move_computations_dom_walker::before_dom_children): Clear
	 SSA_NAME_RANGE_INFO on moved stmts.

From-SVN: r218580
2014-12-10 14:20:43 +00:00
Martin Liska d170435892 New sreal implementation which uses int64_t as m_sig.
* sreal.c (sreal::shift_right): New implementation
	for int64_t as m_sig.
	(sreal::normalize): Likewise.
	(sreal::to_int): Likewise.
	(sreal::operator+): Likewise.
	(sreal::operator-): Likewise.
	(sreal::operator*): Likewise.
	(sreal::operator/): Likewise.
	(sreal::signedless_minus): Removed.
	(sreal::signedless_plus): Removed.
	(sreal::debug): const keyword is added.
	* sreal.h (sreal::operator<): New implementation
	for int64_t as m_sig.
	* ipa-inline.c (recursive_inlining): LONG_MIN is replaced
	with sreal::min ().

From-SVN: r218579
2014-12-10 14:10:21 +00:00
Martin Liska 42c0b54df5 re PR ipa/63909 (ICE: SIGSEGV in ipa_icf_gimple::func_checker::compare_bb())
PR ipa/63909

        * gimple-iterator.h (gsi_start_bb_nondebug): New function.
	* ipa-icf-gimple.c (func_checker::compare_bb): Correct iteration
	replaces loop based on precomputed number of non-debug statements.
	* gcc.dg/ipa/pr63909.c: New test.

From-SVN: r218578
2014-12-10 14:07:47 +00:00
Alexander Ivchenko ef9b7fad36 linux.c (linux_has_ifunc_p): Remove.
gcc/
	* config/linux.c (linux_has_ifunc_p): Remove.
	* config/linux.h (TARGET_HAS_IFUNC_P): Use default version.

From-SVN: r218577
2014-12-10 13:49:19 +00:00
Varvara Rainchik f50eecba13 config.h.in: Regenerate.
libgomp/
        * config.h.in: Regenerate.
        * configure: Regenerate.
        * configure.ac: Add GCC_CHECK_EMUTLS.
        * libgomp.h: Add check for USE_EMUTLS: this case
        is equal to HAVE_TLS.
        * team.c: Likewise.

From-SVN: r218576
2014-12-10 13:42:20 +00:00
Mantas Mikaitis d0d7c35782 check_GNU_style.sh "80 characters exceeded" error fix
2014-12-10  Mantas Mikaitis  <mantas.mikaitis@arm.com>

	* contrib/check_GNU_style.sh (col): Got rid of cut operation
	from the pipe chain and instead added cut inside awk command.

From-SVN: r218575
2014-12-10 11:46:08 +00:00
Kai Tietz 73d1736364 re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)
PR c++/64127
	* g++.dg/cpp/pr64127.C: New file.

From-SVN: r218574
2014-12-10 12:32:00 +01:00
Kai Tietz e6f2df09a5 re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)
PR c++/64127
	* parser.c (cp_parser_diagnose_invalid_type_name): Check id
	for being an identifier before accessing it.

From-SVN: r218573
2014-12-10 12:29:22 +01:00
Kai Tietz 6cc92f7d80 re PR c++/64100 (A static assert using the the current class in a noexcept test leads to a segfault)
PR c++/64100
	* g++.dg/template/pr64100.C: New file.

From-SVN: r218572
2014-12-10 12:26:47 +01:00
Kai Tietz e383e095ce re PR c++/64100 (A static assert using the the current class in a noexcept test leads to a segfault)
PR c++/64100
	* typeck.c (lookup_destructor): Handle incomplete type.

From-SVN: r218571
2014-12-10 12:22:34 +01:00
Matthew Fortune e2c04e0888 ChangeLog fix for r218307
Remove entry from ChangeLog.
Insert entry into appropriate location of gcc/ChangeLog.

From-SVN: r218570
2014-12-10 10:40:41 +00:00
Richard Biener 128227683a re PR tree-optimization/64191 (indirect clobbers messes up dead code elimination in loop calling dtor)
2014-12-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64191
	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not
	mark clobbers as necessary.
	(eliminate_unnecessary_stmts): Keep clobbers live if we can.

	* g++.dg/pr64191.C: Make sure we can DCE empty loops with
	indirect clobbers.

From-SVN: r218566
2014-12-10 09:29:05 +00:00
Jakub Jelinek 092444af04 re PR target/63594 (ICE: in ix86_vector_duplicate_value, at config/i386/i386.c:39831 with -mavx512f)
PR target/63594
	* config/i386/sse.md (vec_dupv4sf): Move after
	<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name> pattern.
	(*vec_dupv4si, *vec_dupv2di): Likewise.
	(<mask_codefor><avx512>_vec_dup_mem<mode><mask_name>): Merge into ...
	(<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>): ... this
	pattern.
	(*vec_dup<mode> AVX2_VEC_DUP_MODE splitter): Disable for
	TARGET_AVX512VL (for QI/HI scalar modes only if TARGET_AVX512BW
	is set too).
	* config/i386/i386.c (enum ix86_builtins): Remove
	IX86_BUILTIN_PBROADCASTQ256_MEM_MASK,
	IX86_BUILTIN_PBROADCASTQ128_MEM_MASK and
	IX86_BUILTIN_PBROADCASTQ512_MEM.
	(bdesc_args): Use __builtin_ia32_pbroadcastq512_gpr_mask,
	__builtin_ia32_pbroadcastq256_gpr_mask and
	__builtin_ia32_pbroadcastq128_gpr_mask instead of *_mem_mask
	regardless of OPTION_MASK_ISA_64BIT.
	* config/i386/avx512fintrin.h (_mm512_set1_epi64,
	_mm512_mask_set1_epi64, _mm512_maskz_set1_epi64): Use *_gpr_mask
	builtins regardless of whether TARGET_64BIT is defined or not.
	* config/i386/avx512vlintrin.h (_mm256_mask_set1_epi64,
	_mm256_maskz_set1_epi64, _mm_mask_set1_epi64, _mm_maskz_set1_epi64):
	Likewise.

From-SVN: r218565
2014-12-10 10:00:50 +01:00
Jakub Jelinek f2864cc4e1 sse.md (*mov<mode>_internal, [...]): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
* config/i386/sse.md (*mov<mode>_internal, *avx512f_gatherdi<mode>_2):
	Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).

From-SVN: r218564
2014-12-10 09:44:46 +01:00
Oleg Endo da57182d07 re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
gcc/
	PR target/53513
	* doc/extend.texi (__builtin_sh_set_fpscr): Fix typo.

From-SVN: r218563
2014-12-10 08:31:32 +00:00
Marek Polacek 77e6008875 re PR tree-optimization/61686 (Incorrect check in comparison function range_entry_cmp() in tree_ssa_reassoc.c)
PR tree-optimization/61686
	* tree-ssa-reassoc.c (range_entry_cmp): Use q->high instead of
	p->high.

From-SVN: r218560
2014-12-10 08:20:43 +00:00
Kito Cheng 5d56a5854f libgcc.texi: Update text to match implementation in libgcc/libgcc2.c
* doc/libgcc.texi: Update text to match implementation in
	libgcc/libgcc2.c

From-SVN: r218559
2014-12-10 05:43:53 +00:00
Trevor Saunders 63f5d5b818 remove gengtype support for param_is use_param, if_marked and splay tree allocators
gcc/

	* plugin.c, plugin.def, ggc.h, ggc-common.c, gengtype.h, gengtype.c,
	gengtype-state.c, gengtype-parse.c, gentype-lex.l, gcc-plugin.h,
	doc/plugins.texi, doc/gty.texi: Remove support for if_marked and
	param_is.

include/

	* hashtab.h, splay-tree.h: Remove GTY markers.

From-SVN: r218558
2014-12-10 03:45:40 +00:00
Jason Merrill 59bce71381 re PR c++/64129 (ICE on invalid: in grokfndecl, at cp/decl.c:7658)
PR c++/64129
	* decl.c (grokdeclarator): Recover from variable template
	specialization declared as function.

From-SVN: r218557
2014-12-09 21:51:03 -05:00
Jason Merrill 9c78f8e605 re PR c++/64222 (error: ‘__FUNCTION__’ was not declared in this scope)
PR c++/64222
	* parser.c (cp_parser_unqualified_id): Don't declare fname while
	parsing function parms.

From-SVN: r218556
2014-12-09 21:50:54 -05:00
Jonathan Wakely 6789ccfa46 Implement LWG DR 2329 and DR 2332.
* include/bits/regex.h (regex_match, regex_search): LWG DR 2329,
	add deleted overloads for rvalue strings.
	(regex_iterator, regex_token_iterator): LWG DR 2332, add deleted
	constructors for rvalue regexes.
	* testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc: New.
	* testsuite/28_regex/algorithms/regex_search/dr2329_neg.cc: New.
	* testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc:
	New.
	* testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
	dr2332_neg.cc: New.

From-SVN: r218555
2014-12-10 01:37:37 +00:00
Ian Lance Taylor 2a664a279a compiler: Don't track fields in compiler-generated hash and eq funcs.
Also, lower field tracking calls.

From-SVN: r218554
2014-12-10 00:56:00 +00:00
Jonathan Wakely 9131b50960 future (__future_base::_Setter::operator(), [...]): Make call operators const.
* include/std/future (__future_base::_Setter::operator(),
	__future_base::_Task_setter::operator()): Make call operators const.

From-SVN: r218553
2014-12-10 00:39:37 +00:00
Jonathan Wakely d6f64424aa locale_facets.tcc (numpunct::_M_cache): Avoid calling virtual functions twice.
* include/bits/locale_facets.tcc (numpunct::_M_cache): Avoid calling
	virtual functions twice. Only update _M_allocated after all
	allocations have succeeded.
	* include/bits/locale_facets_nonio.tcc (moneypunct::_M_cache):
	Likewise.
	* include/bits/locale_facets_nonio.h (__timepunct::_M_cache): Remove
	unused declaration.

From-SVN: r218552
2014-12-10 00:21:37 +00:00
Oleg Endo 9c53a5b423 re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
gcc/
	PR target/53513
	* doc/extend.texi (__builtin_sh_get_fpscr, __builtin_sh_get_fpscr):
	Document it.

From-SVN: r218551
2014-12-10 00:21:36 +00:00
GCC Administrator a3ff84f2d4 Daily bump.
From-SVN: r218550
2014-12-10 00:16:28 +00:00
Bill Schmidt c293be1a19 re PR middle-end/64225 (-funsafe-math-optimizations generates call to pow where multiply instruction would do)
2014-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR middle-end/64225
	* tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation
	for BUILT_IN_POW when flag_errno_math is present.

From-SVN: r218546
2014-12-09 23:02:06 +00:00