Commit Graph

83740 Commits

Author SHA1 Message Date
Tobias Schlüter
86e9d05f35 re PR fortran/33269 (Diagnose missing "(" in "PRINT ('a'),")
PR fortran/33269
fortran/
* io.c (check_format_string): Move NULL and constant checks into
this function.
(check_io_constraints): Call gfc_simplify_expr() before calling
check_format_string().  Remove NULL and constant checks.
testsuite/
* gfortran.dg/fmt_error_2.f90: New.

From-SVN: r128732
2007-09-24 23:15:00 +02:00
Roman Zippel
c028b28617 loop-2f.x: New.
* gcc.c-torture/execute/loop-2f.x: New. Disable test for m68k-linux.
	* gcc.c-torture/execute/loop-2g.x: Likewise.

From-SVN: r128731
2007-09-24 21:10:14 +00:00
Roman Zippel
aaca7021ce m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use "move.l %a4,%a4" to produce nops.
* config/m68k/m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use
	"move.l %a4,%a4" to produce nops.
	* config/m68k/m68k.c (override_options): Reset align options,
	if neccessary align macro isn't avaible.

From-SVN: r128730
2007-09-24 21:07:08 +00:00
Roman Zippel
bd7993c83c config/m68k/linux.h (PREFERRED_STACK_BOUNDARY): New.
From-SVN: r128729
2007-09-24 21:05:07 +00:00
Roman Zippel
3925008145 m68k.c (strict_low_part_peephole_ok): Don't leave the basic block.
* config/m68k/m68k.c (strict_low_part_peephole_ok): Don't leave
	the basic block.
	* config/m68k/m68k.md (movsi_m68k): Allow certain constant when
	reload is completed.
	(peephole pattern): Convert most of them to RTL peephole pattern.

From-SVN: r128728
2007-09-24 21:02:40 +00:00
Roman Zippel
67595cbb21 m68k.c (notice_update_cc): Recognize fp compare (moved from fp compare patterns).
* config/m68k/m68k.c (notice_update_cc): Recognize fp compare
	(moved from fp compare patterns).
	* config/m68k/m68k.md (cmp<mode>, cmp<mode>_68881, cmp<mode>_cf):
	Cleanup predicates to relieve reload.
	(conditional_trap): Reject conditional trap with fp condition.
	* gcc/config/m68k/predicates.md (fp_src_operand): New, reject
	certain constants early.

From-SVN: r128727
2007-09-24 21:00:22 +00:00
Roman Zippel
d5aa0eb1c4 * gcc/final.c (final_scan_insn): Remove accidentally duplicated code.
From-SVN: r128726
2007-09-24 20:57:06 +00:00
Jason Merrill
7a20d68989 re PR c++/33239 (internal compiler error in instantiate_class_template, at cp/pt.c:5666)
PR c++/33239
        * pt.c (resolve_typename_type): Don't look things up in the original
        template if it would mean losing template arguments.

From-SVN: r128725
2007-09-24 16:54:34 -04:00
Francois-Xavier Coudert
7b7bdf67e0 re PR fortran/33538 (bootstrap break in fortran on *-apple-darwin r128671)
PR fortran/33538
	* scanner.c, parse.c, gfortran.h: Revert revision 128671.

From-SVN: r128724
2007-09-24 20:24:11 +00:00
Richard Sandiford
06d20fa91b target-supports.exp (check_effective_target_mips16_attribute): Reject hard-float modes unless the ABI is o32 or o64.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_mips16_attribute):
	Reject hard-float modes unless the ABI is o32 or o64.
	* gcc.target/mips/inter/mips16-inter.exp: Load gcc-dg.exp instead
	of gcc.exp.  Skip the tests when mips16 code generation is not
	supported.
	* gcc.target/mips/mips16-attributes.c: Require mips16_attribute
	and use dg-add-options mips16_attribute.

