Commit Graph

125285 Commits

Author SHA1 Message Date
Martin Jambor
a854f8566a re PR ipa/58389 (g++ ICE in ipa_find_reference)
2013-09-12  Martin Jambor  <mjambor@suse.cz>

	PR ipa/58389
	* ipa-prop.c (remove_described_reference): Give up if the edge in the
	reference descriptor is NULL.
	(ipa_edge_removal_hook): If owning a reference descriptor, set its
	edge to NULL.

testsuite/
	* g++.dg/pr58389.C: New test.

From-SVN: r202532
2013-09-12 17:20:05 +02:00
Paolo Carlini
274ddab613 re PR libstdc++/58403 (__normal_iterator triggers odr-use)
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/58403
	* include/bits/stl_iterator.h (__normal_iterator<>::operator[],
	operator+=, operator+, operator-=, operator-): Take the argument
	by value.
	* testsuite/24_iterators/normal_iterator/58403.cc: New.

From-SVN: r202531
2013-09-12 15:15:34 +00:00
Paolo Carlini
7480a018a5 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLo entry.

From-SVN: r202530
2013-09-12 14:22:32 +00:00
Paolo Carlini
c564f42db6 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r202529
2013-09-12 14:20:55 +00:00
Paolo Carlini
2dc6ed8700 semantics.c (finish_pseudo_destructor_expr): Add location_t parameter.
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* semantics.c (finish_pseudo_destructor_expr): Add location_t
	parameter.
	* pt.c (unify_arg_conversion): Use EXPR_LOC_OR_HERE.
	(tsubst_copy_and_build): Adjust finish_pseudo_destructor_expr
	calls.
	* parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
	(cp_parser_postfix_expression): Pass the proper location to
	cp_parser_postfix_dot_deref_expression.

/testsuite
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/template/pseudodtor2.C: Add column number to dg-error
	strings.
	* g++.dg/template/pseudodtor3.C: Likewise.

