Commit Graph

90017 Commits

Author SHA1 Message Date
Ira Rosen 5abf386014 re PR tree-optimization/37539 (Hang for -O3)
PR tree-optimization/37539
	* tree-vect-transform.c (vect_transform_strided_load): Save vector
	statement in related statement field only for the first load of the
	group of loads with the same data reference.

From-SVN: r140522
2008-09-21 08:36:07 +00:00
Adam Nemet ce00be9ede mips.h (TUNE_OCTEON): New macro.
* config/mips/mips.h (TUNE_OCTEON): New macro.
	* config/mips/mips.c (mips_issue_rate): Return 2 for Octeon.
	(mips_multipass_dfa_lookahead): Return 2 for Octeon.
	* config/mips/octeon.md: New file.
	* config/mips/mips.md: Include octeon.md.  Restore
	semi-alphabetical order of include files.

From-SVN: r140521
2008-09-21 06:15:52 +00:00
GCC Administrator 4881ceecf3 Daily bump.
From-SVN: r140519
2008-09-21 00:16:39 +00:00
Eric Botcazou 9db2221827 re PR rtl-optimization/33642 (unrecognizable insn for -frtl-abstract-sequences)
PR rtl-optimization/33642
	* gcc.c-torture/compile/pr11832.c: XFAIL on SPARC.
	* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r140516
2008-09-20 19:15:19 +00:00
H.J. Lu 5a73c47600 re PR target/37571 (Performance regression due to compare/branch fuse optimization)
2008-09-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/37571
	* config/i386/i386.md (*jcc_fused_1): Removed.
	(*jcc_fused_2): Likewise.
	(*jcc_fused_3): Likewise.
	(*jcc_fused_4): Likewise.

From-SVN: r140514
2008-09-20 08:07:46 -07:00
Eric Botcazou 7fda15966e exp_dbug.ads: Document new convention for the XVZ variable.
* exp_dbug.ads: Document new convention for the XVZ variable.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
	debug info if necessary for the type padding the component type.
	<E_Array_Subtype>: Likewise.
	(maybe_pad_type): Emit the XVZ variable in units.
	* gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
	(Subprogram_Body_to_gnu): Set the source line of the subprogram's node
	on statements generated to initialize the parameter attributes cache.
	Set the source line of the end label of the body on the special return
	statement built for a procedure with copy-in copy-out parameters.

From-SVN: r140513
2008-09-20 10:29:08 +00:00
Richard Sandiford 76e68dca26 tm.texi (TARGET_IRA_COVER_CLASSES): Define.
gcc/
	* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Define.
	(IRA_COVER_CLASSES): Refer to TARGET_IRA_COVER_CLASSES.
	* target.h (gcc_target): Add ira_cover_classes.
	* ira.c: Remove IRA_COVER_CLASSES guards.
	(setup_cover_and_important_classes): Use targetm.ira_cover_classes
	instead of IRA_COVER_CLASSES.
	(setup_cover_and_important_classes): Remove IRA_COVER_CLASSES guard.
	(setup_class_translate): Likewise.
	(setup_reg_class_intersect_union): Likewise.
	(find_reg_class_closure): Replace IRA_COVER_CLASSES guard with a
	test of targetm.ira_cover_classes.
	* opts.c (decode_options): Use targetm.ira_cover_classes instead
	of IRA_COVER_CLASSES.
	* target-def.h (TARGET_IRA_COVER_CLASSES): Define.
	(TARGET_INITIALIZER): Include it.
	* targhooks.h (default_ira_cover_classes): Declare.
	* targhooks.c (default_ira_cover_classes): New function.

From-SVN: r140512
2008-09-20 09:15:43 +00:00
Eric Botcazou d84b344a6c re PR ada/37585 (undefined references at -O for ACATS c650001)
PR ada/37585
	* gcc-interface/utils.c (create_subprog_decl): Disable inlining for
	inlined external functions if they contain a nested function not
	declared inline.

From-SVN: r140511
2008-09-20 08:41:55 +00:00
Bob Wilson 398857e4fb * config/xtensa/xtensa.md (reload<mode>_literal): Handle MEM operands.
From-SVN: r140509
2008-09-20 02:43:00 +00:00
GCC Administrator b680c09618 Daily bump.
From-SVN: r140507
2008-09-20 00:16:57 +00:00
Ian Lance Taylor acafbcde95 varasm.c (narrowing_initializer_constant_valid_p): Return NULL_TREE if ENDTYPE is not an integer.
* varasm.c (narrowing_initializer_constant_valid_p): Return
	NULL_TREE if ENDTYPE is not an integer.

From-SVN: r140502
2008-09-19 22:30:12 +00:00
Andrew Pinski f22b7039d8 re PR tree-optimization/30930 (vector can cause to create an extra variable, DECL_GIMPLE_REG_P not recomputed)
2008-09-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/30930
        * tree-ssa.c (execute_update_addresses_taken): Also update
        DECL_GIMPLE_REG_P for vector and complex types.


2008-09-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/30930
        * gcc.dg/tree-ssa/vector-2.c: New test.
        * gcc.dg/tree-ssa/vector-3.c: New test.

From-SVN: r140501
2008-09-19 15:24:06 -07:00
Andreas Tobler 8c3b36006d Fix typo s/darwin/bsd
From-SVN: r140498
2008-09-19 22:28:53 +02:00
Jakub Jelinek e2b3410665 proc.c: New file.
2008-09-19  Jakub Jelinek  <jakub@redhat.com>
	    Andreas Tobler  <a.tobler@schweiz.org>

	* config/bsd/proc.c: New file.
	* configure.tgt (*-*-darwin*): Use config_path "darwin posix".
	* configure.ac: Check for header <sys/sysctl.h>
	* configure: Regenerate.
	* config.h.in: Likewise.

Co-Authored-By: Andreas Tobler <a.tobler@schweiz.org>

