Commit Graph

125505 Commits

Author SHA1 Message Date
Tom Tromey 8c796d19cf * Makefile.in (c-family/cppspec.o, c-family/c-common.o)
(c-family/c-cppbuiltin.o, c-family/c-dump.o, c-family/c-format.o)
	(c-family/c-gimplify.o, c-family/c-lex.o, c-family/c-omp.o)
	(c-family/c-opts.o, c-family/c-pch.o, c-family/c-ppoutput.o)
	(c-family/c-pragma.o, c-family/c-pretty-print.o)
	(c-family/c-semantics.o, c-family/c-ada-spec.o)
	(c-family/array-notation-common.o, c-family/stub-objc.o)
	(c-family/c-ubsan.o): Remove.

From-SVN: r202903
2013-09-25 16:25:32 +00:00
Tom Tromey 76af5b38b5 Make-lang.in (jvspec.o): Remove.
* Make-lang.in (jvspec.o): Remove.
	(CFLAGS-java/jvspec.o): New variable.
	($(XGCJ)$(exeext), java_OBJS): Use java/jvspec.o
	(java/jvspec.o-warn): Rename from jvspec.o-warn.
	(JAVA_TREE_H, java/jcf-dump.o, java/boehm.o, java/builtins.o)
	(java/class.o, java/constants.o, java/decl.o, java/except.o)
	(java/expr.o, java/jcf-depend.o, java/jcf-parse.o)
	(java/jvgenmain.o, java/lang.o, java/mangle.o, java/mangle_name.o)
	(java/resource.o java/typeck.o, java/win32-host.o)
	(java/verify-glue.o, java/verify-impl.o, java/zextract.o)
	(java/java-gimplify.o, java/jcf-io.o, java/jcf-path.o): Remove.

From-SVN: r202902
2013-09-25 16:24:30 +00:00
Tom Tromey 694e859ad1 Make-lang.in (CXX_TREE_H, [...]): Remove.
gcc/cp
	* Make-lang.in (CXX_TREE_H, CXX_PARSER_H, CXX_PRETTY_PRINT_H):
	Remove.
