1. 17 Sep, 2012 20 commits
  2. 16 Sep, 2012 12 commits
  3. 15 Sep, 2012 8 commits
    • vrp82.c: New test. · c7e04bd6
      2012-09-15  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/tree-ssa/vrp82.c: New test.
      	* gcc.dg/tree-ssa/vrp83.c: Same.
      	* gcc.dg/tree-ssa/vrp84.c: Same.
      
      From-SVN: r191352
      Tom de Vries committed
    • tree-vrp.c (extract_range_from_binary_expr_1): Fix bug in handling of LSHIFT_EXPR with shift range. · b25d9e22
      2012-09-15  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-vrp.c (extract_range_from_binary_expr_1): Fix bug in handling of
      	LSHIFT_EXPR with shift range.  Handle more LSHIFT_EXPR cases with shift
      	range.
      
      From-SVN: r191351
      Tom de Vries committed
    • * vi.po: Update. · 583aa11c
      From-SVN: r191348
      Joseph Myers committed
    • vrp80-2.c: Rename to ... · e857cbce
      2012-09-15  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/tree-ssa/vrp80-2.c: Rename to ...
      	* gcc.dg/tree-ssa/vrp81.c: ... this.
      
      From-SVN: r191347
      Tom de Vries committed
    • trans-io.c (gfc_trans_transfer): Add an assert. · 770caa74
      2012-09-15  Tobias Burnus  <burnus@net-b.de>
      
              * trans-io.c (gfc_trans_transfer): Add an assert.
      
      From-SVN: r191346
      Tobias Burnus committed
    • re PR target/54222 ([avr] Implement fixed-point support) · 51526856
      gcc/
      	PR target/54222
      	* config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S,
      	ALL124U): New mode iterators.
      	(<code_stdname><mode>3): New insns for SS_PLUS, SS_MINUS.
      	(<code_stdname><mode>3): New insns for US_PLUS, US_MINUS.
      	(usneg<mode>2): New insns.
      	(<code_stdname><mode>2): New expanders for SS_NEG, SS_ABS.
      	(*<code_stdname><mode>2): New insns for SS_NEG, SS_ABS.
      	* config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators.
      	(avr_out_plus64, avr_out_minus64): Use avr_out_plus instead.
      	(<code_stdname><mode>3): New expanders for SS_PLUS, SS_MINUS.
      	(<code_stdname><mode>3): New expanders for US_PLUS, US_MINUS.
      	(<code_stdname><mode>3_insn): New insns.
      	(<code_stdname><mode>3_const_insn): New insns.
      	* config/avr/avr.md (cc): Add: plus. Remove: out_plus,
      	out_plus_noclobber, minus.
      	(length): Add: plus.  Remove: out_plus, out_plus_noclobber,
      	plus64, minus, minus64.
      	(abelian): New code_attr.
      	(code_stdname): Handle: ss_plus, ss_minus, ss_neg, ss_abs,
      	us_plus, us_minus, us_neg.
      	(*add<mode>3, add<mode>3_clobber, add<mode>3, addpsi3, sub<mode>3):
      	Use avr_out_plus to output.
      	* config/avr/avr-protos.h (avr_out_plus): Change prototype.
      	(avr_out_plus_noclobber, avr_out_minus): Remove.
      	(avr_out_plus64, avr_out_minus64): Remove.
      	* config/avr/avr.c (avr_out_plus_1): Add new default arguments
      	code_sat, sign.  Saturate after operation if code_sat != UNKNOWN.
      	(avr_out_plus_symbol): New static function.
      	(avr_out_plus): Rewrite.
      	(adjust_insn_length): Handle: ADJUST_LEN_PLUS.  Remove handling
      	of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS, 
      	ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER.
      	(notice_update_cc): Handle: CC_PLUS.  Remove handling of: CC_MINUS,
      	CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER
      	(avr_out_plus_noclobber, avr_out_minus): Remove.
      	(avr_out_plus64, avr_out_minus64): Remove.
      	(avr_print_operand): Print raw REGNO if 'r' is used with REG.
      
      libgcc/
      	PR target/54222
      	* config/avr/lib1funcs-fixed.S (__ssneg_2, __ssabs_2, __ssneg_4,
      	__ssabs_4, __clr_8, __ssneg_8, __ssabs_8,
      	__usadd_8, __ussub_8, __ssadd_8, __sssub_8): New functions.
      	(__divsa3): Use __negsi2 to negate r_quoL.
      	* config/avr/lib1funcs.S (FALIAS): New macro.
      	(__divmodsi4): Break out and use __divmodsi4_neg1 as...
      	(__negsi2): ...this new function.
      	* config/avr/t-avr (LIB1ASMFUNCS): Add _negsi2, _clr_8,
      	_ssneg_2, _ssneg_4, _ssneg_8, _ssabs_2, _ssabs_4,
      	_ssabs_8, _ssadd_8, _sssub_8, _usadd_8, _ussub_8.
      	(LIB2FUNCS_EXCLUDE): Fix typo for _add _sub.
      	Add: _ssadd*, _sssub*, _ssneg*, _ssabs* for signed fixed modes.
      	Add: _usadd*, _ussub*, _usneg* for unsigned fixed modes.
      
      gcc/testsuite/
      	PR target/54222
      	* gcc.target/avr/torture/fix-types.h: New.
      	* gcc.target/avr/torture/vals-hr.def: New.
      	* gcc.target/avr/torture/vals-r.def: New.
      	* gcc.target/avr/torture/vals-k.def: New.
      	* gcc.target/avr/torture/vals-ur.def: New.
      	* gcc.target/avr/torture/vals-uk.def: New.
      	* gcc.target/avr/torture/vals-uhr.def: New.
      	* gcc.target/avr/torture/vals-llk.def: New.
      	* gcc.target/avr/torture/vals-ullk.def: New.
      	* gcc.target/avr/torture/sat-hr-plus-minus.c: New.
      	* gcc.target/avr/torture/sat-r-plus-minus.c: New.
      	* gcc.target/avr/torture/sat-k-plus-minus.c: New.
      	* gcc.target/avr/torture/sat-ur-plus-minus.c: New.
      	* gcc.target/avr/torture/sat-uk-plus-minus.c: New.
      	* gcc.target/avr/torture/sat-uhr-plus-minus.c: New.
      	* gcc.target/avr/torture/sat-llk-plus-minus.c: New.
      	* gcc.target/avr/torture/sat-ullk-plus-minus.c: New.
      
      From-SVN: r191345
      Georg-Johann Lay committed
    • arith.c (arith_power): Call gfc_free_expr in case of error. · fc2655fb
      2012-09-15  Tobias Burnus  <burnus@net-b.de>
      
              * arith.c (arith_power): Call gfc_free_expr in case of error.
              * array.c (gfc_match_array_constructor): Initialize variable.
              (gfc_resolve_character_array_constructor): Remove superfluous check.
              (gfc_array_dimen_size): Add assert.
              * check.c (numeric_check): Fix implicit typing.
              * class.c (gfc_build_class_symbol): Add assert.
              (finalize_component): Free memory.
              * dump-parse-tree.c (show_namespace): Add assert.
              * trans-io.c (transfer_namelist_element, transfer_expr): Avoid
              memory leakage.
              (gfc_trans_transfer): Add assert.
              * trans.c (gfc_trans_runtime_check): Call va_end
      
      From-SVN: r191344
      Tobias Burnus committed
    • match.c (lock_unlock_statement, [...]): Fix potential double freeing. · fd2805e1
      2012-09-15  Tobias Burnus  <burnus@net-b.de>
      
              * match.c (lock_unlock_statement, sync_statement): Fix potential
              double freeing.
              (sync_statement): Remove unreachable code.
              * simplify.c (gfc_simplify_bessel_n2): Avoid double freeing.
              (gfc_simplify_repeat): Remove bogus code.
              * target-memory.h (gfc_target_encode_expr): Update prototype.
              * target-memory.c (gfc_target_encode_expr, encode_array,
              encode_derived): Return unsigned HOST_WIDE_INT.
              (gfc_target_interpret_expr): Add assert.
              (gfc_merge_initializers): Fix "== 0" check for mpz_t.
              * symbol.c (gfc_get_typebound_proc): Add assert.
              (gfc_merge_initializers): Remove unreachable check.
      
      From-SVN: r191343
      Tobias Burnus committed