From-SVN: r128723
2007-09-24 19:57:29 +00:00
Andrew Pinski
a951757d9f config.gcc (powerpc*-*-*): --with-cpu=cell is a 64bit CPU.
2007-09-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config.gcc (powerpc*-*-*): --with-cpu=cell is a 64bit CPU.
        Allow --with-tune=cell and --with-cpu=cell.

From-SVN: r128721
2007-09-24 10:15:50 -07:00
Peter Bergner
a054acde5d * MAINTAINERS (Register allocation reviewer): Add myself.
From-SVN: r128720
2007-09-24 11:55:40 -05:00
David Edelsohn
9c78b944a8 rs6000-protos.h (rs6000_emit_swrsqrtsf): Declare.
* config/rs6000/rs6000-protos.h (rs6000_emit_swrsqrtsf): Declare.
	* config/rs6000/rs6000.opt (swdiv): Change option to ...
	(recip): this.
	* config/rs6000/rs6000.c (rs6000_builtin_reciprocal): New
	function.
	(TARGET_BUILTIN_RECIPROCAL): Use it.
	(rs6000_builtin_expand): Expand recip, recipf, and rsqrtf.
	(rs6000_init_builtins): Initialize recip, recipf, and rsqrtf.
	(rs6000_emit_swrsqrtsf): New.
	* config/rs6000/rs6000.h (rs6000_builtins): Add recip, recipf, and
	rsqrtf. 
	* config/rs6000/rs6000.md (UNSPEC_RSQRT): Define.
	(divsf3): Remove swdiv support.
	(recipsf3): New.
	(rsqrtsf2): New.
	(rsqrt_internal1): New.
	(divdf3): Remove swdiv support.
	(reciptdf3): New.

From-SVN: r128719
2007-09-24 11:39:18 -04:00
Jakub Jelinek
2dff8956e3 re PR c++/33506 (TYPE_RAISES_EXCEPTIONS dumped with attributes)
PR c++/33506
	* langhooks.h (struct lang_hooks_for_types): Add type_hash_eq
	field.
	* langhooks-def.h (LANG_HOOKS_TYPE_HASH_EQ): Define.
	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_HASH_EQ.
	* tree.c (type_hash_eq): For FUNCTION_TYPE use
	lang_hooks.type.type_hash_eq in addition to generic tests.

	* cp-tree.h (cxx_type_hash_eq): New prototype.
	* cp-objcp-common.h (LANG_HOOKS_TYPE_HASH_EQ): Redefine.
	* tree.c (cxx_type_hash_eq): New function.

	* g++.dg/ext/attrib29.C: New test.

From-SVN: r128718
2007-09-24 17:16:23 +02:00
Douglas Gregor
c946ce8bb9 re PR c++/33185 (ICE: canonical types differ for identical types T [] and T [])
2007-09-24  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33185	
	* tree.c (cp_build_qualified_type_real): Build a canonical
	ARRAY_TYPE if the original ARRAY_TYPE was not a canonical type.

From-SVN: r128717
2007-09-24 13:46:40 +00:00
Kenneth Zadeck
ffda6fc98d MAINTAINERS (Register allocation reviewer): Add myself.
2006-09-24  Kenneth Zadeck <zadeck@naturalbridge.com>

    * MAINTAINERS (Register allocation reviewer): Add myself.

From-SVN: r128716
2007-09-24 13:42:39 +00:00
Pranav Bhandarkar
625a2efbe7 tree-inline.h (eni_weights): Add field target_builtin_cost to reflect the cost per call to a target specific...
2007-09-24  Pranav Bhandarkar  <pranav.bhandarkar@celunite.com>
        Ramana Radhakrishnan  <ramana@hercules.pun.celunite.com>

        * tree-inline.h (eni_weights): Add field target_builtin_cost to
        reflect the cost per call to a target specific builtin.
        * tree-inline.c (estimate_num_insns_1): If it is a CALL_EXPR for
        * a
        call to a target specific builtin, then use
target_builtin_call_cost.
        (init_inline_once): Initialize target_builtin_call_cost field.

