1. 11 Apr, 2013 12 commits
    • [multiple changes] · 81f6cd56
      2013-04-11  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb: Minor code improvement: replace various calls to
      	Make_If_Statement in expansion with Make_Implicit_If_Statement.
      
      2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* ali.adb: Fix minor typo.
      
      From-SVN: r197749
      Arnaud Charlet committed
    • [multiple changes] · 28270211
      2013-04-11  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb (Find_Enclosing_Context): Add missing case of
      	N_Procedure_Call_Statement.
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* debug.adb: Minor comment fix.
      
      From-SVN: r197748
      Arnaud Charlet committed
    • [multiple changes] · 6b670dcf
      2013-04-11  Johannes Kanig  <kanig@adacore.com>
      
      	* debug.adb: Remove comment for -gnatd.G.
      
      2013-04-11  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
      	Remove recursive routine, replace with...
      	(Expand_Record_Equality.Element_To_Compare): New subroutine,
      	implement iterative search for next element to compare.
      	Add explanatory comment in the tagged case.
      
      From-SVN: r197747
      Arnaud Charlet committed
    • sem_ch5.adb: remove spurious warning from non-empty loop. · ac7d724d
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb: remove spurious warning from non-empty loop.
      	* sem_ch8.adb (Enclosing_Instance): Make public to other routines
      	in the package, in order to suppress redundant semantic checks
      	on subprogram renamings in nested instantiations.
      
      From-SVN: r197746
      Ed Schonberg committed
    • [multiple changes] · 8fde064e
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* errout.ads: Minor reformatting.
      	* sem_eval.adb (Why_Not_Static): Now issues continuation messages
      	(Why_Not_Static): Test for aggregates behind string literals.
      	* sem_eval.ads (Why_Not_Static): Now issues continuation messages.
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_Concatenation): Wrap expansion in
      	Expressions_With_Actions.
      
      2013-04-11  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Base_Types_Match): For an actual type in an
      	instance, the base type may itself be a subtype, so find true
      	base type to determine compatibility.
      
      From-SVN: r197745
      Arnaud Charlet committed
    • [multiple changes] · 354c3840
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
      	makeutl.adb, sem_ch8.adb: Minor reformatting.
      
      2013-04-11  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Minor fixes for VMS.
      	* ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* usage.adb (Usage): Minor edit to -gnatW message
      
      2013-04-11  Robert Dewar  <dewar@adacore.com>
      
      	* exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
      	others for string literal case. Also add big ??? comment about
      	this new code, which should be redundant, but is not.
      	* sem_eval.adb (Eval_Concatenation): Handle non-static case
      	properly (Eval_String_Literal): Handle non-static literal properly
      
      From-SVN: r197744
      Arnaud Charlet committed
    • opts.c (common_handle_option): Fix formatting and add FALLTHRU comment. · f0defe58
      	* opts.c (common_handle_option): Fix formatting and add FALLTHRU
      	comment.
      
      From-SVN: r197743
      Senthil Kumar Selvaraj committed
    • re PR c++/54216 (Missing diagnostic for ill-formed anonymous enum declarations) · f06a1142
      /cp
      2013-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/54216
      	* parser.c (cp_parser_enum_specifier): Check for empty
      	anonymous enums and anonymous scoped enums.
      
      /testsuite
      2013-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/54216
      	* g++.dg/cpp0x/enum26.C: New.
      	* g++.old-deja/g++.pt/mangle1.C: Adjust.
      
      From-SVN: r197742
      Paolo Carlini committed
    • [PATCH, AARCH64] Fix unrecognizable insn issue with vcond against 0.0f · d07458be
      gcc/
      	* config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
      	floating-point vector comparisons against 0.
      
      gcc/testsuite/
         	* gcc.target/aarch64/vect-fcm.x: Add check for zero forms of
      	inverse operands.
      	* gcc.target/aarch64/vect-fcm-eq-d.c: Check that new zero form
      	loop is vectorized.
         	* gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
         	* gcc.target/aarch64/vect-fcm-ge-d.c: Check that new zero form
      	loop is vectorized and that the correct instruction is generated.
         	* gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
         	* gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
         	* gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.
      
      From-SVN: r197741
      James Greenhalgh committed
    • re PR tree-optimization/56899 (Wrong constant folding) · 146b8692
      	PR tree-optimization/56899
      	* fold-const.c (extract_muldiv_1): Apply distributive law
      	only if TYPE_OVERFLOW_WRAPS (ctype).
      
      	* gcc.c-torture/execute/pr56899.c: New test.
      
      From-SVN: r197692
      Jakub Jelinek committed
    • re PR rtl-optimization/56124 (Redundant reload for loading from memory) · b8578ff7
      	PR target/56124
      	* ira-costs.c (scan_one_insn): Check whether the source rtx of
      	loading has side effect.
      
      From-SVN: r197691
      Bin Cheng committed
    • Daily bump. · b0c4c179
      From-SVN: r197687
      GCC Administrator committed
  2. 10 Apr, 2013 16 commits
    • Replace enum gfc_try with bool type. · 524af0d6
      2013-04-11  Janne Blomqvist  <jb@gcc.gnu.org>
      
              * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
              * arith.c: Replace gfc_try with bool type.
              * array.c: Likewise.
              * check.c: Likewise.
              * class.c: Likewise.
              * cpp.c: Likewise.
              * cpp.h: Likewise.
              * data.c: Likewise.
              * data.h: Likewise.
              * decl.c: Likewise.
              * error.c: Likewise.
              * expr.c: Likewise.
              * f95-lang.c: Likewise.
              * interface.c: Likewise.
              * intrinsic.c: Likewise.
              * intrinsic.h: Likewise.
              * io.c: Likewise.
              * match.c: Likewise.
              * match.h: Likewise.
              * module.c: Likewise.
              * openmp.c: Likewise.
              * parse.c: Likewise.
              * parse.h: Likewise.
              * primary.c: Likewise.
              * resolve.c: Likewise.
              * scanner.c: Likewise.
              * simplify.c: Likewise.
              * symbol.c: Likewise.
              * trans-intrinsic.c: Likewise.
              * trans-openmp.c: Likewise.
              * trans-stmt.c: Likewise.
              * trans-types.c: Likewise.
      
      From-SVN: r197682
      Janne Blomqvist committed
    • sparc.c: Include tree-pass.h. · 0ea8a6f9
      
      	* config/sparc/sparc.c: Include tree-pass.h.
      	(TARGET_MACHINE_DEPENDENT_REORG): Do not redefine.
      	(sparc_reorg): Rename to sparc_do_work_around_errata.  Move to
      	head of file.  Change return type.  Split off gate function.
      	(sparc_gate_work_around_errata): New function.
      	(pass_work_around_errata): New pass definition.
      	(insert_pass_work_around_errata) New pass insert definition to
      	insert pass_work_around_errata just after delayed-branch scheduling.
      	(sparc_option_override): Insert the pass.
      	* config/sparc/t-sparc (sparc.o): Add TREE_PASS_H dependence.
      
      From-SVN: r197681
      Steven Bosscher committed
    • Fix sparc assembler specs for supersparc and hypersparc. · 89deeb3b
      gcc/
      
      	* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
      	or -mcpu=hypersparc.
      
      From-SVN: r197680
      David S. Miller committed
    • Improve cstore code generation on 64-bit sparc. · 42e37616
      One major suboptimal area of the sparc back end is cstore generation
      on 64-bit.
      
      Due to the way arguments and return values of functions must be
      promoted, the ideal mode for cstore's result would be DImode.
      
      But this hasn't been done because of a fundamental limitation
      of the cstore patterns.  They require a fixed mode be used for
      the boolean result value.
      
      I've decided to work around this by building a target hook which
      specifies the type to use for conditional store results, and then I
      use a special predicate for operans 0 in the cstore expanders so
      that they still match even when we use DImode.
      
      The default version of the target hook just does what it does now,
      so no other target should be impacted by this at all.
      
      Regstrapped on 32-bit sparc-linux-gnu and I've run the testsuite
      with "-m64" to validate the 64-bit side.
      
      gcc/
      
      	* target.def (cstore_mode): New hook.
      	* target.h: Include insn-codes.h
      	* targhooks.c: Likewise.
      	(default_cstore_mode): New function.
      	* targhooks.h: Declare it.
      	* doc/tm.texi.in: New hook slot for TARGET_CSTORE_MODE.
      	* doc/tm.texi: Rebuild.
      	* expmed.c (emit_cstore): Obtain cstore boolean result mode using
      	target hook, rather than inspecting the insn_data.
      	* config/sparc/sparc.c (sparc_cstore_mode): New function.
      	(TARGET_CSTORE_MODE): Redefine.
      	(emit_scc_insn): When TARGET_ARCH64, emit new 64-bit boolean
      	result patterns.
      	* config/sparc/predicates.md (cstore_result_operand): New special
      	predicate.
      	* config/sparc/sparc.md (cstoresi4, cstoredi4, cstore<F:mode>4):
      	Use it for operand 0.
      	(*seqsi_special): Rewrite using 'P' mode iterator on operand 0.
      	(*snesi_special): Likewise.
      	(*snesi_zero): Likewise.
      	(*seqsi_zero): Likewise.
      	(*sltu_insn): Likewise.
      	(*sgeu_insn): Likewise.
      	(*seqdi_special): Make operand 0 and comparison operation be of
      	DImode.
      	(*snedi_special): Likewise.
      	(*snedi_special_vis3): Likewise.
      	(*neg_snesi_zero): Rename to *neg_snesisi_zero.
      	(*neg_snesi_sign_extend): Rename to *neg_snesidi_zero.
      	(*snesi_zero_extend): Delete, covered by 'P' mode iterator.
      	(*neg_seqsi_zero): Rename to *neg_seqsisi_zero.
      	(*neg_seqsi_sign_extend): Rename to *neg_seqsidi_zero.
      	(*seqsi_zero_extend): Delete, covered by 'P' mode iterator.
      	(*sltu_extend_sp64): Likewise.
      	(*neg_sltu_insn): Rename to *neg_sltusi_insn.
      	(*neg_sltu_extend_sp64): Rename to *neg_sltudi_insn.
      	(*sgeu_extend_sp64): Delete, covered by 'P' mode iterator.
      	(*neg_sgeu_insn): Rename to *neg_sgeusi_insn.
      	(*neg_sgeu_extend_sp64): Rename to *neg_sgeudi_insn.
      
      gcc/testsuite/
      
      	* gcc.target/sparc/setcc-4.c: New test.
      	* gcc.target/sparc/setcc-5.c: New test.
      
      From-SVN: r197679
      David S. Miller committed
    • aarch64.c (aarch64_print_extension): New function. · 95ca411e
      	* config/aarch64/aarch64.c (aarch64_print_extension): New function.
      	(aarch64_start_file): Use the new function.
      
      From-SVN: r197677
      Yufeng Zhang committed
    • common.opt: Add -gdwarf. · 6782438d
      	* common.opt: Add -gdwarf.
      	* opts.c (common_handle_option): Handle it.
      	* gcc.c (ASM_DEBUG_SPEC): Don't expect "-2" for DWARF.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      
      From-SVN: r197675
      Senthil Kumar Selvaraj committed
    • passes.c (execute_todo): Do not call ggc_collect conditional here. · bb313b93
      2013-04-10  Richard Biener  <rguenther@suse.de>
      
      	* passes.c (execute_todo): Do not call ggc_collect conditional here.
      	(execute_one_ipa_transform_pass): But unconditionally here.
      	(execute_one_pass): And here.
      	(init_optimization_passes): Remove reload pass.
      	* tree-pass.h (TODO_ggc_collect): Remove.
      	(pass_reload): Likewise.
      	* ira.c (do_reload): Merge into ...
      	(ira): ... this.
      	(rest_of_handle_reload): Remove.
      	(pass_reload): Likewise.
      	* config/i386/i386.c (ix86_option_override): Refer to ira instead
      	of reload for vzeroupper pass placement.
      	* <everywhere>: Remove TODO_ggc_collect from todo_flags_start
      	and todo_flags_finish of all passes.
      
      	* g++.dg/pr55604.C: Use -fdump-rtl-ira.
      
      From-SVN: r197671
      Richard Biener committed
    • tree-vectorizer.h (struct _slp_oprnd_info): Remove first_const_oprnd field,… · 793d9a16
      tree-vectorizer.h (struct _slp_oprnd_info): Remove first_const_oprnd field, rename first_def_type to first_op_type.
      
      2013-04-10  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (struct _slp_oprnd_info): Remove
      	first_const_oprnd field, rename first_def_type to first_op_type.
      	* tree-vect-slp.c (vect_create_oprnd_info): Adjust.
      	(vect_get_and_check_slp_defs): Always use the type of the
      	operand.  Allow mixed vect_external_def, vect_constant_def types.
      	(vect_get_constant_vectors): Handle mixed vect_external_def,
      	vect_constant_def types.
      
      	* gcc.dg/vect/slp-39.c: New testcase.
      
      From-SVN: r197669
      Richard Biener committed
    • re PR tree-optimization/55524 (If fnma exists but not fms, convert_mult_to_fma… · ee8a9b7b
      re PR tree-optimization/55524 (If fnma exists but not fms, convert_mult_to_fma should prefer to former over the latter.)
      
      gcc:
      2013-04-10  Joern Rennecke <joern.rennecke@embecosm.com>
      
              PR tree-optimization/55524
              * tree-ssa-math-opts.c
              (convert_mult_to_fma): Don't use an fms construct
              when we don't have an fms operation, but fnma, and it looks
              likely that we'll be able to use the latter.
      
      gcc/testsuite:
      2013-04-10  Joern Rennecke <joern.rennecke@embecosm.com>
      
              PR tree-optimization/55524
              * gcc.target/epiphany/fnma-1.c: New test.
      
      From-SVN: r197668
      Joern Rennecke committed
    • cif-code.def (OVERWRITABLE): Correct the comment for overwritable function. · 6957a6f6
      2013-04-10  Zhouyi Zhou <yizhouzhou@ict.ac.cn>
      
      	* cif-code.def (OVERWRITABLE): Correct the comment for overwritable
      	function.
      	* ipa-inline.c (can_inline_edge_p): Let dump mechanism report the
      	inline fail caused by overwritable functions.
      
      	* gcc.dg/tree-ssa/inline-11.c: New test
      
      From-SVN: r197667
      Zhouyi Zhou committed
    • combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out unnecessary… · 34ab4a5b
      combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out unnecessary bits in the constant power of two case.
      
      2013-04-10  Chung-Ju Wu  <jasonwucj@gmail.com>
      
      	* combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out
      	unnecessary bits in the constant power of two case.
      
      From-SVN: r197666
      Chung-Ju Wu committed
    • tree-vect-slp.c (vect_get_and_check_slp_defs): Remove broken code swapping operands. · abf9bfbc
      2013-04-10  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove
      	broken code swapping operands.
      	(vect_build_slp_tree): Do not compute load permutations here.
      	(vect_analyze_slp_instance): Compute load permutations here,
      	after building the SLP tree.
      
      From-SVN: r197665
      Richard Biener committed
    • sh.md (barrier_align): Use next/prev_active_insn instead of next/prev_real_insn. · f408477e
      *  config/sh/sh.md (barrier_align): Use next/prev_active_insn instead
      of next/prev_real_insn.
      
      From-SVN: r197664
      Christian Bruel committed
    • MAINTAINERS (Write After Approval): Add myself. · 4b1d4198
      2013-04-10 Chung-Ju Wu <jasonwucj@gmail.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r197663
      Chung-Ju Wu committed
    • re PR c++/56895 (ICE: unexpected expression of kind arrow_expr) · f7e8cd25
      	PR c++/56895
      	* typeck.c (cp_build_binary_op): Call fold_non_dependent_expr_sfinae
      	first before calling maybe_constant_value for warn_for_div_by_zero
      	or invalid shift count warning purposes.
      
      	* g++.dg/template/arrow3.C: New test.
      
      From-SVN: r197660
      Jakub Jelinek committed
    • Daily bump. · 13aac201
      From-SVN: r197658
      GCC Administrator committed
  3. 09 Apr, 2013 12 commits