From-SVN: r140497
2008-09-19 22:27:11 +02:00
Andrew MacLeod 60ffe2fe5e re PR middle-end/37567 (tree SSA to normal checking takes abnormally long time)
PR middle-end/37567
	* tree-ssa-ter.c (free_temp_expr_table): Make sure fields are actually
	empty before freeing them.
	(find_replaceable_exprs): Move asserts to free_temp_expr_table.


Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r140494
2008-09-19 17:37:13 +00:00
Johannes Singler c38b84d8f1 re PR libstdc++/37470 (parallel/base.h log2 conflicts with math.h)
2008-09-19  Johannes Singler  <singler@ira.uka.de>

        PR libstdc++/37470
        * include/parallel/base.h: Rename log2 to __log2.
          (__log2) Avoid infinite loop for n <= 0, return 0.
        * include/parallel/losertree.h: Rename log2 to __log2.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.

From-SVN: r140490
2008-09-19 11:37:16 +00:00
Bob Wilson 6a7a462cbf configure.ac: Add HAVE_AS_TLS check for Xtensa.
* configure.ac: Add HAVE_AS_TLS check for Xtensa.
	* config/xtensa/predicates.md (tls_symbol_operand): New.
	* config/xtensa/xtensa.c (TARGET_HAVE_TLS): Define.
	(TARGET_CANNOT_FORCE_MEM): Define.
	(xtensa_tls_symbol_p): New.
	(xtensa_emit_move_sequence): Check for and legitimize TLS addresses.
	(xtensa_legitimate_address_p): Disallow constant pool TLS references.
	(xtensa_tls_module_base): New.
	(xtensa_call_tls_desc): New.
	(xtensa_legitimize_tls_address): New.
	(xtensa_legitimize_address): Handle TLS symbols.
	(xtensa_tls_referenced_p_1): New.
	(xtensa_tls_referenced_p): New.
	(xtensa_output_addr_const_extra): Handle UNSPEC_TPOFF and UNSPEC_DTPOFF.
	(XTENSA_BUILTIN_THREAD_POINTER): New.
	(XTENSA_BUILTIN_SET_THREAD_POINTER): New.
	(xtensa_init_builtins): Set NOTHROW and READONLY for umulsidi3 builtin.
	Add declarations for __builtin_thread_pointer and
	__builtin_set_thread_pointer.
	(xtensa_fold_builtin): Recognize new builtins.
	(xtensa_expand_builtin): Expand new builtins.
	* config/xtensa/xtensa.h (XCHAL_HAVE_THREADPTR): Define default value.
	(TARGET_THREADPTR): Define.
	(HAVE_AS_TLS): Define default value.
	(LEGITIMATE_CONSTANT_P): Disallow TLS references.
	* config/xtensa/xtensa.md (UNSPEC_TPOFF, UNSPEC_DTPOFF): New.
	(UNSPEC_TLS_FUNC, UNSPEC_TLS_ARG, UNSPEC_TLS_CALL, UNSPEC_TP): New.
	(UNSPECV_SET_TP): New.
	(sym_TPOFF, sym_DTPOFF): New.
	(load_tp, set_tp, tls_func, tls_arg, tls_call): New.
	* config/xtensa/xtensa-protos.h (xtensa_tls_referenced_p): Declare.
	* configure: Regenerated.

From-SVN: r140482
2008-09-19 00:18:42 +00:00
GCC Administrator 342f11d55a Daily bump.
From-SVN: r140480
2008-09-19 00:16:37 +00:00
Bob Wilson 5448552def pr11832.c: xfail on xtensa*-*-*.
* gcc.c-torture/compile/pr11832.c: xfail on xtensa*-*-*.
	* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r140477