Co-Authored-By: Ramana Radhakrishnan <ramana@hercules.pun.celunite.com>

From-SVN: r128714
2007-09-24 13:31:25 +00:00
Uros Bizjak
548183dbd3 * testsuite/ChangeLog: Fix whitespace.
From-SVN: r128713
2007-09-24 14:36:57 +02:00
Uros Bizjak
e139c7f95d * ChangeLog: Fix whitespace.
From-SVN: r128712
2007-09-24 14:35:14 +02:00
Douglas Gregor
714f2304c6 re PR c++/33112 (ICE : canonical types differ for identical types const _CharT* [14] and const _CharT* [14])
2007-09-24  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/33112
	PR c++/33185	
	* tree.c (cplus_array_compare): Compare pointers, not types.
	(build_cplus_array_type_1): Store new array type into the hash
	table before building the canonical type; build the canonical type
	correctly.
	(cp_build_qualified_type_real): Put all of the array types with
	cv-qualified element types into the C++ array hash table, built as 
	variants of the unqualified versions.

From-SVN: r128711
2007-09-24 12:14:57 +00:00
Kai Tietz
996caac6da [patch][Bug middle-end/33472] ICE and invalid rtl sharing with complex on
x86_64-mingw.

2007-09-24  Kai Tietz  <kai.tietz@onevision.com>

	* i386.c: (return_in_memory_ms_64): Handle return types for complex types.

From-SVN: r128710
2007-09-24 11:20:34 +02:00
GCC Administrator
40bc41879b Daily bump.
From-SVN: r128707
2007-09-24 00:17:10 +00:00
H.J. Lu
5702b2736a configure.ac (ld_vers): Support GNU linker version xx.xx.*
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
2007-09-23 14:07:27 -07:00
Ollie Wild
e5901cad3f fold-const.c (fold_binary): Fold BIT_AND_EXPR's with a pointer operand.
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
2007-09-23 20:05:40 +00:00
Richard Sandiford
50b73fcde4 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
2007-09-23 19:20:01 +00:00
Richard Sandiford
e9276c3012 opth-gen.awk (target_flags_explicit): Declare.
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
2007-09-23 19:18:27 +00:00
Richard Sandiford
4923a23068 tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to word_mode as well as Pmode.
gcc/
	* doc/tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to
	word_mode as well as Pmode.

From-SVN: r128698
2007-09-23 19:11:50 +00:00
Richard Sandiford
1e1c1dec7a pr21591.c: Require vect_int.
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
2007-09-23 19:09:56 +00:00
Richard Sandiford
208996c7d7 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
2007-09-23 19:08:56 +00:00
Jakub Jelinek
4c4717752a configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
* configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
	* configure: Regenerated.

From-SVN: r128693
2007-09-23 19:42:31 +02:00
Jan Hubicka
f287975956 params.def (INLINE_CALL_COST): Set to 12.
* params.def (INLINE_CALL_COST): Set to 12.
	* invoke.texi (inline-call-cost): Update default value.

From-SVN: r128692
2007-09-23 15:42:06 +00:00
Jason Merrill
823dd937db 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
2007-09-23 11:27:10 -04:00
Eric Botcazou
4637cb9228 alpha.md (movti): Use operand_subword for the split.
* config/alpha/alpha.md (movti): Use operand_subword for the split.

From-SVN: r128690
2007-09-23 14:53:06 +00:00
Ayal Zaks
8eb7561949 Minor cosmetic change
Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r128689
2007-09-23 11:58:19 +00:00
Jakub Jelinek
97aaae90c4 re PR tree-optimization/32772 (error: found real variable when subvariables should have appeared)
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
2007-09-23 11:44:23 +02:00
Jakub Jelinek
d2af6a68d8 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
2007-09-23 11:39:39 +02:00
Jakub Jelinek
d752cfdb11 tree.h (block_nonartificial_location): New prototype.
* 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
2007-09-23 11:36:01 +02:00
Jakub Jelinek
32eed0456c re PR middle-end/28755 (duplicate members of arrays)
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
2007-09-23 11:34:28 +02:00
Richard Sandiford
f2531eb6e5 mips.c (dump_constants_1): Generalize to include fractional and accumulator modes.
gcc/
	* config/mips/mips.c (dump_constants_1): Generalize to include
	fractional and accumulator modes.