From-SVN: r202528
2013-09-12 13:49:18 +00:00
Andrew MacLeod
b12ebd96ba tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c (SSANAMES...
* tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
	(SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
	num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
	* tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
	make_temp_ssa_name): move to tree-ssanames.h
	* tree-ssa-alias.h: Move prototype.
	* tree-ssa.h: Include tree-ssanames.h.
	* tree-ssanames.c (FREE_SSANAMES): Move to here.
	* tree-ssanames.h: New.  Move items from tree-flow*.h
	* Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.

From-SVN: r202527
2013-09-12 13:30:31 +00:00
Gary Benson
0e2cd22d3d ChangeLog: Add missing file to two entries.
* libiberty/ChangeLog: Add missing file to two entries.

From-SVN: r202526
2013-09-12 13:27:46 +00:00
Richard Biener
e1fb4ad332 re PR tree-optimization/58404 (&noninvariant_address not forwproped into ->handled_component)
2013-09-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58404
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also
	propagate non-invariant addresses into dereferences wrapped
	in component references.

	* g++.dg/tree-ssa/pr58404.C: New testcase.

From-SVN: r202525
2013-09-12 13:20:17 +00:00
Richard Biener
154c91887b re PR middle-end/58402 (FAIL: gcc.dg/tree-ssa/phi-opt-1.c scan-tree-dump-times optimized "if" 0)
2013-09-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58402
	* passes.def: Move pass_late_warn_uninitialized later.

From-SVN: r202524
2013-09-12 13:19:21 +00:00
Andrew MacLeod
7a30045280 tree-ssa.h: New.
* tree-ssa.h: New.  Move content from tree-flow.h and
	tree-flow-inline.h.
	* tree-flow.h (_edge_var_map, edge_var_map_vector): Move to tree-ssa.h.
	Move prototypes belonging to tree-ssa.c.
	* tree-flow-inline.h (redirect_edge_var_map_def, 
	redirect_edge_var_map_result, redirect_edge_var_map_location): Move to
	tree-ssa.h.
	* gimple.h: Adjust prototypes.
	* tree-ssa.c (useless_type_conversion_p, types_compatible_p): Move to...
	* gimple.c (useless_type_conversion_p, types_compatible_p):  Here.
	* tree.h: Move prototype to tree-ssa.h.
	* gengtype.c (open_base_files): Replace tree-flow.h with tree-ssa.h.
	* Makefile.in: (TREE_SSA_H, TREE_FLOW_H): Adjust dependencies.
	* alias.c, asan.c, builtins.c, calls.c, cfgexpand.c, cfghooks.c,
	cfgloop.c, cfgloopmanip.c, cgraph.c, cgraphbuild.c, cgraphclones.c,
	cgraphunit.c, dse.c, except.c, expr.c, final.c, fold-const.c,
	ggc-page.c, gimple-fold.c, gimple-iterator.c, gimple-low.c,
	gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
	gimple-streamer-in.c, gimple-streamer-out.c, gimple.c, gimplify.c,
	graphite-blocking.c, graphite-clast-to-gimple.c, graphite-dependences.c,
	graphite-interchange.c, graphite-optimize-isl.c, graphite-poly.c,
	graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c,
	ipa-cp.c, ipa-inline-analysis.c, ipa-inline-transform.c, ipa-inline.c,
	ipa-prop.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa-utils.c,
	loop-init.c, lto-cgraph.c, lto-section-in.c, lto-section-out.c,
	lto-streamer-in.c, lto-streamer-out.c, lto-streamer.c, omp-low.c,
	passes.c, predict.c, print-tree.c, profile.c, sese.c, targhooks.c,
	tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
	tree-chrec.c, tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-eh.c,
	tree-emutls.c, tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
	tree-loop-distribution.c, tree-mudflap.c, tree-nested.c, tree-nrv.c,
	tree-object-size.c, tree-optimize.c, tree-outof-ssa.c, tree-parloops.c,
	tree-phinodes.c, tree-predcom.c, tree-pretty-print.c, tree-profile.c,
	tree-scalar-evolution.c, tree-sra.c, tree-ssa*.c, tree-stdarg.c,
	tree-streamer-in.c, tree-switch-conversion.c, tree-tailcall.c,
	tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
	tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
	tree-vect-stmts.c, tree-vectorizer.c, tree-vrp.c, tsan.c,
	value-prof.c, var-tracking.c,
	varpool.c, vtable-verify.c: Replace tree-flow.h with tree-ssa.h

From-SVN: r202523
2013-09-12 13:03:18 +00:00
Martin Jambor
33605886ff re PR ipa/58371 (internal compiler error: in ipcp_verify_propagated_values, at ipa-cp.c:892)
2013-09-12  Martin Jambor  <mjambor@suse.cz>

	PR ipa/58371
	* g++.dg/ipa/pr58371.C: New test.

From-SVN: r202522
2013-09-12 14:15:15 +02:00
Richard Biener
97463b2b87 re PR tree-optimization/58396 (heap-use-after-free at gcc/tree-loop-distribution.c:1959)
2013-09-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58396
	* tree-loop-distribution.c (create_rdg_edges): Free unused DDRs.
	(build_rdg): Take a loop-nest parameter, fix memleaks.
	(distribute_loop): Compute loop-nest here and pass it to build_rdg.

From-SVN: r202521
2013-09-12 11:18:46 +00:00
Yuri Rumyantsev
80ecd89dab x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE for SLM.
* config/i386/x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE
  for SLM.

From-SVN: r202520
2013-09-12 10:48:53 +00:00
Thomas Schwinge
46ae49e8a5 ChangeLog entry for
* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
        target_os and their host_ counterparts. Remove host_canonical and
        target_cpu_default, unused. Remove local ad-hoc computations of
        "host", "targ", "arch", "osys" and "manu". Replace uses of these by
        uses of the now imported family, hence back to filters against
        canonical values. Remove filters on e500 for target_cpu, expected to
        be canonicalized into powerpc. Invert the logic filtering on 64bit
        sparc for VxWorks. Simplify the filtering logic for bareboard tools
        target pairs, now using straight elf/eabi filters on the target_os
        part only.

From-SVN: r202519
2013-09-12 09:41:42 +00:00
Thomas Schwinge
69d9ba631b Makefile.in: Import target_cpu, target_vendor, target_os and their host_ counterparts.
2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
            Olivier Hainque  <hainque@adacore.com>

	* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
	target_os and their host_ counterparts. Remove host_canonical and
	target_cpu_default, unused. Remove local ad-hoc computations of
	"host", "targ", "arch", "osys" and "manu". Replace uses of these by
	uses of the now imported family, hence back to filters against
	canonical values. Remove filters on e500 for target_cpu, expected to
	be canonicalized into powerpc. Invert the logic filtering on 64bit
	sparc for VxWorks. Simplify the filtering logic for bareboard tools
	target pairs, now using straight elf/eabi filters on the target_os
	part only.

From-SVN: r202518
2013-09-12 09:35:54 +00:00
Cameron McInally
893e85fa0d extend.texi: Fix errors in x86 FMA builtin naming.
* doc/extend.texi: Fix errors in x86 FMA builtin naming.
	The FMA instruction names should have a 'v' prefix.

From-SVN: r202517
2013-09-12 11:23:08 +02:00
Richard Biener
174ec470af tree-loop-distribution.c (dot_rdg_1): Make graph prettier.
2013-09-12  Richard Biener  <rguenther@suse.de>

	* tree-loop-distribution.c (dot_rdg_1): Make graph prettier.
	(dot_rdg): Use popen instead of system in optional code.
	(remaining_stmts, upstream_mem_writes): Remove global bitmaps.
	(already_processed_vertex_p): Adjust.
	(has_anti_or_output_dependence, predecessor_has_mem_write,
	mark_nodes_having_upstream_mem_writes, has_upstream_mem_writes,
	rdg_flag_uses): Remove.
	(rdg_flag_vertex): Simplify.
	(rdg_flag_vertex_and_dependent): Rely on a correct RDG and
	remove recursion.
	(build_rdg_partition_for_component): Process the first vertex
	of a component only.
	(ldist_gen): Do not compute remaining_stmts or upstream_mem_writes.

	* gcc.dg/tree-ssa/ldist-4.c: Remove undefined behavior.  Adjust
	expected outcome and comment why that happens.

From-SVN: r202516
2013-09-12 08:49:01 +00:00
Alan Modra
38c89763f9 rs6000.c (toc_relative_expr_p): Use add_cint_operand.
* config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.

From-SVN: r202515
2013-09-12 12:17:05 +09:30
GCC Administrator
1543c0ac6f Daily bump.
From-SVN: r202514
2013-09-12 00:17:06 +00:00
DJ Delorie
3e3d9d17aa predicates.md (rl78_cmp_operator_signed): New.
* config/rl78/predicates.md (rl78_cmp_operator_signed): New.
(rl78_stack_based_mem): New.
* config/rl78/constraints.md (Iv08): New.
(Iv16): New.
(Iv24): New.
(Is09): New.
(Is17): New.
(Is25): New.
(ISsi): New.
(IShi): New.
(ISqi): New.
* config/rl78/rl78-expand.md (movqi): Reject more SUBREG operands.
(movhi): Likewise.
(movsi): Change from expand to insn-and-split.
(ashrsi3): Clobber AX.
(lshrsi3): New.
(ashlsi3): New.
(cbranchsi4): New.
* config/rl78/rl78.md (CC_REG): Fix.
(addsi3): Allow memory and immediate operands.
(addsi3_internal): Split into...
(addsi3_internal_virt): ...new, and ...
(addsi3_internal_real): ...new.
(subsi): New.
(subsi3_internal_virt): New.
(subsi3_internal_real): New.
(mulsi3): Add memory operand.
(mulsi3_rl78): Likewise.
(mulsi3_g13): Likewise.
* config/rl78/rl78-real.md (cbranchqi4_real_signed): New.
(cbranchqi4_real): Add more constraint options.
(cbranchhi4_real): Expand pattern.
(cbranchhi4_real_signed): New.
(cbranchhi4_real_inverted): New.
(cbranchsi4_real_lt): New.
(cbranchsi4_real_ge): New.
(cbranchsi4_real_signed): New.
(cbranchsi4_real): New.
(peephole2): New.
* config/rl78/rl78-virt.md (ashrsi3_virt): Add custom cases for constant shifts.
(lshrsi3_virt): Likewise.
(ashlsi3_virt): Likewise.
(cbranchqi4_virt_signed): New.
(cbranchhi4_virt_signed): New.
(cbranchsi4_virt): New.
* config/rl78/rl78.c: Whitespace fixes throughout.
(move_elim_pass): New.
(pass_data_rl78_move_elim): New.
(pass_rl78_move_elim): New.
(make_pass_rl78_move_elim): New.
(rl78_devirt_info): Run devirt earlier.
(rl78_move_elim_info): New.
(rl78_asm_file_start): Register it.
(rl78_split_movsi): New.
(rl78_as_legitimate_address): Allow virtual base registers when
appropriate.
(rl78_addr_space_convert): Remove spurious debug stuff.
(rl78_print_operand_1): Add z,s,S,r,E modifiers.
(rl78_print_operand): More cases for not printing '#'.
(rl78_expand_compare): Remove most of the logic.
(content_memory): New.
(clear_content_memory): New.
(get_content_index): New.
(get_content_name): New.
(display_content_memory): New.
(update_content): New.
(record_content): New.
(already_contains): New.
(insn_ok_now): Re-recog insns with virtual registers.
(add_postponed_content_update): New.
(process_postponed_content_update): New.
(gen_and_emit_move): New.
(transcode_memory_rtx): Record new location content.  Use
gen_and_emit_move.
(force_into_acc): New.
(move_to_acc): Use gen_and_emit_move.
(move_from_acc): Likewise.
(move_acc_to_reg): Likewise.
(move_to_x): Likewise.
(move_to_hl): Likewise.
(move_to_de): Likewise.
(rl78_alloc_physical_registers_op1): Record location content.
(has_constraint): New.
(rl78_alloc_physical_registers_op2): Record location content.
Optimize use of HL.
(rl78_alloc_physical_registers_ro1): Likewise.
(rl78_alloc_physical_registers_cmp): Likewise.
(rl78_alloc_physical_registers_umul): Likewise.
(rl78_alloc_address_registers_macax): New.
(rl78_alloc_physical_registers): Initialize and set location
content memory as needed.
(rl78_reorg): Make sure split2 is called.
(rl78_rtx_costs): New.

Co-Authored-By: Nick Clifton <nickc@redhat.com>

From-SVN: r202511
2013-09-11 20:16:03 -04:00
Mitsuru Kariya
4b47d65500 re PR libstdc++/58358 (search_n has a Complexity violation for random access iterator)
2013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
	    Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/58358
	* include/bits/stl_algo.h (search_n): Fix to guarantee a number
	of comparisons <= number of elements in the range.
	* testsuite/25_algorithms/search_n/58358.cc: New.
	* testsuite/25_algorithms/search_n/iterator.cc: Extend.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>

From-SVN: r202510
2013-09-11 22:24:50 +00:00
Richard Sandiford
088845a5f0 simplify-rtx.c (simplify_unary_operation_1): Use simplify_gen_binary for (not (neg ...)) and (neg (not ...)) cases.
gcc/
	* simplify-rtx.c (simplify_unary_operation_1): Use simplify_gen_binary
	for (not (neg ...)) and (neg (not ...)) cases.

From-SVN: r202506
2013-09-11 17:40:56 +00:00
Richard Biener
5c2961cf38 re PR c++/58377 (spurious "may be used uninitialized" warning with -Og)
2013-09-11  Richard Biener  <rguenther@suse.de>

	PR middle-end/58377
	* passes.def: Split critical edges before late uninit warning passes.
	* tree-cfg.c (pass_split_crit_edges): Implement clone method.

	* g++.dg/uninit-pred-4.C: New testcase.

From-SVN: r202496
2013-09-11 12:20:07 +00:00
Jakub Jelinek
427e6a1421 re PR middle-end/58385 (likely wrong code bug)
PR tree-optimization/58385
	* fold-const.c (build_range_check): If both low and high are NULL,
	use omit_one_operand_loc to preserve exp side-effects.

	* gcc.c-torture/execute/pr58385.c: New test.

From-SVN: r202494
2013-09-11 13:35:51 +02:00
Kyrylo Tkachov
df45c0cc8d arm.md (arm_shiftsi3): New alternative l/l/M.
[gcc/]

	* config/arm/arm.md (arm_shiftsi3): New alternative l/l/M.


[gcc/testsuite]	

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

From-SVN: r202493
2013-09-11 11:14:39 +00:00
Richard Biener
80ab0b1946 tree-data-ref.c (dump_rdg_vertex, [...]): Move ...
2013-09-11  Richard Biener  <rguenther@suse.de>

	* tree-data-ref.c (dump_rdg_vertex, debug_rdg_vertex,
	dump_rdg_component, debug_rdg_component, dump_rdg, debug_rdg,
	dot_rdg_1, dot_rdg, rdg_vertex_for_stmt, create_rdg_edge_for_ddr,
	create_rdg_edges_for_scalar, create_rdg_edges, create_rdg_vertices,
	stmts_from_loop, known_dependences_p, build_empty_rdg,
	build_rdg, free_rdg, rdg_defs_used_in_other_loops_p): Move ...
	* tree-loop-distribution.c: ... here.
	* tree-data-ref.h (struct rdg_vertex, RDGV_STMT, RDGV_DATAREFS,
	RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT, RDG_DATAREFS,
	RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT, enum rdg_dep_type,
	struct rdg_edge, RDGE_TYPE, RDGE_LEVEL, RDGE_RELATION): Move ...
	* tree-loop-distribution.c: ... here.
	* tree-loop-distribution.c: Include gimple-pretty-print.h.
	(struct partition_s): Add loops member.
	(partition_alloc, partition_free, rdg_flag_uses, rdg_flag_vertex,
	rdg_flag_vertex_and_dependent, rdg_flag_loop_exits,
	build_rdg_partition_for_component, rdg_build_partitions): Adjust.

From-SVN: r202492
2013-09-11 10:09:41 +00:00
Alexander Ivchenko
85a7722144 constraints.md (k): New.
* config/i386/constraints.md (k): New.
(Yk): Ditto.
* config/i386/i386.c (const regclass_map): Add new mask registers.
(dbx_register_map): Ditto.
(dbx64_register_map): Ditto.
(svr4_dbx_register_map): Ditto.
(ix86_conditional_register_usage): Squash mask registers if AVX512F is
disabled.
(ix86_preferred_reload_class): Disable constants for mask registers.
(ix86_secondary_reload): Do spill of mask register using 32-bit insn.
(ix86_hard_regno_mode_ok): Support new mask registers.
(x86_order_regs_for_local_alloc): Ditto.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Update.
(FIXED_REGISTERS): Add new mask registers.
(CALL_USED_REGISTERS): Ditto.
(REG_ALLOC_ORDER): Ditto.
(VALID_MASK_REG_MODE): New.
(FIRST_MASK_REG): Ditto.
(LAST_MASK_REG): Ditto.
(reg_class): Add MASK_EVEX_REGS, MASK_REGS.
(MAYBE_MASK_CLASS_P): New.
(REG_CLASS_NAMES): Add MASK_EVEX_REGS, MASK_REGS.
(REG_CLASS_CONTENTS): Ditto.
(MASK_REGNO_P): New.
(ANY_MASK_REG_P): Ditto.
(HI_REGISTER_NAMES): Add new mask registers.
* config/i386/i386.md (MASK0_REG, MASK1_REG, MASK2_REG,
MASK3_REG, MASK4_REG, MASK5_REG, MASK6_REG,
MASK7_REG): Constants for new mask registers.
(attribute "type"): Add mskmov, msklog.
(attribute "length_immediate"): Support them.
(attribute "memory"): Ditto.
(attribute "prefix_0f"): Ditto.
(*movhi_internal): Support new mask registers.
(*movqi_internal): Ditto.
(define_split): Split out clobber pattern is a logic
insn on mask registers.
(*k<logic><mode>): New.
(*andhi_1): Extend to support mask regs.
(*andqi_1): Extend to support mask regs.
(kandn<mode>): New.
(define_split): Split and-not to and and not if operands
are not mask regs.
(*<code><mode>_1): Separate HI mode to new pattern...
(*<code>hi_1): This.
(*<code>qi_1): Extend to support mask regs.
(kxnor<mode>): New.
(kortestzhi): Ditto.
(kortestchi): Ditto.
(kunpckhi): Ditto.
(*one_cmpl<mode>2_1): Remove HImode and handle it...
(*one_cmplhi2_1): ...Here, now with mask registers support.
(*one_cmplqi2_1): Support new mask registers.
(HI/QImode arithmetics splitter): Don't split if mask registers are used.
(HI/QImode not splitter): Ditto.
* config/i386/predicated.md (mask_reg_operand): New.
(general_reg_operand): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r202491
2013-09-11 07:32:30 +00:00
Alexander Ivchenko
7e57082152 *·doc/invoke.texi:·Document·fxsr,·xsave·and·xsaveopt·options.
*·doc/extend.texi:·Document·fxsr,·xsave·and·xsaveopt·builtins.

From-SVN: r202490
2013-09-11 07:21:15 +00:00
Jeff Law
9e1376e94d re PR tree-optimization/58380 (ice in fold_comparison)
PR tree-optimization/58380
	* tree-ssa-threadupdate.c (thread_block): Recognize another case
	of threading through a buried loop header.

	* tree-ssa-threadedge.c (thread_around_empty_blocks): Correct
	return value for single successor case.

	* g++.dg/torture/pr58380.C: New test.

2013-09-10  Jeff Law  <law@redhat.com>

From-SVN: r202489
2013-09-10 20:23:48 -06:00
Ed Smith-Rowland
df7d9dfde3 value.cc: Change template args from char to wchar_t, literals from 'x' to L'x'.
2013-09-10  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* testsuite/28_regex/traits/wchar_t/value.cc: Change template args
	from char to wchar_t, literals from 'x' to L'x'.

From-SVN: r202487
2013-09-11 01:27:31 +00:00
GCC Administrator
174a05526a Daily bump.
From-SVN: r202486
2013-09-11 00:16:45 +00:00
Jan Hubicka
5bbcb88835 * ipa-devirt.c (ipa_devirt): Enable with LTO.
From-SVN: r202482
2013-09-10 21:41:38 +00:00
Caroline Tice
db7ca3c021 Now that it's official, add myself back in as libvtv
maintainer.

From-SVN: r202481
2013-09-10 12:17:37 -07:00
Paolo Carlini
8b415b271e re PR bootstrap/58386 (libstdc++.so.6: undefined symbol: htab_hash_pointer)
2013-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR bootstrap/58386
	Revert:

	2013-09-10  Gary Benson  <gbenson@redhat.com>

	* cp-demangle.c: Include hashtab.h.
	(struct d_print_info): New field saved_scopes.
	(d_print_init): Initialize the above.
	(d_print_free): New function.
	(cplus_demangle_print_callback): Call the above.
	(struct d_saved_scope): New structure.
	(d_store_scope): New function.
	(d_free_scope) Likewise.
	(d_restore_scope) Likewise.
	(d_hash_saved_scope) Likewise.
	(d_equal_saved_scope) Likewise.
	(d_print_comp): New variable saved_scope.
	[DEMANGLE_COMPONENT_REFERENCE,
	DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
	time the component is traversed, and use the captured scope for
	subsequent traversals.

From-SVN: r202480
2013-09-10 18:45:29 +00:00
Richard Earnshaw
d742ff4ba1 re PR target/58361 (Wrong floating point code generated for ARM target)
PR target/58361
	* arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
	support conditional execution.
	(combine_vcvt_f64_<FCVTI32typename>): Likewise.

From-SVN: r202475
2013-09-10 16:46:55 +00:00
Kai Tietz
1329f0c4e2 Add PR's section
From-SVN: r202473
2013-09-10 18:18:34 +02:00
Kai Tietz
6da10826b2 gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS* like in gnu.ver.
PR/54314
	* config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
	like in gnu.ver.

From-SVN: r202472
2013-09-10 18:17:25 +02:00
Caroline Tice
747fed27cc To prevent further confusion, remove myself as libvtv
maintainer until (if) I am officially approved as such.

From-SVN: r202471
2013-09-10 09:10:28 -07:00
H.J. Lu
f5ebad64c9 Move VTV_SUPPORTED check after AC_CANONICAL_SYSTEM
PR other/58374
	* configure.ac: Move VTV_SUPPORTED check after AC_CANONICAL_SYSTEM.
	* configure: Regenerated.

From-SVN: r202470
2013-09-10 09:00:13 -07:00
Vladimir Makarov
b0681c9e51 lra.c (lra): Clear lra_optional_reload_pseudos before every constraint pass.
2013-09-10  Vladimir Makarov  <vmakarov@redhat.com>

	* lra.c (lra): Clear lra_optional_reload_pseudos before every
	constraint pass.
	* lra-constraints.c (curr_insn_transform): Switch on optional
	reloads.  Check destination too to check move insn.
	(undo_optional_reloads): Add check that the original peudo did not
	changed its allocation and the optional reload was inherited on
	last inheritance pass.  Break loop after deciding to keep optional
	reload.
	(lra_undo_inheritance): Add check that inherited pseudo still in
	memory.

From-SVN: r202468
2013-09-10 15:37:57 +00:00
Arnaud Charlet
14c3433049 [multiple changes]
2013-09-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb: sem_ch3.adb:
	(Replace_Anonymoous_Access_To_Protected_Subprogram): If the
	return type is itself an access to function, recurse to emit
	another anonymous type.
	gcc-interface/decl.c (gnat_to_gnu_entity): In ASIS mode
	(type_annotate_only) do not check whether access types have a set size.

2013-09-10  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode.
	* errout.adb (Warning_Doc_Switch): Ignored in VMS mode.
	* errout.ads (Warning_Doc_Switch): Ignored in VMS mode.
	* inline.ads (Warnings): New component in Pending_Body_Info.
	* sem_ch12.adb (Pending_Body_Info): Save and restore warnings
	at instantiation point.
	* warnsw.adb (Save_Warnings): New function (Restore_Warnings):
	New procedure Remove special handling of Warning_Doc_Switch,
	cleaner to handle the VMS case in errout, than to introduce
	undocumented oddities here.
	* warnsw.ads (Warning_Record) : New type.
	(Save_Warnings): New function.
	(Restore_Warnings): New procedure.

From-SVN: r202467
2013-09-10 17:30:44 +02:00
Arnaud Charlet
fb620b37de [multiple changes]
2013-09-10  Robert Dewar  <dewar@adacore.com>

	* sinput.adb (Check_For_BOM): Avoid reading past end of file.

2013-09-10  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Error_Msg_Ada_2012_Feature): New procedure.
	* errout.ads (Error_Msg_Ada_2012_Feature): New procedure.
	* inline.ads: Save/Restore Ada_Version_Pragma.
	* opt.adb: Save/Restore Ada_Version_Pragma.
	* opt.ads (Ada_Version_Pragma): New variable.
	* par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb, par-ch5.adb,
	par-ch6.adb, par-ch8.adb, par-prag.adb: Use Error_Msg_Ada_2012_Feature.
	* prj.adb: Initialize Ada_Version_Pragma.
	* sem_attr.adb: Use Error_Msg_Ada_2012_Feature.
	* sem_ch12.adb, sem_ch8.adb: Save/restore Ada_Version_Pragma.
	* sem_prag.adb (Analyze_Pragma, cases Ada_xx): Set Ada_Version_Pragma.
	* switch-c.adb: Initialize Ada_Version_Pragma.
	* sem_ch12.adb: Minor reformatting.

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Process_Subtype): Discard constraint on access
	to class-wide type. Such constraints are not supported and are
	considered a language pathology.