2008-09-19 00:16:04 +00:00
Janis Johnson 48ca24b27a re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
PR testsuite/25241
	* lib/g++.exp (g++_init): Enable overrides of dg-error, dg-warning
	for C++ tests.
	* g++.dg/conversion/ambig1.C: Clean up dg-error/dg-warning; use
	dg-message for notes.
	* g++.dg/conversion/simd1.C: Ditto.
	* g++.dg/conversion/simd3.C: Ditto.
	* g++.dg/cpp0x/rv2n.C: Ditto.
	* g++.dg/cpp0x/rv3n.C: Ditto.
	* g++.dg/cpp0x/rv4n.C: Ditto.
	* g++.dg/cpp0x/rv5n.C: Ditto.
	* g++.dg/cpp0x/rv6n.C: Ditto.
	* g++.dg/cpp0x/rv7n.C: Ditto.
	* g++.dg/cpp0x/variadic36.C: Ditto.
	* g++.dg/cpp0x/variadic59.C: Ditto.
	* g++.dg/cpp0x/variadic71.C: Ditto.
	* g++.dg/cpp0x/variadic-ex13.C: Ditto.
	* g++.dg/expr/cond9.C: Ditto.
	* g++.dg/expr/pmf-1.C: Ditto.
	* g++.dg/ext/case-range2.C: Ditto.
	* g++.dg/ext/case-range3.C: Ditto.
	* g++.dg/ext/is_class_error2.C: Ditto.
	* g++.dg/ext/label5.C: Ditto.
	* g++.dg/ext/pr27019.C: Ditto.
	* g++.dg/gomp/pr26690-1.C: Ditto.
	* g++.dg/gomp/pr26690-2.C: Ditto.
	* g++.dg/gomp/pr34694.C: Ditto.
	* g++.dg/gomp/tpl-parallel-2.C: Ditto.
	* g++.dg/inherit/base3.C: Ditto.
	* g++.dg/inherit/using6.C: Ditto.
	* g++.dg/init/brace6.C: Ditto.
	* g++.dg/init/ctor4.C: Ditto.
	* g++.dg/lookup/conv-1.C: Ditto.
	* g++.dg/lookup/new1.C: Ditto.
	* g++.dg/lookup/scoped6.C: Ditto.
	* g++.dg/lookup/using7.C: Ditto.
	* g++.dg/lookup/using9.C: Ditto.
	* g++.dg/other/abstract1.C: Ditto.
	* g++.dg/other/abstract2.C: Ditto.
	* g++.dg/other/anon5.C: Ditto.
	* g++.dg/other/crash-4.C: Ditto.
	* g++.dg/other/error10.C: Ditto.
	* g++.dg/other/error13.C: Ditto.
	* g++.dg/other/error20.C: Ditto.
	* g++.dg/other/error5.C: Ditto.
	* g++.dg/other/field1.C: Ditto.
	* g++.dg/other/offsetof5.C: Ditto.
	* g++.dg/other/semicolon.C: Ditto.
	* g++.dg/overload/ambig1.C: Ditto.
	* g++.dg/overload/arg3.C: Ditto.
	* g++.dg/overload/builtin1.C: Ditto.
	* g++.dg/overload/copy1.C: Ditto.
	* g++.dg/overload/new1.C: Ditto.
	* g++.dg/overload/template4.C: Ditto.
	* g++.dg/overload/using2.C: Ditto.
	* g++.dg/parse/bitfield2.C: Ditto.
	* g++.dg/parse/constant4.C: Ditto.
	* g++.dg/parse/crash20.C: Ditto.
	* g++.dg/parse/crash36.C: Ditto.
	* g++.dg/parse/crash5.C: Ditto.
	* g++.dg/parse/error11.C: Ditto.
	* g++.dg/parse/error12.C: Ditto.
	* g++.dg/parse/error19.C: Ditto.
	* g++.dg/parse/error28.C: Ditto.
	* g++.dg/parse/friend5.C: Ditto.
	* g++.dg/parse/invalid-op1.C: Ditto.
	* g++.dg/parse/missing-template1.C: Ditto.
	* g++.dg/parse/non-dependent2.C: Ditto.
	* g++.dg/parse/ret-type2.C: Ditto.
	* g++.dg/parse/specialization1.C: Ditto.
	* g++.dg/parse/template18.C: Ditto.
	* g++.dg/parse/template3.C: Ditto.
	* g++.dg/parse/template9.C: Ditto.
	* g++.dg/tc1/dr108.C: Ditto.
	* g++.dg/tc1/dr152.C: Ditto.
	* g++.dg/tc1/dr166.C: Ditto.
	* g++.dg/template/access11.C: Ditto.
	* g++.dg/template/access2.C: Ditto.
	* g++.dg/template/access3.C: Ditto.
	* g++.dg/template/access7.C: Ditto.
	* g++.dg/template/copy1.C: Ditto.
	* g++.dg/template/crash13.C: Ditto.
	* g++.dg/template/crash37.C: Ditto.
	* g++.dg/template/crash40.C: Ditto.
	* g++.dg/template/crash58.C: Ditto.
	* g++.dg/template/ctor5.C: Ditto.
	* g++.dg/template/dependent-expr5.C: Ditto.
	* g++.dg/template/eh2.C: Ditto.
	* g++.dg/template/error2.C: Ditto.
	* g++.dg/template/error33.C: Ditto.
	* g++.dg/template/error4.C: Ditto.
	* g++.dg/template/friend31.C: Ditto.
	* g++.dg/template/friend32.C: Ditto.
	* g++.dg/template/instantiate1.C: Ditto.
	* g++.dg/template/instantiate3.C: Ditto.
	* g++.dg/template/instantiate5.C: Ditto.
	* g++.dg/template/instantiate7.C: Ditto.
	* g++.dg/template/local6.C: Ditto.
	* g++.dg/template/lookup2.C: Ditto.
	* g++.dg/template/member5.C: Ditto.
	* g++.dg/template/memfriend15.C: Ditto.
	* g++.dg/template/memfriend16.C: Ditto.
	* g++.dg/template/memfriend17.C: Ditto.
	* g++.dg/template/memfriend7.C: Ditto.
	* g++.dg/template/meminit1.C: Ditto.
	* g++.dg/template/nested3.C: Ditto.
	* g++.dg/template/new3.C: Ditto.
	* g++.dg/template/nontype12.C: Ditto.
	* g++.dg/template/nontype13.C: Ditto.
	* g++.dg/template/nontype6.C: Ditto.
	* g++.dg/template/non-type-template-argument-1.C: Ditto.
	* g++.dg/template/overload9.C: Ditto.
	* g++.dg/template/ptrmem15.C: Ditto.
	* g++.dg/template/ptrmem17.C: Ditto.
	* g++.dg/template/ptrmem4.C: Ditto.
	* g++.dg/template/ptrmem6.C: Ditto.
	* g++.dg/template/ptrmem8.C: Ditto.
	* g++.dg/template/qualified-id1.C: Ditto.
	* g++.dg/template/qualttp20.C: Ditto.
	* g++.dg/template/qualttp3.C: Ditto.
	* g++.dg/template/qualttp4.C: Ditto.
	* g++.dg/template/qualttp5.C: Ditto.
	* g++.dg/template/qualttp6.C: Ditto.
	* g++.dg/template/qualttp7.C: Ditto.
	* g++.dg/template/qualttp8.C: Ditto.
	* g++.dg/template/recurse.C: Ditto.
	* g++.dg/template/sfinae10.C: Ditto.
	* g++.dg/template/sfinae3.C: Ditto.
	* g++.dg/template/spec22.C: Ditto.
	* g++.dg/template/spec23.C: Ditto.
	* g++.dg/template/static9.C: Ditto.
	* g++.dg/template/template-id-2.C: Ditto.
	* g++.dg/template/typename2.C: Ditto.
	* g++.dg/template/typename4.C: Ditto.
	* g++.dg/template/using14.C: Ditto.
	* g++.dg/template/using2.C: Ditto.
	* g++.dg/template/warn1.C: Ditto.
	* g++.dg/warn/incomplete1.C: Ditto.
	* g++.dg/warn/noeffect2.C: Ditto.
	* g++.dg/warn/noeffect4.C: Ditto.
	* g++.dg/warn/pr8570.C: Ditto.
	* g++.dg/warn/Wparentheses-13.C: Ditto.
	* g++.dg/warn/Wparentheses-15.C: Ditto.
	* g++.dg/warn/Wparentheses-16.C: Ditto.
	* g++.dg/warn/Wparentheses-17.C: Ditto.
	* g++.dg/warn/Wparentheses-18.C: Ditto.
	* g++.dg/warn/Wparentheses-19.C: Ditto.
	* g++.dg/warn/Wparentheses-20.C: Ditto.
	* g++.dg/warn/Wparentheses-23.C: Ditto.
	* g++.dg/warn/Wstrict-aliasing-3.C: Ditto.
	* g++.old-deja/g++.benjamin/15799.C: Ditto.
	* g++.old-deja/g++.benjamin/15800-1.C: Ditto.
	* g++.old-deja/g++.benjamin/16077.C: Ditto.
	* g++.old-deja/g++.bob/inherit2.C: Ditto.
	* g++.old-deja/g++.brendan/ambiguity1.C: Ditto.
	* g++.old-deja/g++.brendan/crash29.C: Ditto.
	* g++.old-deja/g++.brendan/crash48.C: Ditto.
	* g++.old-deja/g++.brendan/crash56.C: Ditto.
	* g++.old-deja/g++.brendan/cvt3.C: Ditto.
	* g++.old-deja/g++.brendan/overload1.C: Ditto.
	* g++.old-deja/g++.brendan/overload4.C: Ditto.
	* g++.old-deja/g++.brendan/overload9.C: Ditto.
	* g++.old-deja/g++.bugs/900127_01.C: Ditto.
	* g++.old-deja/g++.bugs/900205_04.C: Ditto.
	* g++.old-deja/g++.bugs/900330_02.C: Ditto.
	* g++.old-deja/g++.bugs/900404_03.C: Ditto.
	* g++.old-deja/g++.bugs/900514_03.C: Ditto.
	* g++.old-deja/g++.eh/ctor1.C: Ditto.
	* g++.old-deja/g++.eh/spec6.C: Ditto.
	* g++.old-deja/g++.ext/overload1.C: Ditto.
	* g++.old-deja/g++.jason/conversion11.C: Ditto.
	* g++.old-deja/g++.jason/crash3.C: Ditto.
	* g++.old-deja/g++.jason/lineno3.C: Ditto.
	* g++.old-deja/g++.jason/lineno4.C: Ditto.
	* g++.old-deja/g++.jason/opeq3.C: Ditto.
	* g++.old-deja/g++.jason/overload16.C: Ditto.
	* g++.old-deja/g++.jason/overload28.C: Ditto.
	* g++.old-deja/g++.jason/pmf5.C: Ditto.
	* g++.old-deja/g++.jason/scoping10.C: Ditto.
	* g++.old-deja/g++.jason/template30.C: Ditto.
	* g++.old-deja/g++.jason/temporary2.C: Ditto.
	* g++.old-deja/g++.jason/tredecl4.C: Ditto.
	* g++.old-deja/g++.law/arg11.C: Ditto.
	* g++.old-deja/g++.law/arg1.C: Ditto.
	* g++.old-deja/g++.law/arm9.C: Ditto.
	* g++.old-deja/g++.law/ctors11.C: Ditto.
	* g++.old-deja/g++.law/ctors17.C: Ditto.
	* g++.old-deja/g++.law/ctors5.C: Ditto.
	* g++.old-deja/g++.law/ctors9.C: Ditto.
	* g++.old-deja/g++.law/enum4.C: Ditto.
	* g++.old-deja/g++.law/missed-error2.C: Ditto.
	* g++.old-deja/g++.law/operators9.C: Ditto.
	* g++.old-deja/g++.mike/net22.C: Ditto.
	* g++.old-deja/g++.mike/net2.C: Ditto.
	* g++.old-deja/g++.mike/p11110.C: Ditto.
	* g++.old-deja/g++.mike/p1989.C: Ditto.
	* g++.old-deja/g++.mike/p2431.C: Ditto.
	* g++.old-deja/g++.mike/p438.C: Ditto.
	* g++.old-deja/g++.mike/p807a.C: Ditto.
	* g++.old-deja/g++.mike/p9068.C: Ditto.
	* g++.old-deja/g++.niklas/t120.C: Ditto.
	* g++.old-deja/g++.niklas/t121.C: Ditto.
	* g++.old-deja/g++.niklas/t128.C: Ditto.
	* g++.old-deja/g++.ns/overload2.C: Ditto.
	* g++.old-deja/g++.ns/template13.C: Ditto.
	* g++.old-deja/g++.ns/using12.C: Ditto.
	* g++.old-deja/g++.oliva/delete1.C: Ditto.
	* g++.old-deja/g++.oliva/overload1.C: Ditto.
	* g++.old-deja/g++.other/crash24.C: Ditto.
	* g++.old-deja/g++.other/crash25.C: Ditto.
	* g++.old-deja/g++.other/decl3.C: Ditto.
	* g++.old-deja/g++.other/expr1.C: Ditto.
	* g++.old-deja/g++.other/overcnv2.C: Ditto.
	* g++.old-deja/g++.other/overload11.C: Ditto.
	* g++.old-deja/g++.other/pmf3.C: Ditto.
	* g++.old-deja/g++.other/ptrmem7.C: Ditto.
	* g++.old-deja/g++.other/vaarg3.C: Ditto.
	* g++.old-deja/g++.other/volatile1.C: Ditto.
	* g++.old-deja/g++.pt/assign1.C: Ditto.
	* g++.old-deja/g++.pt/auto_ptr.C: Ditto.
	* g++.old-deja/g++.pt/const2.C: Ditto.
	* g++.old-deja/g++.pt/crash10.C: Ditto.
	* g++.old-deja/g++.pt/crash20.C: Ditto.
	* g++.old-deja/g++.pt/crash36.C: Ditto.
	* g++.old-deja/g++.pt/crash38.C: Ditto.
	* g++.old-deja/g++.pt/derived3.C: Ditto.
	* g++.old-deja/g++.pt/error2.C: Ditto.
	* g++.old-deja/g++.pt/explicit34.C: Ditto.
	* g++.old-deja/g++.pt/explicit70.C: Ditto.
	* g++.old-deja/g++.pt/friend23.C: Ditto.
	* g++.old-deja/g++.pt/ptrmem10.C: Ditto.
	* g++.old-deja/g++.pt/redecl1.C: Ditto.
	* g++.old-deja/g++.pt/spec35.C: Ditto.
	* g++.old-deja/g++.pt/t05.C: Ditto.
	* g++.old-deja/g++.pt/typename3.C: Ditto.
	* g++.old-deja/g++.pt/typename6.C: Ditto.
	* g++.old-deja/g++.pt/unify8.C: Ditto.
	* g++.old-deja/g++.pt/vaarg3.C: Ditto.
	* g++.old-deja/g++.robertl/eb109.C: Ditto.
	* g++.old-deja/g++.robertl/eb131.C: Ditto.
	* g++.old-deja/g++.robertl/eb22.C: Ditto.
	* g++.old-deja/g++.robertl/eb44.C: Ditto.
	* g++.old-deja/g++.robertl/eb4.C: Ditto.
	* g++.old-deja/g++.robertl/eb69.C: Ditto.
	* g++.dg/parse/constructor1.C: Remove "error" from dg-error, preserving
	column number.
	* g++.dg/parse/error10.C: Ditto.
	* g++.dg/parse/error13.C: Ditto.
	* g++.dg/parse/error14.C: Ditto.
	* g++.dg/parse/error15.C: Ditto.
	* g++.dg/parse/error16.C: Ditto.
	* g++.dg/parse/error17.C: Ditto.
	* g++.dg/parse/error18.C: Ditto.
	* g++.dg/parse/error1.C: Ditto.
	* g++.dg/parse/error20.C: Ditto.
	* g++.dg/parse/error21.C: Ditto.
	* g++.dg/parse/error22.C: Ditto.
	* g++.dg/parse/error23.C: Ditto.
	* g++.dg/parse/error24.C: Ditto.
	* g++.dg/parse/error25.C: Ditto.
	* g++.dg/parse/error26.C: Ditto.
	* g++.dg/parse/error27.C: Ditto.
	* g++.dg/parse/error29.C: Ditto.
	* g++.dg/parse/error2.C: Ditto.
	* g++.dg/parse/error30.C: Ditto.
	* g++.dg/parse/error31.C: Ditto.
	* g++.dg/parse/error3.C: Ditto.
	* g++.dg/parse/error4.C: Ditto.
	* g++.dg/parse/error5.C: Ditto.
	* g++.dg/parse/error6.C: Ditto.
	* g++.dg/parse/error7.C: Ditto.
	* g++.dg/parse/error8.C: Ditto.
	* g++.dg/parse/error9.C: Ditto.
	* g++.dg/parse/error-column.C: Ditto.
	* g++.dg/template/crash80.C: Ditto.
	* g++.dg/template/friend44.C: Ditto.
	* g++.dg/warn/pr26785.C: Ditto.
	* g++.old-deja/g++.brendan/crash16.C: Ditto.