From-SVN: r128684
2007-09-23 09:29:02 +00:00
Richard Sandiford
254d164615 mips.h (ISA_HAS_DSP, [...]): New macros.
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
2007-09-23 09:24:21 +00:00
Jason Merrill
1a68a4e8c5 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
2007-09-23 00:37:26 -04:00
Jason Merrill
a7f6bc8c74 re PR c++/19407 (vector keyword in typedef inside template struct ignored)
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
2007-09-22 22:36:34 -04:00
GCC Administrator
1e74fb44cd Daily bump.
From-SVN: r128679
2007-09-23 00:17:14 +00:00
Francois-Xavier Coudert
ee07457bee re PR fortran/33528 (Wrong locations emitted with mapped locations and included files)
PR fortran/33528
	* scanner.c (preprocessor_line): Call linemap_add when exiting
	a file.
	(gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION.

From-SVN: r128676
2007-09-22 23:48:02 +00:00
Jakub Jelinek
b6efedac9d re PR c++/33496 (ICE with sizeof for invalid argument pack)
PR c++/33496
	* pt.c (tsubst_copy) <case SIZEOF_EXPR>: Handle error_mark_node
	returned from tsubst_pack_expansion.
	(tsubst_copy_and_build) <case SIZEOF_EXPR>: Likewise.
	(tsubst_copy_and_build) <case CONSTRUCTOR>: Likewise.

	* g++.dg/cpp0x/variadic76.C: New test.
	* g++.dg/cpp0x/variadic77.C: New test.
	* g++.dg/cpp0x/variadic78.C: New test.

From-SVN: r128675
2007-09-22 23:19:17 +02:00
Richard Sandiford
7dded683fd sourcebuild.texi: Document dg-add-options mips16_attribute.
gcc/
	* doc/sourcebuild.texi: Document dg-add-options mips16_attribute.

gcc/testsuite/
	* lib/target-supports.exp (add_options_for_mips16_attribute)
	(check_effective_target_mips16_attribute): New functions.
	* gcc.target/mips/mips.exp: Define MIPS16 and NOMIPS16 on the
	command line.
	(dg-mips-options) Remove -mno-mips16 handling.  Add options to
	extra_test_flags.
	* gcc.target/mips/asm-1.c (NOMIPS16): Delete.
	* gcc.target/mips/atomic-memory-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/atomic-memory-2.c (NOMIPS16): Likewise.
	* gcc.target/mips/branch-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/dspr2-MULT.c (NOMIPS16): Likewise.
	* gcc.target/mips/dspr2-MULTU.c (NOMIPS16): Likewise.
	* gcc.target/mips/fpcmp-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/fpcmp-2.c (NOMIPS16): Likewise.
	* gcc.target/mips/ins-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/madd-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/maddu-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/mips32-dsp-run.c (NOMIPS16): Likewise.
	* gcc.target/mips/mips32-dspr2-type.c (NOMIPS16): Likewise.
	* gcc.target/mips/msub-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/msubu-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/near-far-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/near-far-4.c (NOMIPS16): Likewise.
	* gcc.target/mips/neg-abs-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-lwxs.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-ror-1.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-ror-2.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-ror-3.c (NOMIPS16): Likewise.
	* gcc.target/mips/smartmips-ror-4.c (NOMIPS16): Likewise.
	* gcc.target/mips/pr26765.c: Use dg-mips-options instead of dg-options.
	(NOMIPS16): Delete.
	* gcc.target/mips/20020620-1.c: Use dg-mips-options instead
	of dg-options.
	* gcc.target/mips/call-saved-1.c: Remove -mips16 and -mno-abicalls
	options.  Require { target mips16_attribute } and use dg-add-options
	to add the associated options.
	(foo): Use MIPS16.
	* gcc.target/mips/call-saved-2.c: As for call-saved-1.c.
	* gcc.target/mips/call-saved-3.c: Likewise.
	* gcc.target/mips/code-readable-1.c: Require { target
	mips16_attribute } and use dg-add-options to add the associated
	options.  Remove trailing whitespace.
	(NOMIPS16): Delete.
	* gcc.target/mips/code-readable-2.c: Likewise.
	* gcc.target/mips/code-readable-3.c: Likewise.
	* gcc.target/mips/mips16-attributes-2.c: Likewise.
	* gcc.target/mips/mips16e-extends.c: Remove -mips16 option.
	Require { target mips16_attribute } and use dg-add-options to
	add the associated options.
	(cksum16, cksum8): Use MIPS16.
	* gcc.target/mips/save-restore-1.c: Remove -mips16 option.
	Require { target mips16_attribute } and use dg-add-options to
	add the associated options.
	(foo): Use MIPS16.
	* gcc.target/mips/save-restore-2.c: Likewise.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.
	* gcc.target/mips/save-restore-5.c: Likewise.  Also remove
	-mno-abicalls.
	* gcc.target/mips/mips-sched-madd.c: Remove -mno-mips16.
	(foo): Use NOMIPS16.

From-SVN: r128674
2007-09-22 20:10:52 +00:00
Francois-Xavier Coudert
d8eff1b8e4 re PR fortran/33522 (Incorrect warning messages about uninitialized variables)
PR fortran/33522
	* trans-types.c (gfc_get_desc_dim_type): Mark artificial
	variables with TREE_NO_WARNING.
	(gfc_get_array_descriptor_base): Likewise.

From-SVN: r128673
2007-09-22 16:54:56 +00:00
Paul Thomas
fdc55763b6 re PR fortran/33337 (ICE in gfc_finish_var_decl, at fortran/trans-decl.c:510)
2007-09-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33337
	PR fortran/33376
	* trans-decl.c (gfc_create_module_variable): Output
	derived type parameters.
	* arith.c (gfc_parentheses): Return the argument if
	it is a constant expression.
	* primary.c (gfc_match_rvalue): Remove the clearing of
	the module name and the use_assoc attribute for derived
	type parameter expressions.

2007-09-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33337
	* gfortran.dg/derived_comp_array_ref_3.f90: New test.

	PR fortran/33376
	* gfortran.dg/derived_comp_array_ref_4.f90: New test.

From-SVN: r128672
2007-09-22 15:46:41 +00:00
Francois-Xavier Coudert
a3b2d4e56c re PR fortran/33502 (gfortran with .F suffix and -g3 option chokes on preprocessor syntax)
PR fortran/33502
	* scanner.c (gfc_advance_line): Call debug_hooks->start_source_file
	and debug_hooks->end_source_file when entering and exiting
	included files.
	(gfc_define_undef_line): New function.
	(load_file): Ignore #define and #undef preprocessor lines
	while reading source files.
	* parse.c (next_statement): Handle #define and #undef
	preprocessor lines.
	(gfc_parse_file): Call debug_hooks->start_source_file and
	debug_hooks->end_source_file for the main source file if
	requested by the debug format.
	* gfortran.h (gfc_define_undef_line): Add prototype.

From-SVN: r128671
2007-09-22 15:03:24 +00:00
Tobias Burnus
9fa6cfec03 re PR fortran/33445 (Diagnose "!$OMP&" as an error in free format unless it is a continuation line)
2007-09-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33445
        * scanner.c (skip_free_comments): Warn if !$OMP& is used
        if no OpenMP directive is to be continued.

2007-09-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33445
        * gfortran.dg/gomp/free-2.f90: New.
        * gfortran.dg/gomp/appendix-a/a.31.1.f90: Add missing &.
        * gfortran.dg/gomp/omp_parse1.f90: Add dg-warning.

From-SVN: r128670
2007-09-22 16:20:57 +02:00