Commit Graph

89902 Commits

Author SHA1 Message Date
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
Jakub Jelinek
c0b290997f re PR fortran/37536 (a mfcr is produced instead of branches for DO loops)
PR fortran/37536
	* trans-stmt.c (gfc_trans_do): Optimize integer type non-simple
	do loop initialization.

From-SVN: r140433
2008-09-17 23:51:50 +02:00
Eric Botcazou
1a8c909ebd varasm.c (initializer_constant_valid_p): Forbid view-conversions from aggregate to non-aggregate type if...
* varasm.c (initializer_constant_valid_p): Forbid view-conversions
	from aggregate to non-aggregate type if the bit pattern is not fully
	preserved afterwards.

From-SVN: r140432
2008-09-17 21:48:08 +00:00
Richard Guenther
9f509004fc tree-cfg.c (verify_types_in_gimple_assign): Rename to ...
2008-09-17  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_types_in_gimple_assign): Rename to ...
	(verify_gimple_assign): ... this.  Split into ...
	(verify_gimple_assign_unary): ... this,
	(verify_gimple_assign_binary): ... that,
	(verify_gimple_assign_single): ... and this.
	(verify_types_in_gimple_stmt): Call verify_gimple_assign.
	Fix GIMPLE_CHANGE_DYNAMIC_TYPE handling.
	(verify_types_in_gimple_min_lval): Handle TARGET_MEM_REF.
	(verify_types_in_gimple_reference): Be forgiving with
	VIEW_CONVERT_EXPRs.
	(verify_gimple_phi): Deal with virtual operands.

	* tree.def (PREDICT_EXPR): Change to tcc_expression.