From-SVN: r202466
2013-09-10 17:21:28 +02:00
Robert Dewar
ac40189179 gnatbind.adb: Correct starting date in --version string.
2013-09-10  Robert Dewar  <dewar@adacore.com>

	* gnatbind.adb: Correct starting date in --version string.
	* gnatdll.adb: Use Check_Version_And_Help_G to implement --help
	and --version.
	* gnatkr.adb: Use Check_Version_And_Help_G to implement --help
	and --version.
	* gnatlink.adb: Correct starting date in --version string.
	* gnatls.adb: Correct starting date in --version string.
	* make.adb: Correct starting date in --version string.

From-SVN: r202465
2013-09-10 17:17:44 +02:00
Robert Dewar
f2c0ca6632 switch-c.adb: Minor reformatting.
2013-09-10  Robert Dewar  <dewar@adacore.com>

	* switch-c.adb: Minor reformatting.
	* atree.ads (Original_Nodes): Add documentation on ASIS usage.
	* sinfo.ads: Add section on ASIS mode (documentation only).

From-SVN: r202464
2013-09-10 17:16:41 +02:00
Robert Dewar
7b64b700f2 sem_prag.adb (Analyze_Pragma, [...]): Don't allow REASON parameter in compiler units (bootstrap issues).
2013-09-10  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Warnings): Don't allow
	REASON parameter in compiler units (bootstrap issues).