gcc/objcp
	* Make-lang.in (START_HDRS, cc1objplus-checksum.o)
	(objcp/objcp-lang.o, objcp/objcp-decl.o
	(objcp/objc-runtime-shared-support.o)
	(objcp/objc-gnu-runtime-abi-01.o objcp/objc-next-runtime-abi-01.o)
	(objcp/objc-next-runtime-abi-02.o, objcp/objcp-act.o)
	(objcp/objc-encoding.o, objcp/objc-map.o): Use COMPILE and
	POSTCOMPILE.  Remove explicit dependencies.

From-SVN: r202901
2013-09-25 16:23:02 +00:00
Tom Tromey 26d78376db * Make-lang.in (START_HDRS, cc1obj-checksum.o, objc/objc-lang.o)
(objc/objc-runtime-shared-support.o)
	(objc/objc-gnu-runtime-abi-01.o, objc/objc-next-runtime-abi-01.o)
	(objc/objc-next-runtime-abi-02.o, objc/objc-act.o)
	(objc/objc-encoding.o, objc/objc-map.o): Remove.

From-SVN: r202900
2013-09-25 16:21:42 +00:00
Tom Tromey 84394ee172 Make-lang.in (g++spec.o): Remove.
* Make-lang.in (g++spec.o): Remove.
	(CFLAGS-cp/g++spec.o): New variable.
	(GXX_OBJS): Reference cp/g++spec.o.
	(cc1plus-checksum.o, cp/lex.o, cp/cp-array-notation.o)
	(cp/cp-lang.o, cp/decl.o, cp/decl2.o, cp/cp-objcp-common.o)
	(cp/typeck2.o, cp/typeck.o, cp/class.o, cp/call.o)
	(cp/friend.o, cp/init.o, cp/method.o, cp/cvt.o, cp/search.o)
	(cp/tree.o, cp/ptree.o, cp/rtti.o, cp/except.o, cp/expr.o)
	(cp/pt.o, cp/error.o, cp/repo.o, cp/semantics.o, cp/dump.o)
	(cp/optimize.o, cp/mangle.o, cp/parser.o, cp/cp-gimplify.o)
	(cp/name-lookup.o, cp/cxx-pretty-print.o): Remove.

From-SVN: r202899
2013-09-25 16:19:43 +00:00
Tom Tromey 0a6c222704 Makefile.in (C_TREE_H): Reference c/c-tree.h.
* Makefile.in (C_TREE_H): Reference c/c-tree.h.
gcc/c
	* Make-lang.in (c/gccspec.o): Remove.
	(CFLAGS-c/gccspec.o): New variable.
	(cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
	(c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
	(c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.

From-SVN: r202898
2013-09-25 16:18:20 +00:00
Tom Tromey f3bc55f038 Makefile.in (DRIVER_DEFINES): Use $(and), not shell code, to add -DENABLE_SHARED_LIBGCC.
* Makefile.in (DRIVER_DEFINES): Use $(and), not shell code,
	to add -DENABLE_SHARED_LIBGCC.
	(gcc.o): Don't use subshell.
gcc/c
	* Make-lang.in (c/gccspec.o): Don't use subshell.
gcc/cp
	* Make-lang.in (g++spec.o): Don't use subshell.
gcc/fortran
	* Make-lang.in (gfortranspec.o): Don't use subshell.
gcc/go
	* Make-lang.in (gospec.o): Don't use subshell.
gcc/java
	* Make-lang.in (jvspec.o): Don't use subshell.

From-SVN: r202897
2013-09-25 16:15:59 +00:00
Tom Tromey c11c795e4b Makefile.in (OUTPUT_OPTION): Define as "-o $@".
* Makefile.in (OUTPUT_OPTION): Define as "-o $@".
	* configure.ac: Don't invoke AM_PROG_CC_C_O.
	(NO_MINUS_C_MINUS_O, OUTPUT_OPTION): Don't subst.
	* configure, config.in: Rebuild.
gcc/ada
	* gcc-interface/Makefile.in (OUTPUT_OPTION): Define as "-o $@".

From-SVN: r202896
2013-09-25 16:10:35 +00:00
Tom Tromey 043378c308 (clh 9)
From-SVN: r202895
2013-09-25 15:55:01 +00:00
Tom Tromey eab34643d4 (clh 5)
From-SVN: r202894
2013-09-25 15:52:30 +00:00
Tom Tromey d2db5e91c2 (clh 6)
From-SVN: r202893
2013-09-25 15:51:26 +00:00
Jeff Law af33629e0a tree-ssa-threadedge.c (thread_across_edge): Use foo.last () rather than foo[foo.length () - 1] to access last member in a vec.
* tree-ssa-threadedge.c (thread_across_edge): Use foo.last () rather
        than foo[foo.length () - 1] to access last member in a vec.
        * tree-ssa-threadupdate.c (register_jump_thread): Similarly.

From-SVN: r202892
2013-09-25 09:33:34 -06:00
Richard Biener ed0d30514f re PR bootstrap/58521 (bootstrap failure: ICE in mem_ref_in_stmt, at tree-ssa-loop-im.c:677)
2013-09-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/58521
	* tree.c (iterative_hash_expr): Remove MEM_REF special handling.

From-SVN: r202889
2013-09-25 09:51:13 +00:00
Jan Hubicka 123485ca22 cgraph.c (cgraph_resolve_speculation): Use semantical equivalency test.
* cgraph.c (cgraph_resolve_speculation): Use semantical equivalency
	test.

From-SVN: r202888
2013-09-25 09:48:55 +00:00
Marek Polacek d70b0f1f22 re PR sanitizer/58420 (internal compiler error: in ubsan_type_descriptor, at ubsan.c:280)
PR sanitizer/58420
	* ubsan.c (ubsan_type_descriptor): Handle IDENTIFIER_NODEs
	when determining the type name.

From-SVN: r202887
2013-09-25 09:04:20 +00:00
Marek Polacek b56e978833 re PR sanitizer/58413 (ubsan constant folding)
PR sanitizer/58413
c-family/
	* c-ubsan.c (ubsan_instrument_shift): Don't instrument
	an expression if we can prove it is correct.
	(ubsan_instrument_division): Likewise.  Remove unnecessary
	check.
testsuite/
	* c-c++-common/ubsan/shift-5.c: New test.
	* c-c++-common/ubsan/shift-6.c: New test.
	* c-c++-common/ubsan/div-by-zero-5.c: New test.
	* gcc.dg/ubsan/c-shift-1.c: New test.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r202886
2013-09-25 08:58:57 +00:00
Marek Polacek 550dfe7f28 re PR c++/58516 (ICE with __transaction_atomic)
PR c++/58516
cp/
	* semantics.c (finish_transaction_stmt): Check for EXPR_P before
	setting the expr location.

testsuite/
	* g++.dg/tm/pr58516.C: New test.

From-SVN: r202883
2013-09-25 07:48:47 +00:00
Ian Lance Taylor 28d18db363 compiler: don't permit nil assignment to blank identifier.
Fixes https://code.google.com/p/go/issues/detail?id=6005.

From-SVN: r202881
2013-09-25 03:28:06 +00:00
GCC Administrator 6a9502fdf9 Daily bump.
From-SVN: r202879
2013-09-25 00:17:32 +00:00
Oleg Endo e3f027988c sh.md: Fix formatting.
* config/sh/sh.md: Fix formatting.

From-SVN: r202876
2013-09-24 22:18:37 +00:00
Xinliang David Li 4f17aa0b9d Implement --param=vect-max-peeling-for-alignment=..
From-SVN: r202875
2013-09-24 20:44:03 +00:00
Caroline Tice 114f3eb91d Update libvtv to install header files in standard
location rather than top level include dir.

From-SVN: r202873
2013-09-24 12:29:28 -07:00
Kyrylo Tkachov aec2eae65f target-supports.exp (check_effective_target_arm_cond_exec): New procedure.
[gcc/testsuite/]
2013-09-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * lib/target-supports.exp (check_effective_target_arm_cond_exec):
    New procedure.
    * gcc.target/arm/minmax_minus.c: Check for cond_exec target.

From-SVN: r202872
2013-09-24 17:23:43 +00:00
Christophe Lyon 0498471be6 gimple-pretty-print.c: Various whitespace tweaks.
2013-09-24  Christophe Lyon  <christophe.lyon@linaro.org>

	* gimple-pretty-print.c: Various whitespace tweaks.
	* tree-core.h: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssanames.c: Likewise.
	* tree-ssanames.h: Likewise.
	* tree-vrp.c: Likewise.

From-SVN: r202869
2013-09-24 17:57:00 +02:00
Alan Modra 5a8c2b571c re PR middle-end/57134 (ICE with -mstrict-align and inline assembly on ppc64)
PR middle-end/57134
	PR middle-end/57586
	* stmt.c (expand_asm_operands): Call expand_expr with
	EXPAND_MEMORY for output operands that disallow regs.  Don't
	use EXPAND_WRITE on inout operands.

From-SVN: r202866
2013-09-24 21:02:28 +09:30
Richard Biener f40333afeb re PR tree-optimization/58513 (*var and MEM[(const int &)var] (var has int* type) are not treated as the same data ref.)
2013-09-24  Richard Biener  <rguenther@suse.de>

	PR middle-end/58513
	* tree.c (reference_alias_ptr_type): Move ...
	* alias.c (reference_alias_ptr_type): ... here and implement
	in terms of the new reference_alias_ptr_type_1.
	(ref_all_alias_ptr_type_p): New helper.
	(get_deref_alias_set_1): Drop flag_strict_aliasing here,
	use ref_all_alias_ptr_type_p.
	(get_deref_alias_set): Add flag_strict_aliasing check here.
	(reference_alias_ptr_type_1): New function, split out from ...
	(get_alias_set): ... here.
	(alias_ptr_types_compatible_p): New function.
	* alias.h (reference_alias_ptr_type): Declare.
	(alias_ptr_types_compatible_p): Likewise.
	* tree.h (reference_alias_ptr_type): Remove.
	* fold-const.c (operand_equal_p): Use alias_ptr_types_compatible_p
	to compare MEM_REF alias types.

	* g++.dg/vect/pr58513.cc: New testcase.

From-SVN: r202865
2013-09-24 11:04:04 +00:00
Richard Biener 583e8bf5d0 tree-vrp.c (vrp_finalize): Check for SSA name presence.
2013-09-24  Richard Biener  <rguenther@suse.de>

	* tree-vrp.c (vrp_finalize): Check for SSA name presence.

From-SVN: r202863
2013-09-24 10:37:28 +00:00
Marc Glisse 63ebd8f129 re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
2013-09-24  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/58338
	PR libstdc++/56166
	* include/bits/basic_string.h (basic_string)
	[basic_string(basic_string&&)]: Make the noexcept conditional.
	[operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
	[begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
	[pop_back]: Comment on the lack of noexcept.
	* include/debug/string (basic_string) [basic_string(const _Allocator&),
	basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
	operator[](size_type), pop_back]: Comment out noexcept, until vstring
	replaces basic_string.

From-SVN: r202861
2013-09-24 10:07:32 +00:00
Yvan Roux fae205619d atomic-comp-swap-release-acquire.c: Adjust expected output.
2013-09-24  Yvan Roux  <yvan.roux@linaro.org>

	* gcc.target/arm/atomic-comp-swap-release-acquire.c: Adjust expected 
	output.

From-SVN: r202860
2013-09-24 08:39:55 +00:00
Michael Meissner 19c3e79775 0;261;0c2013-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_vector_reload): Delete, combine
	reload helper function arrays into a single array reg_addr.
	(reload_fpr_gpr): Likewise.
	(reload_gpr_vsx): Likewise.
	(reload_vsx_gpr): Likewise.
	(struct rs6000_reg_addr): Likewise.
	(reg_addr): Likewise.
	(rs6000_debug_reg_global): Change rs6000_vector_reload,
	reload_fpr_gpr, reload_gpr_vsx, reload_vsx_gpr uses to reg_addr.
	(rs6000_init_hard_regno_mode_ok): Likewise.
	(rs6000_secondary_reload_direct_move): Likewise.
	(rs6000_secondary_reload): Likewise.

From-SVN: r202859
2013-09-24 03:35:46 +00:00
Tim Shen c2669da93d Makefile.am: Add regex.tcc.
2013-09-24  Tim Shen  <timshen91@gmail.com>

	* include/Makefile.am: Add regex.tcc.
	* include/Makefile.in: Regenerate.
	* include/bits/regex.h: Remove definitions to regex.tcc.
	* include/bits/regex.tcc: New.
	(match_results::format, regex_replace): Implement;
	* include/bits/regex_compiler.h: Move _M_flags to the top of class
	member list, because other members' initialization depend on it.
	* include/bits/regex_compiler.tcc
	(_Compiler<>::_Compiler): Adjust member initializations.
	(_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
	* include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
	In the future, all regex classes may refactor to *Impl style.
	* include/bits/regex_executor.tcc (_Executor::_M_set_results):
	Merge identical code from _*Executor classes.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
	caller for new __get_executors interface.
	* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
	New.
	* testsuite/28_regex/match_results/format.cc: New.
	* testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
	testcase.
	* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.

From-SVN: r202858
2013-09-24 02:05:00 +00:00
GCC Administrator 5704e02240 Daily bump.
From-SVN: r202854
2013-09-24 00:16:43 +00:00
Adam Butcher ef4369671c Fix 58500.
gcc/cp/
	PR c++/58500
	* type-utils.h (find_type_usage): Only traverse one type level into
	member function pointers.

gcc/testsuite/
	PR c++/58500
	* g++.dg/cpp1y/pr58500.C: New testcase.

From-SVN: r202851
2013-09-23 23:43:44 +01:00
Adam Butcher 7a9a6e2449 Fix instantiation of implicit function template forward declarations.
* parser.c (cp_parser_init_declarator): Defer calling
	finish_fully_implicit_template for forward declarations until after
	other decl processing is complete.  Cleanup for clarity: Extract 'else'
	case after 'if' containing unconditional return.

From-SVN: r202850
2013-09-23 23:43:34 +01:00
Adam Butcher 1a4109b685 Generate more intuitive name for 'auto' parameters.
* parser.c (make_generic_type_name): Spell generic type names '<autoN>'
	rather than '__GenN'.

From-SVN: r202849
2013-09-23 23:43:25 +01:00
Adam Butcher 162b25fa1b Support nested generic lambdas.
* lambda.c (maybe_add_lambda_conv_op): Don't check for instantiated
	callop in the case of generic lambdas.

From-SVN: r202848
2013-09-23 23:43:15 +01:00
Adam Butcher 707df8ad64 Use translation-unit-global rather than parameter-list-local counter for generic type names to facilitate nested implicit function templates.
* parser.c (make_generic_type_name): Use global count rather than
	parameter and ...
	(add_implicit_template_parms): ... propagate interface change here.

From-SVN: r202847
2013-09-23 23:43:06 +01:00
Michael Meissner 5e8586d720 rs6000.h (enum r6000_reg_class_enum): Add new constraints: wu, ww, and wy.
2013-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add new
	constraints: wu, ww, and wy.  Repurpose wv constraint added during
	power8 changes.  Put wg constraint in alphabetical order.

	* config/rs6000/rs6000.opt (-mvsx-scalar-float): New debug switch
	for future work to add ISA 2.07 VSX single precision support.
	(-mvsx-scalar-double): Change default from -1 to 1, update
	documentation comment.
	(-mvsx-scalar-memory): Rename debug switch to -mupper-regs-df.
	(-mupper-regs-df): New debug switch to control whether DF values
	can go in the traditional Altivec registers.
	(-mupper-regs-sf): New debug switch to control whether SF values
	can go in the traditional Altivec registers.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print wu, ww,
	and wy constraints.
	(rs6000_init_hard_regno_mode_ok): Use ssize_t instead of int for
	loop variables.  Rename -mvsx-scalar-memory to -mupper-regs-df.
	Add new constraints, wu/ww/wy.  Repurpose wv constraint.
	(rs6000_debug_legitimate_address_p): Print if we are running
	before, during, or after reload.
	(rs6000_secondary_reload): Add a comment.
	(rs6000_opt_masks): Add -mupper-regs-df, -mupper-regs-sf.

	* config/rs6000/constraints.md (wa constraint): Sort w<x>
	constraints.  Update documentation string.
	(wd constraint): Likewise.
	(wf constraint): Likewise.
	(wg constraint): Likewise.
	(wn constraint): Likewise.
	(ws constraint): Likewise.
	(wt constraint): Likewise.
	(wx constraint): Likewise.
	(wz constraint): Likewise.
	(wu constraint): New constraint for ISA 2.07 SFmode scalar
	instructions.
	(ww constraint): Likewise.
	(wy constraint): Likewise.
	(wv constraint): Repurpose ISA 2.07 constraint that we not used in
	the previous submissions.
	* doc/md.texi (PowerPC and IBM RS6000): Likewise.

From-SVN: r202843
2013-09-23 21:13:38 +00:00
Richard Sandiford e5af9ddd01 rtl.texi (REG_NOTES): Say that int_list can also be used.
gcc/
	* doc/rtl.texi (REG_NOTES): Say that int_list can also be used.
	(REG_BR_PROB): Say that the probability is stored in an int_list.
	* reg-notes.def: Update commentary to mention INT_LIST.
	* rtl.def (EXPR_LIST, INSN_LIST): Capitalize comments.
	(INT_LIST): New rtx.
	* rtl.h (add_int_reg_note, add_shallow_copy_of_reg_note): Declare.
	* rtlanal.c (int_reg_note_p): New function.
	(alloc_reg_note): Assert that the note does not have an int argument.
	(add_int_reg_note, add_shallow_copy_of_reg_note): New functions.
	* combine.c (distribute_notes): Use add_shallow_copy_of_rtx.
	* cse.c (cse_process_notes_1): Expect REG_EQUAL to be an EXPR_LIST
	rather than an INSN_LIST.  Handle INT_LIST.
	* ifcvt.c (cond_exec_process_insns): Take the probability as an int
	rather than an rtx.  Use gen_rtx_INT_LIST to create a REG_BR_PROB note.
	(cond_exec_process_if_block): Use XINT to extract REG_BR_PROB values.
	Manipulate them as ints rather than rtxes.
	* reg-stack.c (subst_asm_stack_regs): Only handle EXPR_LIST notes.
	* regmove.c (copy_src_to_dest): Likewise.
	* sched-vis.c (print_insn_with_notes): Handle INT_LIST.

	* config/i386/winnt.c (i386_pe_seh_unwind_emit): Sink pat assignment
	into the cases that need it.
	* config/arm/arm.c (arm_unwind_emit): Likewise.

	* asan.c (asan_clear_shadow): Use add_int_reg_note for REG_BR_PROB.
	* emit-rtl.c (try_split, emit_copy_of_insn_after): Likewise.
	* loop-doloop.c (add_test, doloop_modify): Likewise.
	* loop-unswitch.c (compare_and_jump_seq): Likewise.
	* optabs.c (emit_cmp_and_jump_insn_1): Likewise.
	* predict.c (combine_predictions_for_insn): Likewise.
	* print-rtl.c (print_rtx): Handle INT_LIST.
	* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): Likewise.
	* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
	* config/arm/arm.c (emit_unlikely_jump): Likewise.
	* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
	(ix86_split_fp_branch, predict_jump): Likewise.
	* config/rs6000/rs6000.c (emit_unlikely_jump): Likewise.
	* config/sh/sh.c (expand_cbranchsi4): Likewise.
	* config/spu/spu.c (ea_load_store_inline): Likewise.

	* cfgbuild.c (compute_outgoing_frequencies): Use XINT to access the
	value of a REG_BR_PROB note.
	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
	(update_br_prob_note, rtl_verify_edges, purge_dead_edges): Likewise.
	* emit-rtl.c (try_split): Likewise.
	* predict.c (br_prob_note_reliable_p): Likewise.
	(invert_br_probabilities, combine_predictions_for_insn): Likewise.
	* reorg.c (mostly_true_jump): Likewise.
	* config/bfin/bfin.c (cbranch_predicted_taken_p): Likewise.
	* config/frv/frv.c (frv_print_operand_jump_hint): Likewise.
	* config/i386/i386.c (ix86_print_operand): Likewise.
	* config/ia64/ia64.c (ia64_print_operand): Likewise.
	* config/mmix/mmix.c (mmix_print_operand): Likewise.
	* config/rs6000/rs6000.c (output_cbranch): Likewise.
	* config/s390/s390.c (s390_expand_tbegin): Likewise.
	* config/sh/sh.c (sh_print_operand, sh_adjust_cost): Likewise.
	* config/sparc/sparc.c (output_cbranch): Likewise.
	* config/spu/spu.c (get_branch_target): Likewise.
	* config/tilegx/tilegx.c (cbranch_predicted_p): Likewise.
	* config/tilepro/tilepro.c (cbranch_predicted_p): Likewise.

From-SVN: r202839
2013-09-23 17:41:02 +00:00
Jan Hubicka 450ad0cd44 ipa-cp.c (ipa_get_indirect_edge_target_1): Add sanity check for ipa-devirt.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Add sanity check
	for ipa-devirt.
	* ipa-utils.h (possible_polymorphic_call_target_p): New function.
	* ipa-devirt.c (possible_polymorphic_call_target_p): Be tolerant
	of external calls
	* gimple-fold.c: Include ipa-utils.h and gimple-pretty-print.h
	(gimple_fold_call): Dump inconsistent devirtualizations; add
	sanity check for type based devirtualizations.
	* ipa-prop.c: Include ipa-utils.h
	(ipa_intraprocedural_devirtualization): Add sanity check.
	(try_make_edge_direct_virtual_call): Likewise.

From-SVN: r202837
2013-09-23 16:54:34 +00:00
Paul Pluzhnikov dfff7c4692 snprintf_lite.cc (__concat_size_t): Use unsigned long long conditionally.
2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* src/c++11/snprintf_lite.cc (__concat_size_t): Use
	unsigned long long conditionally.

From-SVN: r202836
2013-09-23 09:36:11 -07:00
Eric Botcazou cefce76908 tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy assignment statements.
* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
	assignment statements.

From-SVN: r202833
2013-09-23 16:07:19 +00:00
Paul Pluzhnikov 5303f3a48f Unbreak i386 and other builds where size_t != unsigned long.
2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* src/c++11/snprintf_lite.cc (__concat_size_t): Use only
	std::__int_to_char<unsigned long long>()

From-SVN: r202832
2013-09-23 08:29:14 -07:00
Kugan Vivekanandarajah a895a2b8a9 gimple-pretty-print.c (dump_ssaname_info): New function.
2013-09-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	gcc/
	* gimple-pretty-print.c (dump_ssaname_info): New function.
	(dump_gimple_phi): Call it.
	(pp_gimple_stmt_1): Likewise.
	* tree-core.h (tree_ssa_name): New union ssa_name_info_type field.
	(range_info_def): Declare.
	* tree-pretty-print.c (pp_double_int): New function.
	(dump_generic_node): Call it.
	* tree-pretty-print.h (pp_double_int): Declare.
	* tree-ssa-alias.c (dump_alias_info): Check pointer type.
	* tree-ssanames.h (range_info_def): New structure.
	(value_range_type): Move definition here.
	(set_range_info, value_range_type, duplicate_ssa_name_range_info):
	Declare.
	* tree-ssanames.c (make_ssa_name_fn): Check pointer type at
	initialization.
	(set_range_info): New function.
	(get_range_info): Likewise.
	(duplicate_ssa_name_range_info): Likewise.
	(duplicate_ssa_name_fn): Check pointer type and call
	duplicate_ssa_name_range_info.
	* tree-ssa-copy.c (fini_copy_prop): Likewise.
	* tree-vrp.c (value_range_type): Remove definition, now in
	tree-ssanames.h.
	(vrp_finalize): Call set_range_info to update value range of
	SSA_NAMEs.
	* tree.h (SSA_NAME_PTR_INFO): Macro changed to access via union.
	(SSA_NAME_RANGE_INFO): New macro.

From-SVN: r202831
2013-09-23 17:13:39 +02:00
Richard Biener 984af6ac75 re PR tree-optimization/58464 (Crashes with SIGSEGV (infinite recursion in phi_translate))
2013-09-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58464
	* tree-ssa-pre.c (phi_trans_lookup): Remove.
	(phi_trans_add): Change to add conditionally on being not
	present.
	(phi_translate_1): Remove recursion detection here.
	(phi_translate): Pre-seed the cache with NULL to catch
	recursion here in a more generic way.
	(bitmap_find_leader): Adjust comment.
	(get_representative_for): Dump value-numbers.
	(create_expression_by_pieces): Likewise.
	(insert_into_preds_of_block): Likewise.

	* g++.dg/torture/pr58464.C: New testcase.

From-SVN: r202826
2013-09-23 12:37:17 +00:00
Christian Bruel 0e26cf7972 re PR target/58475 (SH4 insn swapb does not satisfy its constraints:)
2013-09-23  Christian Bruel  <christian.bruel@st.com>

        PR target/58475
        * config/sh/sh.md (movsf_ie): Allow fpul_operand.
        * config/sh/predicate.md (arith_reg_operand): Disallow FPUL_REG.

From-SVN: r202825
2013-09-23 10:30:00 +02:00
James Greenhalgh 4d0e5b54a8 Revert r202780:
* config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant.
	(aarch64_expand_epilogue): Likewise.
	(aarch64_legitimize_reload_address): Likewise.

From-SVN: r202824
2013-09-23 08:25:55 +00:00
Janus Weil 42e3d759b9 re PR fortran/58355 ([F03] ICE with TYPE, EXTENDS before parent TYPE defined)
2013-09-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58355
	* decl.c (check_extended_derived_type): Prevent segfault, modify error
	message.

2013-09-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58355
	* gfortran.dg/extends_15.f90: New.

From-SVN: r202823
2013-09-23 09:40:39 +02:00
GCC Administrator fb635b1123 Daily bump.
From-SVN: r202822
2013-09-23 00:16:55 +00:00
Eric Botcazou ca081cc8da gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to NULL_TREE before pushing them onto the vector.
* gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to
	NULL_TREE before pushing them onto the vector.  Likewise for labels.

From-SVN: r202819
2013-09-22 21:57:39 +00:00