From-SVN: r140431
2008-09-17 21:42:55 +00:00
Andrew Pinski
2700cb8675 re PR objc/37460 (NeXT runtime ICEs)
2008-09-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * tree.c (get_callee_fndecl): Don't call the language hook.
        * langhooks.h (lang_hooks): Remove lang_get_callee_fndecl.
        * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): Kill.
        (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_GET_CALLEE_FNDECL.


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

        PR objc/37460
        * objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
        * objc-act.h (objc_get_callee_fndecl): Remove prototype.
        * objc-act.c (objc_get_callee_fndecl): Kill.

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

        * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
        (java_get_callee_fndecl): Kill.

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

        PR objc/37460
        * objcp-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.

From-SVN: r140430
2008-09-17 14:39:13 -07:00
Jakub Jelinek
6847a7549c tree.c (protected_set_expr_location): Don't unnecessarily check for error_mark_node.
* tree.c (protected_set_expr_location): Don't unnecessarily
	check for error_mark_node.

From-SVN: r140429
2008-09-17 23:26:45 +02:00
Richard Guenther
c74147d2a9 re PR c++/22374 (C++ front-end produces mis-match types in MODIFY_EXPR (dynamic_cast))
2008-09-17  Richard Guenther  <rguenther@suse.de>

	PR c++/22374
	* rtti.c (build_dynamic_cast_1): Convert the COND_EXPR
	result to the correct type.

From-SVN: r140427
2008-09-17 19:07:27 +00:00
H.J. Lu
52a764acf7 re PR c++/37450 (C++ FE times out on duplicated parameter)
2008-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR c++/37450
	* name-lookup.c (pushdecl_maybe_friend): Don't return the old
	parameter for duplicate.

From-SVN: r140425
2008-09-17 10:57:24 -07:00
Jason Merrill
118dde55d8 re PR c++/37558 (rev 140120 changes the accessibility of a friend decl.)
PR c++/37588
        * name-lookup.c (lookup_type_scope): Look through sk_function_parms.

From-SVN: r140424
2008-09-17 13:31:08 -04:00
Jakub Jelinek
8aff539b68 re PR c++/37552 (ICE with invalid array access)
PR c++/37552
	* typeck.c (build_array_ref): Use protected_set_expr_location instead
	of SET_EXPR_LOCATION when ret might not be an expression.

	* g++.dg/parse/crash49.C: New test.

From-SVN: r140422
2008-09-17 18:07:08 +02:00
Jakub Jelinek
1b829d45a8 re PR preprocessor/37324 (FAIL: gcc.dg/utf-array.c (test for errors))
PR preprocessor/37324
	* lib/target-supports.exp
	(check_effective_target_wchar_t_char16_t_compatible,
	check_effective_target_wchar_t_char32_t_compatible): New.
	* gcc.dg/utf-array.c: Use __CHAR{16,32}_TYPE__ macros in typedefs.
	Only require from incompatible errors for char{16,32}_t vs. wchar_t
	initializations if those types are indeed incompatible.

From-SVN: r140421
2008-09-17 18:05:11 +02:00
Art Haas
71b1071304 ipa-reference.c (analyze_function): Declare step only if ENABLE_CHECKING is defined.
2008-09-17  Art Haas  <ahaas@impactweather.com>

	* ipa-reference.c (analyze_function): Declare step only if
	ENABLE_CHECKING is defined.

From-SVN: r140420
2008-09-17 08:46:03 -07:00
Jan Hubicka
0494626aae re PR middle-end/18071 (-Winline does not respect -fno-default-inline)
PR c++/18071
	* tree.h (DECL_INLINE): remove.
	(DECL_DECLARED_INLINE_P): Update docs.
	(DECL_NO_INLINE_WARNING_P): new.
	(tree_function_decl): Replace inline_flag by no_inline_warning_flag.
	* tree-inline.c (inlinable_function_p): Set DECL_NO_INLINE_WARNING_P.

	Java:
	* class.c (add_method_1): Do not initialize DECL_INLINE.
	(make_local_function_alias): Likewise.
	* expr.c (rewrite_arglist_getcaller): Set DECL_UNINLINABLE.
	* lang.c (java_decl_ok_for_sibcall): Use DECL_UNINLINABLE.

	Objc:
	* objc/objc-act.c (objc_finish_method_definition): Do not set DECL_INLINE.
	
	C++:
	* cp/decl.c (start_method): Set DECL_NO_INLINE_WARNING_P.

From-SVN: r140418
2008-09-17 15:00:59 +00:00
Jakub Jelinek
1c1b0507d4 re PR bootstrap/37441 (dwarf2 unwind info patches produce undefined symbols)
PR bootstrap/37441
	* dwarf2out.c (dwarf2out_do_cfi_asm) [MIPS_DEBUGGING_INFO]: Return
	false.

Co-Authored-By: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

From-SVN: r140417
2008-09-17 12:26:43 +00:00
Jan Hubicka
ebcf9dc823 ipa-reference.c (ipa_obstack): Remove.
* ipa-reference.c (ipa_obstack): Remove.
	(local_info_obstack, global_info_obstack): New.
	(add_static_var): We now handle variables only.
	(mark_address_taken, mark_load, mark_store): New functions based on ...
	(check_operand): ... remove.
	(get_asm_stmt_operands): Rename to ...
	(check_asm_memory_clobber): ... this. Look only for memory clobber.
	(scan_stmt_for_static_refs): Rewrite.
	(scan_op_for_static_refs): Rename to ...
	(scan_initializer_for_static_refs): do not look for VAR_DECL
	initializers; stop recursion on types and decls.
	(ipa_init): Use proper obstacks.
	(analyze_variable): Use scan_initializer_for_static_refs.
	(init_function_info): Use local obstack.
	(analyze_function): Simplify.
	(add_new_function): We don't need visited_nodes obstack.
	(generate_summary): Use proper obstacks; cleanup after propagation.

From-SVN: r140415
2008-09-17 12:02:42 +00:00
Richard Guenther
791f17147f re PR middle-end/37385 (ICE in set_mem_alias_set with the vectorizer and function pointers)
2008-09-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/37385
	PR tree-optimization/37491
	* alias.c (get_alias_set): Use the canonical type.
	* tree-vect-transform.c (vectorizable_store): Use the type of
	the lhs for the vector type.  Adjust checking.
	(vectorizable_load): Adjust checking.

From-SVN: r140412
2008-09-17 11:42:11 +00:00