2013-09-10  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Output warning if
	-gnateE specified for a target that does not support it.

From-SVN: r202463
2013-09-10 17:15:20 +02:00
Arnaud Charlet
80e59506c2 [multiple changes]
2013-09-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Handle properly
	a subprogram body without previous spec.

2013-09-10  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb: Minor typo fixes.

2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb (Aspects_On_Body_OK): New routine.
	* aspects.ads: Modify type Aspect_Expression to include
	the Optional_XXX variants. Update the contents of
	table Aspect_Argument. Add table Aspect_On_Body_OK.
	(Aspects_On_Body_OK): New routine.
	* par-ch13.adb (Get_Aspect_Specifications): Account for optional
	names and expressions when parsing an aspect.
	* sem_ch6.adb: Add with and use clause for Aspects.
	(Analyze_Subprogram_Body_Helper): Do not emit an error when
	analyzing a body with aspects that can be applied simultaneously
	to both spec and body.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
	corresponding pragma of an aspect that applies to a subprogram
	body in the declarative part.
	(Make_Aitem_Pragma): Do not generate a pragma with an empty argument
	list.

From-SVN: r202462
2013-09-10 17:12:42 +02:00
Arnaud Charlet
4bb9c7b9ed [multiple changes]
2013-09-10  Robert Dewar  <dewar@adacore.com>

	* switch-c.adb: Diagnose -gnatc given after -gnatRm.
	* gnat_ugn.texi: Add documentation for -gnatRm.
	* usage.adb: Minor reorganization (put style entries in proper
	order) Document -gnatRm switch.
	* sinfo.ads: Minor comment fix.