From-SVN: r140476
2008-09-18 22:29:39 +00:00
H.J. Lu faae4ae73f re PR target/37394 (Segfault in ia64_variable_issue with -O -fschedule-insns2)
gcc/

2008-09-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/37394
	* config/ia64/ia64.c (ia64_optimization_options): Move
	checking and setting flag_schedule_insns_after_reload and
	ia64_flag_schedule_insns2 back to ...
	(ia64_override_options): Here.

gcc/testsuite/

2008-09-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/37394
	* g++.dg/other/pr37394.C: New.

From-SVN: r140475
2008-09-18 13:27:36 -07:00
Paul Thomas 334e912a93 re PR fortran/35945 (Complex module-based overloading fails)
2008-09-18  Paul Thomas  <pault@gcc.gnu.org>

       PR fortran/35945
       * resolve.c (resolve_fl_variable_derived):  Remove derived type
       comparison for use associated derived types.  Host association
       of a derived type will not arise if there is a local derived type
       whose use name is the same.

       PR fortran/36700
       * match.c (gfc_match_call):  Use the existing symbol even if
       it is a function.

2008-09-18  Paul Thomas  <pault@gcc.gnu.org>

       PR fortran/35945
       * gfortran.dg/host_assoc_types_2.f90: New test.

       PR fortran/36700
       * gfortran.dg/host_assoc_call_2.f90: New test.

