1. 24 Sep, 2007 17 commits
  2. 23 Sep, 2007 21 commits
    • configure.ac (ld_vers): Support GNU linker version xx.xx.* · 5702b273
      2007-09-23  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* configure.ac (ld_vers): Support GNU linker version xx.xx.*
      	* configure: Regenerated.
      
      From-SVN: r128702
      H.J. Lu committed
    • fold-const.c (fold_binary): Fold BIT_AND_EXPR's with a pointer operand. · e5901cad
      	gcc/
      	fold-const.c (fold_binary): Fold BIT_AND_EXPR's with a pointer operand.
      	(get_pointer_modulus_and_residue): New function.
      
      	gcc/testsuite/
      	gcc.dg/fold-bitand-1.c: New test.
      	gcc.dg/fold-bitand-2.c: New test.
      	gcc.dg/fold-bitand-3.c: New test.
      	gcc.dg/fold-bitand-4.c: New test.
      
      From-SVN: r128701
      Ollie Wild committed
    • mips.c (build_mips16_call_stub): On 64-bit targets, combine an SC return value… · 50b73fcd
      mips.c (build_mips16_call_stub): On 64-bit targets, combine an SC return value into a single register.
      
      gcc/
      	* config/mips/mips.c (build_mips16_call_stub): On 64-bit targets,
      	combine an SC return value into a single register.
      
      From-SVN: r128700
      Richard Sandiford committed
    • opth-gen.awk (target_flags_explicit): Declare. · e9276c30
      gcc/
      	* opth-gen.awk (target_flags_explicit): Declare.
      	* toplev.h (target_flags_explicit): Delete declaration.
      	* toplev.c (target_flags): Likewise.
      	* config/mips/mips.h (mips_llsc_setting, mips_llsc): Delete.
      	(GENERATE_SYNC, GENERATE_LL_SC): Redefine using target_explicit_flags.
      	Never return true for TARGET_MIPS16.
      	* config/mips/mips.c (mips_llsc): Delete.
      	(mips_handle_option): Remove -mllsc handling.
      	(mips_strip_unspec_address): Tweak comment.
      	* config/mips/mips.opt (mllsc): Use a target mask.
      
      gcc/testsuite/
      	* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Don't expect
      	any of the macros to be defined for __mips16.
      	* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise.
      
      From-SVN: r128699
      Richard Sandiford committed
    • tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to word_mode as well as Pmode. · 4923a230
      gcc/
      	* doc/tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to
      	word_mode as well as Pmode.
      
      From-SVN: r128698
      Richard Sandiford committed
    • pr21591.c: Require vect_int. · 1e1c1dec
      gcc/testsuite/
      	* gcc.dg/vect/pr21591.c: Require vect_int.
      	* gcc.dg/vect/vect-outer-2.c: Require vect_intfloat_cvt.
      	* gcc.dg/vect/vect-outer-2a.c: Likewise.
      	* gcc.dg/vect/vect-outer-2c.c: Likewise.
      
      From-SVN: r128697
      Richard Sandiford committed
    • function.c (assign_parm_setup_block): Explicitly convert BLKmode parameters from… · 208996c7
      function.c (assign_parm_setup_block): Explicitly convert BLKmode parameters from word_mode to the subword type if...
      
      gcc/
      	* function.c (assign_parm_setup_block): Explicitly convert BLKmode
      	parameters from word_mode to the subword type if such a truncation
      	is not a no-op.
      
      From-SVN: r128696
      Richard Sandiford committed
    • configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above. · 4c471775
      	* configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
      	* configure: Regenerated.
      
      From-SVN: r128693
      Jakub Jelinek committed
    • params.def (INLINE_CALL_COST): Set to 12. · f2879759
      
      	* params.def (INLINE_CALL_COST): Set to 12.
      	* invoke.texi (inline-call-cost): Update default value.
      
      From-SVN: r128692
      Jan Hubicka committed
    • re PR c++/16370 (__attribute__((deprecated)) not useful on classes, and ugly… · 823dd937
      re PR c++/16370 (__attribute__((deprecated)) not useful on classes, and ugly function name listed for deperecation warnings on constructor)
      
              PR c++/16370
              * decl.c (grokdeclarator): Look through implicit TYPE_DECLs
              for deprecation warnings.
      
      From-SVN: r128691
      Jason Merrill committed
    • alpha.md (movti): Use operand_subword for the split. · 4637cb92
      	* config/alpha/alpha.md (movti): Use operand_subword for the split.
      
      From-SVN: r128690
      Eric Botcazou committed
    • Minor cosmetic change · 8eb75619
      Co-Authored-By: Revital Eres <eres@il.ibm.com>
      
      From-SVN: r128689
      Ayal Zaks committed
    • re PR tree-optimization/32772 (error: found real variable when subvariables should have appeared) · 97aaae90
      	PR tree-optimization/32772
      	* gcc.c-torture/compile/20070905-1.c: New test.
      
      	PR tree-optimization/32975
      	* gcc.dg/pr32975.c: New test.
      
      From-SVN: r128688
      Jakub Jelinek committed
    • expr.c (expand_expr_real_1): Use get_callee_fndecl instead of checking… · d2af6a68
      expr.c (expand_expr_real_1): Use get_callee_fndecl instead of checking CALL_EXPR_FN directly to test for...
      
      	* expr.c (expand_expr_real_1) <case CALL_EXPR>: Use get_callee_fndecl
      	instead of checking CALL_EXPR_FN directly to test for builtins.
      	If error or warning attributes are present, print
      	error resp. warning.
      	* c-common.c (handle_error_attribute): New function.
      	(c_common_attribute_table): Add error and warning
      	attributes.
      	* doc/extend.texi: Document error and warning attributes.
      
      	* gcc.dg/va-arg-pack-len-1.c: Use error and warning
      	attributes.
      	* gcc.dg/va-arg-pack-len-2.c: New test.
      	* g++.dg/ext/va-arg-pack-len-1.C: Use error and warning
      	attributes.
      	* g++.dg/ext/va-arg-pack-len-2.C: New test.
      
      From-SVN: r128687
      Jakub Jelinek committed
    • tree.h (block_nonartificial_location): New prototype. · d752cfdb
      	* tree.h (block_nonartificial_location): New prototype.
      	* tree.c (block_nonartificial_location): New function.
      	* dwarf2out.c (gen_subprogram_die): Add DW_AT_artificial
      	if artificial attribute is present on abstract inline decl.
      	* c-common.c (handle_artificial_attribute): New function.
      	(c_common_attribute_table): Add artificial attribute.
      	* final.c (override_filename, override_linenum): New variables.
      	(final_scan_insn): For DBX_DEBUG or SDB_DEBUG, set override_filename
      	and override_linenum if inside of a block inlined from
      	__attribute__((__artificial__)) function.
      	(notice_source_line): Honor override_filename and override_linenum.
      	* doc/extend.texi: Document __attribute__((__artificial__)).
      	* config/i386/emmintrin.h: Add __artificial__ attribute to
      	all __always_inline__ functions.
      	* config/i386/mmintrin.h: Likewise.
      	* config/i386/tmmintrin.h: Likewise.
      	* config/i386/mm3dnow.h: Likewise.
      	* config/i386/pmmintrin.h: Likewise.
      	* config/i386/ammintrin.h: Likewise.
      	* config/i386/xmmintrin.h: Likewise.
      	* config/i386/smmintrin.h: Likewise.
      	* config/i386/bmmintrin.h: Likewise.
      	* config/i386/mmintrin-common.h: Likewise.
      
      From-SVN: r128686
      Jakub Jelinek committed
    • re PR middle-end/28755 (duplicate members of arrays) · 32eed045
      	PR middle-end/28755
      	* expr.c (expand_constructor): New function.
      	(expand_expr_real_1) <case CONSTRUCTOR>: Call it.
      	(expand_expr_real_1) <case ARRAY_REF>: Call it if VALUE is
      	CONSTRUCTOR.
      
      	* gcc.dg/pr28755.c: New test.
      
      From-SVN: r128685
      Jakub Jelinek committed
    • mips.c (dump_constants_1): Generalize to include fractional and accumulator modes. · f2531eb6
      gcc/
      	* config/mips/mips.c (dump_constants_1): Generalize to include
      	fractional and accumulator modes.
      
      From-SVN: r128684
      Richard Sandiford committed
    • mips.h (ISA_HAS_DSP, [...]): New macros. · 254d1646
      gcc/
      	* config/mips/mips.h (ISA_HAS_DSP, ISA_HAS_DSPR2): New macros.
      	* config/mips/mips.c (mips_set_mips16_mode): Don't clear the DSP
      	flags for MIPS16.
      	(override_options): Check TARGET_HARD_FLOAT_ABI instead of
      	TARGET_HARD_FLOAT when testing whether -mpaired-single is
      	supported.
      	(mips_conditional_register_usage): Check ISA_HAS_DSP instead of
      	TARGET_DSP.
      	* config/mips/constraints.md (ka): Check ISA_HAS_DSPR2 instead of
      	TARGET_DSPR2.
      	* config/mips/mips.md (ANYF): Require TARGET_HARD_FLOAT for V2SF.
      	(mulv2sf3, movv2sf, movv2sf_hardfloat_64bit): Require
      	TARGET_HARD_FLOAT.
      	(<u>mulsidi3_32bit_internal, <u>msubsidi4, <u>maddsidi4): Check
      	ISA_HAS_DSPR2 instead of TARGET_HAS_DSPR2.
      	* config/mips/mips-dsp.md: Use ISA_HAS_DSP instead of TARGET_HAS_DSP
      	throughout.
      	* config/mips/mips-dspr2.md: Likewise ISA_HAS_DSPR2 and
      	TARGET_HAS_DSPR2.
      	* config/mips/mips-fixed.md: Use ISA_HAS_DSP and ISA_HAS_DSPR2
      	instead of TARGET_HAS_DSP and TARGET_HAS_DSPR2.
      	* config/mips/mips-ps-3d.md: Add TARGET_HARD_FLOAT to V2SF patterns.
      
      gcc/testsuite/
      	* lib/target-supports.exp (check_effective_target_nomips16): New
      	procedure.
      	* lib/fortran-torture.exp: Check nomips16 as well as mpaired_single
      	for mipsisa64*-*-*.
      	* gcc.dg/vect/vect.exp: Likewise.
      	* g++.dg/vect/vect.exp: Likewise.
      	* gcc.target/mips/mips.exp (setup_mips_tests): Don't set mips_mips16.
      	(dg-mips-options): Don't skip -march* and -mips* tests for -mips16.
      	* gcc.target/mips/branch-cost-1.c (foo): Add NOMIPS16.
      	* gcc.target/mips/branch-cost-2.c (foo): Likewise.
      	* gcc.target/mips/clear-cache-1.c (f): Likewise.
      	* gcc.target/mips/dpaq_sa_l_w.c (f1, f2, f3): Likewise.
      	* gcc.target/mips/dpsq_sa_l_w.c (f1, f2, f3): Likewise.
      	* gcc.target/mips/fix-vr4130-1.c (foo): Likewise.
      	* gcc.target/mips/fix-vr4130-2.c (foo): Likewise.
      	* gcc.target/mips/fix-vr4130-3.c (foo): Likewise.
      	* gcc.target/mips/fix-vr4130-4.c (foo): Likewise.
      	* gcc.target/mips/fixed-scalar-type.c (test1, test2, test3, test4)
      	(test5, test6, test7, test8, test9, test10, test11, test12, test13)
      	(test14, test15, test16, test17, test18): Likewise.
      	* gcc.target/mips/fixed-vector-type.c (test1, test2, test3, test4)
      	(test5, test6, test7, test8, test9, test10, test11, test12, test13)
      	(test14, test15, test16, test17, test18, test19, test20, test21)
      	(test22): Likewise.
      	* gcc.target/mips/madd-1.c (f1, f2, f3): Likewise.
      	* gcc.target/mips/madd-2.c (f1, f2, f3): Likewise.
      	* gcc.target/mips/madd-4.c (f1, f2, f3): Likewise.
      	* gcc.target/mips/maddu-1.c (f1, f2, f3): Likewise.
      	* gcc.target/mips/maddu-2.c (f1, f2, f3): Likewise.
      	* gcc.target/mips/maddu-4.c (f1, f2, f3): Likewise.
      	* gcc.target/mips/mips-3d-1.c (main): Likewise.
      	* gcc.target/mips/mips-3d-2.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15, test16, test17, test18, test19, test20)
      	(test21, test22, test23, test24, test25, test26, test27, test28)
      	(test29, test30, test31): Likewise.
      	* gcc.target/mips/mips-3d-3.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15, test16, test17, test18, test19, test20)
      	(test21, test22, test23, test24, test25, test26, test27, test28)
      	(test29, test30, test31, test32, test33, test34, test35, test36)
      	(test37, test38, test39, test40, test41, test42, test43, test44)
      	(test45, test46, test47, test48, test49, test50, test51, test52)
      	(test53, test54, test55, test56, test57, test58, test59, test60)
      	(test61, test62, test63): Likewise.
      	* gcc.target/mips/mips-3d-4.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15, test16, test17, test18, test19, test20)
      	(test21, test22, test23, test24, test25, test26, test27, test28)
      	(test29, test30, test31): Likewise.
      	* gcc.target/mips/mips-3d-5.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15, test16, test17, test18, test19, test20)
      	(test21, test22, test23, test24, test25, test26, test27, test28)
      	(test29, test30, test31): Likewise.
      	* gcc.target/mips/mips-3d-6.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15): Likewise.
      	* gcc.target/mips/mips-3d-7.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15): Likewise.
      	* gcc.target/mips/mips-3d-8.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15, test16, test17, test18, test19, test20)
      	(test21, test22, test23, test24, test25, test26, test27, test28)
      	(test29, test30, test31): Likewise.
      	* gcc.target/mips/mips-3d-9.c (matrix_multiply2, matrix_multiply3)
      	(matrix_multiply4: Likewise.
      	* gcc.target/mips/mips-ps-1.c (main): Likewise.
      	* gcc.target/mips/mips-ps-2.c (main): Likewise.
      	* gcc.target/mips/mips-ps-3.c (main): Likewise.
      	* gcc.target/mips/mips-ps-4.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15, test16, test17, test18, test19, test20)
      	(test21, test22, test23, test24, test25, test26, test27, test28)
      	(test29, test30, test31): Likewise.
      	* gcc.target/mips/mips-ps-5.c (main, test0, test1, test2, test3)
      	(test4, test5, test6, test7, test8, test9, test10, test11, test12)
      	(test13, test14, test15, test16, test17, test18, test19, test20)
      	(test21, test22, test23, test24, test25, test26, test27, test28)
      	(test29, test30, test31): Likewise.
      	* gcc.target/mips/mips-ps-5.c (main): Likewise.
      	* gcc.target/mips/mips-ps-6.c (main): Likewise.
      	* gcc.target/mips/mips-ps-type.c (init, move, load, store, add, sub)
      	(neg, mul, madd, msub, nmadd, nmsub, cond_move1, cond_move2): Likewise.
      	* gcc.target/mips/mips32-dsp-type.c (add_v2hi,add_v4qi, sub_v2hi)
      	(sub_v4qi): Likewise.
      	* gcc.target/mips/mips32-dsp.c (test_MIPS_DSP, add_v2q15, add_v4i8)
      	(sub_v2q15, sub_v4i8, test_MIPS_DSP): Likewise.
      	* gcc.target/mips/movcc-1.c (sub1, sub2): Likewise.
      	* gcc.target/mips/movcc-2.c (sub4, sub5): Likewise.
      	* gcc.target/mips/movcc-3.c (sub3, sub6, sub7, sub8, sub9, suba)
      	(subb, subc): Likewise.
      	* gcc.target/mips/msub-1.c (f1, f2): Likewise.
      	* gcc.target/mips/msub-2.c (f1, f2): Likewise.
      	* gcc.target/mips/msub-4.c (f1, f2): Likewise.
      	* gcc.target/mips/msubu-1.c (f1, f2): Likewise.
      	* gcc.target/mips/msubu-2.c (f1, f2): Likewise.
      	* gcc.target/mips/msubu-4.c (f1, f2): Likewise.
      	* gcc.target/mips/nmadd-1.c (sub1, sub2, sub3, sub4): Likewise.
      	* gcc.target/mips/nmadd-2.c (sub1, sub2, sub3, sub4): Likewise.
      	* gcc.target/mips/rsqrt-1.c (foo, bar): Likewise.
      	* gcc.target/mips/rsqrt-2.c (foo, bar): Likewise.
      	* gcc.target/mips/sb1-1.c (divide, recip, squareroot, rsqrt): Likewise.
      	* gcc.target/mips/vr-mult-1.c (f1, f2): Likewise.
      	* gcc.target/mips/vr-mult-2.c (f1, f2): Likewise.
      
      From-SVN: r128683
      Richard Sandiford committed
    • re PR c++/15269 (__attribute__((deprecated)) broken with inline, ignored with… · 1a68a4e8
      re PR c++/15269 (__attribute__((deprecated)) broken with inline, ignored with pure virtual, misreported after definition)
      
              PR c++/15269
              * call.c (build_over_call): Warn about deprecated virtuals.
      
      From-SVN: r128682
      Jason Merrill committed
    • re PR c++/19407 (vector keyword in typedef inside template struct ignored) · a7f6bc8c
              PR c++/19407
              * cp/cp-tree.h (ATTR_IS_DEPENDENT): New macro.
              (MAYBE_TAGGED_TYPE_P): Remove.
              * cp/pt.c (apply_late_template_attributes): Check ATTR_IS_DEPENDENT
              instead of calling is_late_template_attribute again.
              (tsubst_decl) [TYPE_DECL]: Just check if the name is the tag.
              (tsubst): A typedef is a TYPE_NAME != TYPE_MAIN_DECL.
              Don't crash on typedefs from non-template classes.
              * cp/decl2.c (grokfield): Don't sorry about attrs on template parms.
              (is_late_template_attribute): All attributes applied to template
              parms or typename types are dependent.  Static, take decl.
              (splice_template_attributes): Pass decl through.
              (save_template_attributes): Likewise.
              * attribs.c (lookup_attribute_spec): Split out...
              (decl_attributes): From here.
              * tree.h: Declare it.
      
      From-SVN: r128681
      Jason Merrill committed
    • Daily bump. · 1e74fb44
      From-SVN: r128679
      GCC Administrator committed
  3. 22 Sep, 2007 2 commits