2013-09-10  Sergey Rybin  <rybin@adacore.com frybin>

	* tree_io.ads: Update ASIS_Version_Number.

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Subprogram_Declaration): Check whether the
	designated type can appear in a parameterless call.
	* sem_ch4.adb (Analyze_Call): Do not insert an explicit dereference
	in the case of an indirect call through an access function that
	returns an array type.
	(Analyze_One_Call): Handle properly legal parameterless calls
	whose result is indexed, in constructs of the for F.all (I)
	* sem_ch6.ads (May_Need_Actuals): Make public, for use on access
	to subprogram types.
	* sem_res.adb (Resolve_Call): If the call is indirect, there is
	no entity to set on the name in the call.

From-SVN: r202461
2013-09-10 17:09:33 +02:00
Arnaud Charlet
cdcf1c7ae2 [multiple changes]
2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Add entries in the Has_Aspect_Specifications_Flag
	table for package body and body stubs.
	(Move_Or_Merge_Aspects): New routine.
	(Remove_Aspects): New routine.
	* aspects.ads (Move_Aspects): Update comment on usage.
	(Move_Or_Merge_Aspects): New routine.
	(Remove_Aspects): New routine.
	* par-ch3.adb: Update the grammar of private_type_declaration,
	private_extension_declaration, object_renaming_declaration,
	and exception_renaming_declaration.
	(P_Subprogram): Parse the
	aspect specifications that apply to a body stub.
	* par-ch6.adb: Update the grammar of subprogram_body_stub and
	generic_instantiation.
	* par-ch7.adb: Update the grammar of package_declaration,
	package_specification, package_body, package_renaming_declaration,
	package_body_stub.
	(P_Package): Parse the aspect specifications
	that apply to a body, a body stub and package renaming.
	* par-ch9.adb: Update the grammar of entry_declaration,
	protected_body, protected_body_stub, task_body,
	and task_body_stub.
	(P_Protected): Add local variable
	Aspect_Sloc. Add local constant Dummy_Node.  Parse the aspect
	specifications that apply to a protected body and a protected
	body stub.
	(P_Task): Add local variable Aspect_Sloc. Add local
	constant Dummy_Node. Parse the aspect specifications that apply
	to a task body and a task body stub.
	* par-ch12.adb: Update the grammar of
	generic_renaming_declaration.
	(P_Generic): Parse the aspect
	specifications that apply to a generic renaming.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not emit
	an error when analyzing aspects that apply to a body stub. Such
	aspects are relocated to the proper body.
	* sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the aspect
	specifications that apply to a body.
	* sem_ch9.adb (Analyze_Protected_Body): Warn about user-defined
	aspects not being supported on protected bodies. Remove the
	aspect specifications.	(Analyze_Single_Protected_Declaration):
	Analyze the aspects that apply to a single protected declaration.
	(Analyze_Task_Body): Warn about user-defined aspects not being
	supported on task bodies. Remove the aspect specifications.
	* sem_ch10.adb: Add with and use clause for Aspects.
	(Analyze_Package_Body_Stub): Propagate the aspect specifications
	from the stub to the proper body.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
	corresponding pragma of an aspect that applies to a body in the
	declarations of the body.
	* sinfo.ads: Update the gramma of expression_function,
	private_type_declaration, private_extension_declaration,
	object_renaming_declaration, exception_renaming_declaration,
	package_renaming_declaration, subprogram_renaming_declaration,
	generic_renaming_declaration, entry_declaration,
	subprogram_body_stub, package_body_stub, task_body_stub,
	generic_subprogram_declaration.