From-SVN: r140474
2008-09-18 20:21:03 +00:00
DJ Delorie 47993132a0 * gcc.c-torture/execute/20060420-1.c: Fix alignment logic.
From-SVN: r140473
2008-09-18 16:12:14 -04:00
Jan Hubicka 4db26d6c4d utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
* gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
	(end_subprog_body): Do not set DECL_INLINE.

From-SVN: r140472
2008-09-18 20:08:13 +00:00
Andrew Pinski b2a38b1d6e re PR rtl-optimization/37451 (Extra addition for doloop in some cases)
2008-09-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR rtl-opt/37451
        * loop-doloop.c (doloop_modify): New argument zero_extend_p and
        zero extend count after the correction to it is done.
        (doloop_optimize): Update call to doloop_modify, don't zero extend
        count before call.

From-SVN: r140470
2008-09-18 12:28:48 -07:00
Paolo Carlini c78a2119d8 shared_ptr.h (__shared_count<>:: __shared_count(_Ptr, _Deleter), [...]): Qualify new with ::.
2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (__shared_count<>::
	__shared_count(_Ptr, _Deleter), __shared_count<>::
	__shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
	__shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
	Qualify new with ::.

From-SVN: r140469
2008-09-18 18:55:55 +00:00
Jan Hubicka e7f8819332 re PR middle-end/37448 (cannot compile big function)
PR middle-end/37448
	* ipa-reference.c (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move here from ipa-reference.h
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_reference_vars_info_from_cgraph): Rename to ...
	(get_reference_vars_info): ... this one, use cgraph uids.
	(get_local_reference_vars_info, get_global_reference_vars_info):
	Use cgraph instead of decl.
	(ipa_reference_get_read_local, ipa_reference_get_written_local): Remove.
	(ipa_reference_get_read_global, ipa_reference_get_not_read_global
	ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use
	cgraph argument.
	(check_call): Simplify avail check.
	(scan_stmt_for_static_refs): Update.
	(propagate_bits): Update.
	(merge_callee_local_info): Remove.
	(init_function_info): Use cgraph nodes.
	(clean_function_local_data): Break out from ...
	(clean_function): ... here.
	(copy_local_bitmap, copy_global_bitmap): New functions.
	(duplicate_node_data, remove_node_data): New functions.
	(generate_summary): Register hooks; use visibility instead of
	master clones.
	(propafate): Use cgraph nodes; copy bitmap to each node in cycle.
	* ipa-reference.h (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move to ipa-reference.c
	(ipa_reference_get_read_local, ipa_reference_get_written_local):
	Remove.
	(ipa_reference_get_read_global, ipa_reference_get_written_global,
	ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
	Update prototype.
	* ipa-pure-const.c (funct_state_vec): Turn into VECtor.
	(init_state): Remove.
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_function_state, set_function_state): Use VECtor.
	(analyze_function): Check body availability.
	(add_new_function): Likewise.
	(duplicate_node_data, remove_node_data): New.
	(generate_summary): Register hooks; do not care about clones.
	(propafate): Do not care about clones; recursive functions are not looping.
	* ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
	* ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
	* edge_duplication_hook_holder, node_duplication_hook_holder): Make
	static.
	* tree-flow.h (function_ann_d): Remove reference_vars_info.
	* tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of
	ipa-reference accesors.

From-SVN: r140465
2008-09-18 18:16:45 +00:00
Martin Jambor be95e2b925 ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.
2008-09-18  Martin Jambor  <mjambor@suse.cz>

	* ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.

	* ipa-prop.c: Correct comments.
	* ipa-prop.h: Likewise.

From-SVN: r140464
2008-09-18 19:57:05 +02:00
Jan Hubicka e2c9111c0e re PR middle-end/37448 (cannot compile big function)
PR middle-end/37448
	* ipa-reference.c (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move here from ipa-reference.h
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_reference_vars_info_from_cgraph): Rename to ...
	(get_reference_vars_info): ... this one, use cgraph uids.
	(get_local_reference_vars_info, get_global_reference_vars_info):
	Use cgraph instead of decl.
	(ipa_reference_get_read_local, ipa_reference_get_written_local): Remove.
	(ipa_reference_get_read_global, ipa_reference_get_not_read_global
	ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use
	cgraph argument.
	(check_call): Simplify avail check.
	(scan_stmt_for_static_refs): Update.
	(propagate_bits): Update.
	(merge_callee_local_info): Remove.
	(init_function_info): Use cgraph nodes.
	(clean_function_local_data): Break out from ...
	(clean_function): ... here.
	(copy_local_bitmap, copy_global_bitmap): New functions.
	(duplicate_node_data, remove_node_data): New functions.
	(generate_summary): Register hooks; use visibility instead of
	master clones.
	(propafate): Use cgraph nodes; copy bitmap to each node in cycle.
	* ipa-reference.h (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move to ipa-reference.c
	(ipa_reference_get_read_local, ipa_reference_get_written_local):
	Remove.
	(ipa_reference_get_read_global, ipa_reference_get_written_global,
	ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
	Update prototype.
	* ipa-pure-const.c (funct_state_vec): Turn into VECtor.
	(init_state): Remove.
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_function_state, set_function_state): Use VECtor.
	(analyze_function): Check body availability.
	(add_new_function): Likewise.
	(duplicate_node_data, remove_node_data): New.
	(generate_summary): Register hooks; do not care about clones.
	(propafate): Do not care about clones; recursive functions are not looping.
	* ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
	* ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
	* edge_duplication_hook_holder, node_duplication_hook_holder): Make
	static.
	* tree-flow.h (function_ann_d): Remove reference_vars_info.
	* tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of
	ipa-reference accesors.

From-SVN: r140463
2008-09-18 17:28:40 +00:00
Steve Ellcey 52d1bfd8cd * MAINTAINERS: Add myself as ia64 maintainer.
From-SVN: r140462
2008-09-18 16:24:37 +00:00
Simon Baldwin c047ce9383 cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined.
* include/cpplib.h (struct cpp_options): Add new boolean flag
	warn_builtin_macro_redefined.
	* init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined.
	* (struct builtin_operator): Split out from previous struct builtin,
	enhance extra const correctness.
	* (struct builtin_macro): Split out from previous struct builtin, add
	new always_warn_if_redefined flag, enhance const correctness.
	* (mark_named_operators): Use struct builtin_operator.
	* (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN
	to builtins selectively.
	* macro.c (warn_of_redefinition): Return false if a builtin macro
	is not flagged with NODE_WARN.

	* c-opts.c (c_common_handle_option): Add handling for
	-Wbuiltin-macro-redefined command line option.
	* c.opt: Added builtin-macro-redefined option.
	* doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined
	documentation.

	* gcc.dg/builtin-redefine.c: New.

From-SVN: r140461
2008-09-18 15:39:08 +00:00
Richard Guenther 1d29588628 re PR tree-optimization/37258 (ice in simplify_subreg, at simplify-rtx.c:4957)
2008-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37258
	* tree-ssa-sccvn.c (vn_phi_compute_hash): Include the precision
	and signedness for integral types.
	(vn_phi_eq): Require compatible types.

	* gcc.c-torture/compile/pr37258.c: New testcase.

From-SVN: r140460
2008-09-18 15:27:21 +00:00
Jakub Jelinek 802e9f8e7c re PR debug/34037 (Bounds for VLAs not emitted into debuginfo)
PR debug/34037
	* gimplify.c (gimplify_type_sizes): When not optimizing, ensure
	TYPE_MIN_VALUE and TYPE_MAX_VALUE is not is not DECL_IGNORED_P
	VAR_DECL.
	* cfgexpand.c (expand_used_vars): Keep DECL_ARTIFICIAL
	!DECL_IGNORED_P vars in local_decls list for instantiate_decls,
	ggc_free other TREE_LIST nodes from that chain.
	* function.c (instantiate_decls): Instantiate also DECL_RTL
	of vars in cfun->local_decls, free that list afterwards.

From-SVN: r140459
2008-09-18 17:17:10 +02:00
Eric Botcazou a2cd689a68 sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to...
* config/sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to...
	* config/sparc/sparc.h (WIDEST_HARDWARE_FP_SIZE): ...here.

From-SVN: r140458
2008-09-18 14:25:39 +00:00
Andrew MacLeod 4b756989b3 Fix comments and formatrting
From-SVN: r140457
2008-09-18 14:13:54 +00:00
Andrew Macleod a38df783a2 Correct the formatting
From-SVN: r140456
2008-09-18 14:07:35 +00:00
Andrew MacLeod ffd327a731 fix PR 37102 by having out of ssa remove dead PHI nodes.
From-SVN: r140455
2008-09-18 13:58:55 +00:00
Richard Guenther 3d9fbb9abd re PR middle-end/37284 (ICE on valid code with -fstrict-aliasing)
2008-09-18  Richard Guenther  <rguenther@suse.de>

	PR middle-end/37284
	* tree-cfg.c (remove_useless_stmts_1): Remove
	GIMPLE_CHANGE_DYNAMIC_TYPE if not optimizing.

	* g++.dg/tree-ssa/pr37284.C: New testcase.

From-SVN: r140453
2008-09-18 12:52:31 +00:00
Nick Clifton 35f2d8efd6 frv.h (IRA_COVER_CLASSES): Define.
* config/frv/frv.h (IRA_COVER_CLASSES): Define.
  (SECONDARY_INPUT_RELOAD_CLASS): Omit unused argument in call
  to frv_secondary_reload_class.
  (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
  * config/frv/frv.c (TARGET_SECONDARY_RELOAD): Define.
  (frv_secondary_reload_class): Omit unused parameter.
  (frv_secondary_reload): New function.  Handle the case when
  secondary_reload_class() is called before the reload_(in|out)
  _optabs have been initialised.
  * config/frv/frv-protos.h (frv_secondary_reload_class): Omit
  unused parameter.
  * config/frv/frv.md: Define an exclusion set between fr550_m0
  and fr550_f0.

From-SVN: r140452
2008-09-18 12:04:46 +00:00
Daniel Kraft f25a62a5f3 re PR fortran/37507 (Print location in (DE)ALLOCATION errors)
2008-09-18  Daniel Kraft  <d@domob.eu>

	PR fortran/37507
	* trans.h (gfc_trans_runtime_error): New method.
	(gfc_trans_runtime_error_vararg): New method.
	(gfc_allocate_array_with_status): New argument `expr' for locus/varname.
	(gfc_deallocate_array_with_status): Ditto.
	* trans-array.h (gfc_array_deallocate): Ditto.
	* trans.c (gfc_trans_runtime_error): New method.
	(gfc_trans_runtime_error_vararg): New method, moved parts of the code
	from gfc_trans_runtime_check here.
	(gfc_trans_runtime_error_check): Moved code partly to new method.
	(gfc_call_malloc): Fix tab-indentation.
	(gfc_allocate_array_with_status): New argument `expr' and call
	gfc_trans_runtime_error for error reporting to include locus.
	(gfc_deallocate_with_status): Ditto.
	* trans-stmt.c (gfc_trans_deallocate): Pass expr as new argument.
	* trans-array.c (gfc_array_allocate): Ditto.
	(gfc_array_deallocate): New argument `expr', passed on.
	(gfc_trans_dealloc_allocated): Pass NULL for expr.
	* trans-openmp.c (gfc_omp_clause_default): Ditto.

2008-09-18  Daniel Kraft  <d@domob.eu>

	PR fortran/37507
	* gfortran.dg/allocate_error_1.f90: New test.
	* gfortran.dg/deallocate_error_1.f90: New test.
	* gfortran.dg/deallocate_error_2.f90: New test.

From-SVN: r140451
2008-09-18 14:02:50 +02:00
Richard Guenther e7089ecf1c re PR middle-end/37456 (ICE: verify_flow_info failed: control flow in the middle of basic block)
2008-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37456
	* tree-ssa-reassoc.c (build_and_add_sum): If the stmt we
	want to insert after ends a BB insert on the single fallthru
	outgoing edge.

	* testsuite/g++.dg/torture/pr37456.C: New testcase.

From-SVN: r140449
2008-09-18 11:28:18 +00:00
Andreas Krebbel 59a1bff3e2 invoke.texi: Document -mhard-dfp, -mno-hard-dfp.
2008-09-18  Andreas Krebbel  <krebbel1@de.ibm.com>

	* doc/invoke.texi: Document -mhard-dfp, -mno-hard-dfp.
	Mention -march=z9-109, z9-ec and z10.

From-SVN: r140447
2008-09-18 11:07:03 +00:00
Uros Bizjak 02bb8bce3b re PR rtl-optimization/37544 (Conversion double -> unsigned long long -> unsigned -> double gives wrong results)
PR rtl-optimization/37544
	* regrename.c (maybe_mode_change): Exit early when copy_mode
	is narrower than orig_mode and narrower than new_mode.

testsuite/ChangeLog:

	PR rtl-optimization/37544
	* gcc.dg/pr37544.c: New test.

From-SVN: r140446
2008-09-18 12:17:42 +02:00
Alexander Monakov d9e74dfcc1 re PR middle-end/37499 (Scheduling pass 2 time increases by order of magnitude)
2008-09-18  Alexander Monakov  <amonakov@ispras.ru>

	PR middle-end/37499
	* sched-int.h (struct _haifa_insn_data): Remove unused field
	ref_count.

	* sched-rgn.c (ref_counts): Remove.
	(insn_referenced): New static variable.
	(INSN_REF_COUNT): Remove.
	(sched_run_compute_dependencies): Use insn_referenced instead of
	INSN_REF_COUNT.
	(add_branch_dependences): Likewise.  Delete dead assignment.

From-SVN: r140445
2008-09-18 12:29:48 +04:00
Adam Nemet 078a70a15e haifa-sched.c (dep_cost_1): Recognize the producer even if the consumer is an asm.
* haifa-sched.c (dep_cost_1): Recognize the producer even if the
	consumer is an asm.  Add comment why this is important.
	(choose_ready): Add comment to the "INSN_CODE (insn) >= 0 ||
	recog_memoized (insn) < 0" assert.  Put ENABLE_CHECKING around
	it.

From-SVN: r140444
2008-09-18 05:24:57 +00:00
Joseph Myers 38c4df0b85 expr.c (emit_group_store): Do not shift before moving via a stack slot.
* expr.c (emit_group_store): Do not shift before moving via a
	stack slot.

From-SVN: r140442
2008-09-18 02:09:40 +01:00
GCC Administrator 2acafa84bd Daily bump.
From-SVN: r140440
2008-09-18 00:16:44 +00:00
Janis Johnson c95ef33cc6 re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
PR testsuite/25241
	* g++.old-deja/g++.brendan/crash7.C: Remove "error" or "warning" from
	message for dg-error/dg-warning.
	* g++.old-deja/g++.jason/crash11.C: Ditto.
	* g++.old-deja/g++.oliva/template1.C: Ditto.
	* g++.old-deja/g++.benjamin/tem03.C: Ditto.
	* g++.dg/rtti/no-rtti.C: Ditto.
	* g++.dg/cpp/pedantic-errors.C: Ditto.
	* g++.dg/cpp/string-2.C: Ditto.
	* g++.dg/ext/fpreg1.C: Ditto.
	* g++.dg/ext/altivec-types-1.C: Ditto.
	* g++.dg/warn/write-strings-default.C: Ditto.
	* g++.dg/warn/Wvla-2.C: Ditto.
	* g++.dg/warn/register-var-1.C: Ditto.
	* g++.dg/warn/deprecated-3.C: Ditto.
	* g++.dg/warn/pr30551-2.C: Ditto.
	* g++.dg/warn/overflow-warn-1.C: Ditto.
	* g++.dg/warn/pr30551.C: Ditto.
	* g++.dg/warn/pointer-integer-comparison.C: Ditto.
	* g++.dg/warn/pr12242.C: Ditto.
	* g++.dg/warn/write-strings.C: Ditto.
	* g++.dg/warn/overflow-warn-3.C: Ditto.
	* g++.dg/warn/overflow-warn-4.C: Ditto.
	* g++.dg/warn/overflow-warn-6.C: Ditto.
	* g++.dg/parse/crash43.C: Ditto.
	* g++.dg/parse/crash44.C: Ditto.
	* g++.dg/parse/offsetof8.C: Ditto.
	* g++.dg/gomp/pr35158.C: Ditto.
	* g++.dg/template/crash81.C: Ditto.

From-SVN: r140437
2008-09-17 23:23:11 +00:00
Paolo Carlini 116a365bd4 re PR libstdc++/37547 ([c++0x] minmax with initializer_list gives incorrect results)
2008-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37547
	* include/bits/stl_algo.h (min(initializer_list<>),
	min(initializer_list<>, Compare), max(initializer_list<>),
	max(initializer_list<>, Compare), minmax(initializer_list<>),
	minmax(initializer_list<>, Compare)): Fix return type.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
	* testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/min/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
	3.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/max/37547.cc: New.
	* testsuite/25_algorithms/min/37547.cc: Likewise.
	* testsuite/25_algorithms/minmax/37547.cc: Likewise.

From-SVN: r140435
2008-09-17 22:58:38 +00:00
Paul Thomas 0b4e2af765 re PR fortran/37274 ([Regression on 4.3?] error: type name is ambiguous.)
2008-09-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/37274
	PR fortran/36374
	* module.c (check_for_ambiguous): New function to test loaded
	symbol for ambiguity with fixup symbol.
	(read_module): Call check_for_ambiguous.
	(write_symtree): Do not write the symtree for symbols coming
	from an interface body.

	PR fortran/36374
	* resolve.c (count_specific_procs ): New function to count the
	number of specific procedures with the same name as the generic
	and emit appropriate errors for and actual argument reference.
	(resolve_assumed_size_actual): Add new argument no_formal_args.
	Correct logic around passing generic procedures as arguments.
	Call count_specific_procs from two locations.
	(resolve_function): Evaluate and pass no_formal_args.
	(resolve call): The same and clean up a bit by using csym more
	widely.

	PR fortran/36454
	* symbol.c (gfc_add_access): Access can be updated if use
	associated and not private.

2008-09-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/37274
	* gfortran.dg/used_types_22.f90: New test.
	* gfortran.dg/used_types_23.f90: New test.

	PR fortran/36374
	* gfortran.dg/generic_17.f90: New test.
	* gfortran.dg/ambiguous_specific_2.f90: New test.
	* gfortran.dg/generic_actual_arg.f90: Add test for case that is
	not ambiguous.

	PR fortran/36454
	* gfortran.dg/access_spec_3.f90: New test.

From-SVN: r140434
2008-09-17 22:23:51 +00:00