2013-09-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Add processing
	for aspect/pragma SPARK_Mode when it applies to a [library-level]
	subprogram or package [body].

2013-09-10  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document that -gnatc and -gnatR cannot be
	given together.
	* switch-c.adb (Scan_Front_End_Switches): Give error if both
	-gnatR and -gnatc given.

2013-09-10  Robert Dewar  <dewar@adacore.com>

	* g-table.ads, g-table.adb (For_Each): New generic procedure
	(Sort_Table): New generic procedure.

From-SVN: r202460
2013-09-10 17:05:40 +02:00
Arnaud Charlet
3699edc41f [multiple changes]
2013-09-10  Thomas Quinot  <quinot@adacore.com>

	* adaint.c (__gnat_is_executable_file_attr): Should be true
	for an executable regular file only only (not for a directory
	that has the executable permission).

2013-09-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb: Further work on operator calls in ASIS.

2013-09-10  Yannick Moy  <moy@adacore.com>

	* sinfo.ads, sem_prag.ads, sem_ch13.adb: Minor correction and comment
	update.

From-SVN: r202459
2013-09-10 17:02:33 +02:00
Thomas Quinot
860917b625 aspects.ads, [...]: Minor reformatting.
2013-09-10  Thomas Quinot  <quinot@adacore.com>

	* aspects.ads, sem_ch13.adb: Minor reformatting.
	* adaint.c (__gnat_set_close_on_exec): Add comment documenting
	that this routine is shared between OS_Lib and Sockets.

From-SVN: r202458
2013-09-10 16:58:22 +02:00