1. 29 Jul, 2004 21 commits
    • c-common.h (lang_post_pch_load): New variable. · 4684cd27
      	* c-common.h (lang_post_pch_load): New variable.
      	* c-pch.c (lang_post_pch_load): Define it.
      	(c_common_read_pch): Use it.
      	* cgraphunit.c (record_call_1): Give the front end a chance to
      	record additional needed entities when a variable is marked as
      	needed.
      	* tlink.c (recompile_files): Robustify.
      	(scan_linker_output): If a symbol is assigned to a file,
      	but after recompilation is not present there, issue an error
      	message.
      
      	* cp-tree.h (IDENTIFIER_REPO_CHOSEN): Define.
      	(lang_decl_flags): Narrow the width of "languages".  Add
      	repo_available_p.
      	(DECL_NEEDED_P): Remove.
      	(FOR_EACH_CLONE): New macro.
      	(DECL_REPO_AVAILABLE_P): Likewise.
      	(DECL_TINFO_P): Likewise.
      	(set_linkage_according_to_type): Declare.
      	(import_export_vtable): Remove.
      	(import_export_tinfo): Likewise.
      	(mark_needed): New function.
      	(decl_needed_p): Likewise.
      	(note_vauge_linkage_fn): Likewise.
      	(init_repo): Change prototype.
      	(repo_template_used): Remove.
      	(repo_template_instantiated): Likewise.
      	(repo_emit_p): New function.
      	(repo_export_class_p): Likewise.
      	(no_linkage_check): Change prototype.
      	* class.c (set_linkage_according_to_type): New function.
      	(build_vtable): Use it.  Do not call import_export_vtable.  Set
      	DECL_IGNORED_P if appropriate.
      	* decl.c (duplicate_decls): Preserve DECL_REPO_AVAILABLE_P.
      	(make_rtL_for_nonlocal_decls): Check for template instantiations
      	explicitly.
      	(grokfndecl): Adjust call to no_linkage_check.
      	(set_linkage_for_static_data_member): New function.
      	(grokvardecl): Use it.  Adjust call to no_linkage_check.
      	(grokdeclarator): Use set_linkage_for_static_data_member.
      	* decl2.c (note_vague_linkage_fn): New function.
      	(note_vague_linkage_var): Likewise.
      	(finish_static_data_member_decl): Use it.
      	(import_export_vtable): Remove.
      	(import_export_class): Use repo_export_class_p.
      	(var_finalized_p): Simplify.
      	(maybe_emit_vtables): Simplify.
      	(mark_needed): New function.
      	(decl_needed_p): Likewise.
      	(import_export_decl): Add documentation and consistency checks.
      	Use repo_emit_p.  Handle virtual tables and RTTI information
      	here.
      	(import_export_tinfo): Remove.
      	(write_out_vars): Call import_export_decl.
      	(cxx_callgraph_analyze_expr): Ensure that all vtables are emitted
      	whenever one is.
      	(finish_file): Use decl_needed_p.  Do not call import_export_decl
      	for undefined static data members.  Do not warn about undefined
      	inlines when using a repository.
      	(mark_used): Use note_vague_linkage_fn.  Always defer template
      	instantiations.
      	* lex.c (cxx_init): Adjust call to init_repo.  Always set
      	flag_unit_at_a-time.
      	* method.c (synthesize_method): Remove unncessary
      	import_export_decl call.
      	(implicitly_declare_fn): Use set_linkage_according_to_type.
      	* optimize.c (maybe_clone_body): Use FOR_EACH_CLONE.
      	* pt.c (instantiate_class_template): Don't redundantly add classes
      	to keyed_classes.  Don't call repo_template_used.
      	(tsubst_decl): Set DECL_INTERFACE_KNOWN for instantiations of
      	templates with internal linkage.
      	(check_instantiated_args): Adjust call to no_linkage_check.
      	(instantiate_template): Use FOR_EACH_CLONE.
      	(mark_definable): New function.
      	(mark_decl_instantiated): Use it.
      	(do_decl_instantiation): Adjust tests for explicit instantiation
      	after "extern template".
      	(instantiate_class_member): Do not use repo_template_instantiated.
      	(do_type_instantiation): Simplify.
      	(instantiate_decl): Use mark_definable.  Check repo_emit_p.
      	Simplify.
      	* repo.c (repo_get_id): Remove.
      	(original_repo): Remove.
      	(IDENTIFIER_REPO_USED): Remove.
      	(IDENTIFIER_REPO_CHOSEN): Remove.
      	Remove all #if 0'd code.
      	(repo_template_used): Remove.
      	(repo_template_instantiated): Remove.
      	(temporary_obstack_initialized_p): New variable.
      	(init_repo): Register with lang_post_pch_load.  Avoid creating
      	identifiers unnecessarily.  Don't use original_repo.  Close the
      	file here.
      	(reopen_repo_file_for_write): Not here.
      	(finish_repo): Always write out a new repository file.
      	(repo_emit_p): New function.
      	(repo_export_class_p): Likewise.
      	* rtti.c (get_tinfo_decl): Use set_linkage_according_to_type.
      	(involves_incomplete_p): New function.
      	(tinfo_base_init): Use it.
      	(ptr_initializer): Remove non_public_ptr parameter.
      	(ptm_initializer): Likewise.
      	(get_pseudo_ti_init): Likewise.
      	(unemitted_tinfo_decl_p): Remove.
      	(emit_tinfo_decl): Use import_export_decl.
      	* semantics.c (expand_body): Move updates of static_ctors and
      	static_dtors to ...
      	(expand_or_defer_fn): ... here.
      	* tree.c (no_linkage_check): Add relaxed_p parameter.
      
      	* g++.dg/abi/inline1.C: New test.
      	* g++.dg/abi/local1-a.cc: Likewise.
      	* g++.dg/abi/local1.C: Likewise.
      	* g++.dg/abi/mangle11.C: Tweak location of warnings.
      	* g++.dg/abi/mangle12.C: Likewise.
      	* g++.dg/abi/mangle17.C: Likewise.
      	* g++.dg/abi/mangle20-2.C: Likewise.
      	* g++.dg/opt/interface1.C: Likewise.
      	* g++.dg/opt/interface1.h: Likewise.
      	* g++.dg/opt/interface1-a.cc: New test.
      	* g++.dg/parse/repo1.C: New test.
      	* g++.dg/template/repo1.C: Likewise.
      	* g++.dg/warn/Winline-1.C: Likewise.
      	* lib/gcc-dg.exp (gcc-dg-test-1): Fix -frepo handling.
      
      From-SVN: r85309
      Mark Mitchell committed
    • tree-ssa-loop-im.c (force_move_till_expr, [...]): Take orig_loop argument and pass it to set_level. · b4042a03
      	* tree-ssa-loop-im.c (force_move_till_expr, force_move_till):
      	Take orig_loop argument and pass it to set_level.
      	(schedule_sm): Pass the correct orig_loop to force_move_till.
      
      From-SVN: r85308
      Zdenek Dvorak committed
    • cfgloop.c (update_latch_info): Update dominator of the new block. · e7bd94cc
      	* cfgloop.c (update_latch_info): Update dominator of the new block.
      	(canonicalize_loop_headers, flow_loops_find): Do not free dominance
      	info.
      	* dominance.c (verify_dominators): Check that the dominance tree is
      	connected.
      	(recount_dominator): Ignore unreachable blocks.
      	(iterate_fix_dominators): Cleanup old dominance information before
      	recomputing it.
      
      From-SVN: r85307
      Zdenek Dvorak committed
    • tree-ssa-operands.c (get_expr_operands): Revert changes to ADDR_EXPR processing introduced by... · d397dbcd
      
      	* tree-ssa-operands.c (get_expr_operands): Revert changes
      	to ADDR_EXPR processing introduced by:
      	    2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
      	    * tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
      
      testsuite/ChangeLog
      
      	* gcc.dg/tree-ssa/20040729-1.c: New test.
      
      From-SVN: r85306
      Diego Novillo committed
    • implement-c.texi: Add C90 subclause references. · 9d6e0be1
      	* doc/implement-c.texi: Add C90 subclause references.  Point to
      	preprocessor documentation instead of duplicating it.  Add points
      	only present in C90.  Fill in documentation for all points.
      
      From-SVN: r85305
      Joseph Myers committed
    • * pa.c (output_movb): Correct typo. · 715ab8c3
      From-SVN: r85302
      John David Anglin committed
    • PR libstdc++/12658 (continued) · c891b860
      2004-07-29  Paolo Carlini  <pcarlini@suse.de>
                  Petur Runolfsson  <peturr02@ru.is>
      
      	PR libstdc++/12658 (continued)
      	* src/locale_init.cc (locale::locale, locale::global): Use
      	a single locale_mutex instead of two separate mutexes.
      
      Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
      
      From-SVN: r85301
      Paolo Carlini committed
    • ra.h (single_reg_in_regclass): Declare. · 727d709b
      2004-07-29  Pat Haugen  <pthaugen@us.ibm.com>
      
              * ra.h (single_reg_in_regclass): Declare.
              * ra.c (single_reg_in_regclass): Define.
              (first_hard_reg): New.
              (init_ra): Initialize single_reg_in_regclass.
              * ra-colorize.c (ok_class): New.
              (coalesce, aggressive_coalesce, extended_coalesce_2): Use it.
      
      From-SVN: r85300
      Pat Haugen committed
    • MainThread.java: Explicitely import used classes. · a639e504
      2004-07-29  Michael Koch  <konqueror@gmx.de>
      
      	* gnu/java/lang/MainThread.java:
      	Explicitely import used classes.
      	(args): Make it type String[].
      
      From-SVN: r85299
      Michael Koch committed
    • re PR libstdc++/16813 (compiler error in DEBUG version of range insertion std::map::insert) · 58753063
      2004-07-29  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/16813
      	* include/debug/map.h (insert(_InputIterator, _InputIterator)):
      	Fix typo.
      	* testsuite/23_containers/map/insert/16813.cc: New.
      
      From-SVN: r85295
      Paolo Carlini committed
    • ComponentDataBlitOp.java, [...]: Cleaned up imports. · 3de19191
      2004-07-29 Dalibor Topic <robilad@kaffe.org>
      
      	* gnu/java/awt/ComponentDataBlitOp.java,
      	gnu/java/beans/ExplicitBeanInfo.java,
      	gnu/java/beans/IntrospectionIncubator.java,
      	gnu/java/beans/editors/ColorEditor.java,
      	gnu/java/beans/editors/FontEditor.java,
      	gnu/java/beans/editors/NativeBooleanEditor.java,
      	gnu/java/beans/editors/NativeByteEditor.java,
      	gnu/java/beans/editors/NativeDoubleEditor.java,
      	gnu/java/beans/editors/NativeFloatEditor.java,
      	gnu/java/beans/editors/NativeIntEditor.java,
      	gnu/java/beans/editors/NativeLongEditor.java,
      	gnu/java/beans/editors/NativeShortEditor.java,
      	gnu/java/beans/editors/StringEditor.java,
      	gnu/java/io/ClassLoaderObjectInputStream.java,
      	gnu/java/io/decode/Decoder.java,
      	gnu/java/io/encode/Encoder.java,
      	gnu/java/lang/ClassHelper.java,
      	gnu/java/locale/Calendar.java,
      	gnu/java/locale/Calendar_de.java,
      	gnu/java/locale/Calendar_en.java,
      	gnu/java/locale/Calendar_nl.java,
      	gnu/java/locale/LocaleInformation_de.java,
      	gnu/java/locale/LocaleInformation_en.java,
      	gnu/java/locale/LocaleInformation_nl.java:
      	Cleaned up imports.
      
      From-SVN: r85293
      Dalibor Topic committed
    • ComponentDataBlitOp.java, [...]: Cleaned up imports. · 1cc49b13
      2004-07-29 Dalibor Topic <robilad@kaffe.org>
      
      	* gnu/java/awt/ComponentDataBlitOp.java,
      	gnu/java/beans/ExplicitBeanInfo.java,
      	gnu/java/beans/IntrospectionIncubator.java,
      	gnu/java/beans/editors/ColorEditor.java,
      	gnu/java/beans/editors/FontEditor.java,
      	gnu/java/beans/editors/NativeBooleanEditor.java,
      	gnu/java/beans/editors/NativeByteEditor.java,
      	gnu/java/beans/editors/NativeDoubleEditor.java,
      	gnu/java/beans/editors/NativeFloatEditor.java,
      	gnu/java/beans/editors/NativeIntEditor.java,
      	gnu/java/beans/editors/NativeLongEditor.java,
      	gnu/java/beans/editors/NativeShortEditor.java,
      	gnu/java/beans/editors/StringEditor.java,
      	gnu/java/io/ClassLoaderObjectInputStream.java,
      	gnu/java/io/decode/Decoder.java,
      	gnu/java/io/encode/Encoder.java,
      	gnu/java/lang/ClassHelper.java,
      	gnu/java/locale/Calendar.java,
      	gnu/java/locale/Calendar_de.java,
      	gnu/java/locale/Calendar_en.java,
      	gnu/java/locale/Calendar_nl.java,
      	gnu/java/locale/LocaleInformation_de.java,
      	gnu/java/locale/LocaleInformation_en.java,
      	gnu/java/locale/LocaleInformation_nl.java:
      	Cleaned up imports.
      
      From-SVN: r85292
      Dalibor Topic committed
    • gcov-io.h: Allow zero tag as EOF indicator. · 00cf2913
      	* gcov-io.h: Allow zero tag as EOF indicator.
      	(gcov_is_eof): Remove.
      	(gcov_truncate): Remove.
      	* gcov-io.c (gcov_seek): Always SEEK_SET.
      	* libgcov.c (gcov_exit): Don't use gcov_truncate.  Write explicit
      	EOF tag.
      	* coverage.c (read_counts_file): Don't use gcov_is_eof.
      	* gcov-dump.c (dump_file): Likewise.
      	* gcov.c (read_graph_file, read_count_file): Likewise.
      
      From-SVN: r85291
      Nathan Sidwell committed
    • index.html: Update version references. · d815ea49
      2004-07-29  Phil Edwards  <phil@codesourcery.com>
      
      	* docs/html/faq/index.html:  Update version references.  Make
      	clear that code from SGI has diverged greatly.  Remove references
      	to library snapshots and what's-new sections.
      	* docs/html/faq/index.txt:  Regenerate.
      
      From-SVN: r85289
      Phil Edwards committed
    • c-decl.c (complete_array_type): Don't gratuitously copy maxindex. · 91683ccd
      	* c-decl.c (complete_array_type): Don't gratuitously copy
      	maxindex.  Check it always has a type.
      
      From-SVN: r85288
      Nathan Sidwell committed
    • rtl.c (currently_expanding_to_rtl): New. · 4586b4ca
      	* rtl.c (currently_expanding_to_rtl): New.
      	* rtl.h (currently_expanding_to_rtl): Export it.
      	* cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit.
      
      	* config/alpha/alpha.c (alpha_expand_mov): Remove old RTL
      	inliner hack.
      	* config/sh/sh.c: Replace rtx_equal_function_value_matters
      	with currently_expanding_to_rtl.
      	* config/sh/sh.md: Likewise.
      	* config/ia64/ia64.c (got_symbolic_operand): Likewise.
      
      From-SVN: r85287
      Steven Bosscher committed
    • Introduce sh2a support. · 157371cf
      2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
      * config.gcc: Build multilibs for sh2a and sh2a-single by
      default.
      * config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
      default.  Split their tests out of the corresponding SH4
      multilibs.
      * config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
      multilibs for SH2a.
      2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
      * config.gcc: Handle sh2a multilibs and cpu selection.
      * config/sh/sh.h: Likewise.  Handle sh2a command line flags.
      * config/sh/t-mlib-sh2a: New.
      * config/sh/t-mlib-sh2a-nofpu: New.
      * config/sh/t-mlib-sh2a-single: New.
      * config/sh/t-mlib-sh2a-single-only: New.
      2004-07-09  Nick Clifton  <nickc@redhat.com>
      Issue 43400
      * config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
      -ml and -m2a are used together.
      2004-03-23  DJ Delorie  <dj@redhat.com>
      * config/sh/sh.c (sh_builtin_saveregs): Use the double code only
      when we have a double-sized FPU.
      2004-02-24  Corinna Vinschen <vinschen@redhat.com>
      * config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
      is set.
      * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
      -msh2a-single and -msh2a-single-only
      2004-02-24  Corinna Vinschen <vinschen@redhat.com>
      * config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
      is set.
      2004-02-20  DJ Delorie  <dj@delorie.com>
      * config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
      2004-02-20  Fred Fish <fnf@redhat.com>,
      Corinna Vinschen <vinschen@redhat.com>
      * config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
      (MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
      2004-02-18  DJ Delorie  <dj@redhat.com>
      * config/sh/sh.c (broken_move): Add support for movi20.
      * config/sh/sh.h: Likewise.
      (SHIFT_COUNT_TRUNCATED): Set for sh2a.
      * config/sh/sh.md (udivsi3_sh2a): New.
      (udivsi3): Call it.
      (divsi3_sh2a): New.
      (divsi3): Call it.
      (mul_r): New.
      (ashlsi3_sh2a): New.
      (ashrsi3_sh2a): New.
      (lshrsi3_sh2a): New.
      (movsi_i): Disable for sh2a.
      (movsi_ie): Add movi20.
      (movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
      sh2a, for -m2a-nofpu mode.
      2004-02-13  DJ Delorie  <dj@redhat.com>
      * config/sh/lib1funcs.asm: Handle double vs single better.
      * config/sh/sh.h: Likewise.
      2004-02-09  DJ Delorie  <dj@redhat.com>
      * config/sh/crt1.asm: Add support for sh2a.
      * config/sh/elf.h: Likewise.
      * config/sh/lib1funcs.asm: Likewise.
      * config/sh/sh.c: Likewise.
      * config/sh/sh.md: Likewise.
      * config/sh/sh.h: Likewise.
      * config/sh/t-sh: Likewise.
      
      From-SVN: r85286
      Alexandre Oliva committed
    • frv.md (movqi_internal, [...]): Add backup alternatives for memory inputs. · 6f4c062b
      * config/frv/frv.md (movqi_internal, movhi_internal,
      movsi_internal): Add backup alternatives for memory inputs.
      
      From-SVN: r85284
      Alexandre Oliva committed
    • * NEWS: Updated with news up to GCC 3.4 release. · e90bcbf5
      From-SVN: r85283
      Bryce McKinlay committed
    • README: Remove obsolete info. · 4d4fed15
      2004-07-28  Bryce McKinlay  <mckinlay@redhat.com>
      
      	* README: Remove obsolete info. Update bug URL.
      	* THANKS: Updated.
      
      From-SVN: r85282
      Bryce McKinlay committed
    • Daily bump. · 0fa2c11a
      From-SVN: r85280
      GCC Administrator committed
  2. 28 Jul, 2004 19 commits
    • darwin.c (darwin_one_byte_bool): New global variable. · 8f4220dc
              * config/darwin.c (darwin_one_byte_bool): New global variable.
              * config/darwin.h (darwin_one_byte_bool): Declare.
              (SUBTARGET_OPTIONS): Define macro.  (for -mone-byte-bool flag.)
              * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on
              value of darwin_one_byte_bool.
              * doc/invoke.texi: Document -mone-byte-bool flag.
              * testsuite/gcc.dg/darwin-bool-1.c: New test.
              * testsuite/gcc.dg/darwin-bool-2.c: New test.
      
      From-SVN: r85277
      Matt Austern committed
    • c-common.c (c_common_unsafe_for_reeval): Delete. · 9f63daea
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* c-common.c (c_common_unsafe_for_reeval): Delete.
      	* c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use.
      	* c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case.
      	* calls.c (fix_unsafe_tree): Delete.
      	(expand_call): Delete code which used above.
      	* dojump.c (do_jump): Delete UNSAVE_EXPR case.
      	* expr.c (expand_expr_real_1): Ditto.
      	* fold-const.c (non_lvalue): Ditto.
      	* langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      	(lhd_unsafe_for_reeval): Ditto.
      	* langhooks.c (lhd_unsafe_for_reeval): Ditto.
      	* langhooks.h (unsafe_for_reeval): Ditto.
      	(unsave_expr_now): Adjust comment.
      	* tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits.
      	(estimate_num_insns_1): Ditto.
      	* tree-pretty-print.c (dump_generic_node): Ditto.
      	* tree.c (expr_align): Ditto.
      	(unsave_expr): Delete.
      	(unsafe_for_reeval): Ditto.
      	* tree.h (unsafe_for_reeval, unsave_expr): Ditto.
      	* tree.def (UNSAVE_EXPR): Delete.
      	* objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* cp-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      	(java_unsafe_for_reeval): Ditto.
      
      From-SVN: r85276
      Eric Christopher committed
    • tree.h (enum tls_model): Move ... · 61b60ed0
      	* tree.h (enum tls_model): Move ...
      	* coretypes.h: ... here.
      
      From-SVN: r85275
      Zack Weinberg committed
    • GetPropertyAction.java (setParameters): Renamed from 'setName'. · 64d696b6
      2004-07-28  Bryce McKinlay  <mckinlay@redhat.com>
      
      	* gnu/java/security/action/GetPropertyAction.java (setParameters):
      	Renamed from 'setName'. New 2-argument form with default value.
      	(run): Pass default 'value' parameter to System.getProperty().
      	* gnu/java/security/action/SetAccessibleAction.java: Fix javadoc
      	typos.
      	* gnu/java/net/protocol/http/Connection.java: Use 'setParameters'
      	not 'setName'.
      
      From-SVN: r85274
      Bryce McKinlay committed
    • intrinsic_spacing.f90: Pass arguments in the correct type. · 1fd0ec35
              * gfortran.fortran-torture/execute/intrinsic_spacing.f90: Pass
              arguments in the correct type.  Don't write to constant arguments.
      
      From-SVN: r85272
      Richard Henderson committed
    • * config/frv/frv.h (EPILOGUE_USES): New. Use LR. · e1175f68
      From-SVN: r85271
      Richard Sandiford committed
    • cse.c (validate_canon_reg): New function, split out from... · eef3c949
      	* cse.c (validate_canon_reg): New function, split out from...
      	(canon_reg): ...here.  Use validate_canon_reg for both 'e' and 'E'.
      
      From-SVN: r85270
      Richard Sandiford committed
    • configure.in: Check for minimum GTK version 2.4 requirement. · f0faf24b
      2004-07-28  Bryce McKinlay  <mckinlay@redhat.com>
      
      	* configure.in: Check for minimum GTK version 2.4 requirement.
      	* configure: Rebuilt.
      
      From-SVN: r85269
      Bryce McKinlay committed
    • tree-ssa-alias.c (maybe_create_global_var): Don't just return if .GLOBAL_VAR has been created. · e0d3bb46
      
      	* tree-ssa-alias.c (maybe_create_global_var): Don't just
      	return if .GLOBAL_VAR has been created.
      
      From-SVN: r85268
      Diego Novillo committed
    • tree-ssa.c (verify_flow_insensitive_alias_info): Process every variable that may… · 852c7b12
      tree-ssa.c (verify_flow_insensitive_alias_info): Process every variable that may have aliases, not just tags.
      
      
      	* tree-ssa.c (verify_flow_insensitive_alias_info): Process
      	every variable that may have aliases, not just tags.
      
      From-SVN: r85267
      Diego Novillo committed
    • Fix minor typo in my ChangeLog entry. · 05bfc51d
      From-SVN: r85266
      Matt Austern committed
    • stl_construct.h (_Destroy): New three-argument overload that takes an allocator argument. · 1985f1cd
      	* include/bits/stl_construct.h (_Destroy): New three-argument
      	overload that takes an allocator argument.  Another inline
      	three-argument overload that takes std::allocator and dispatches
      	to the two-argument version.
      	* include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
      	Change return type to void to match uninitialized_fill_n.
      	(__uninitialized_copy_a_): New function.  Like uninitialized_copy
      	except that it takes an allocator and uses it for construct and
      	destroy.  If the allocator is std::allocator, dispatches to
      	uninitialized_copy.
      	(__uninitialized_fill_a): Likewise.
      	(__uninitialized_fill_n_a): Likewise.
      	(__uninitialized_copy_copy): Give it an allocator argument.
      	(__uninitialized_fill_copy): Likewise.
      	(__uninitialized_copy_fill): Likewise.
      	* include/bits/deque.tcc: Use new forms defined in stl_construct.h
      	and stl_uninitialized.h.  Replace use of single-argument _Construct
      	and _Destroy with use of allocator's construct and destroy methods.
      	* include/bits/list.tcc: Likewise.
      	* include/bits/stl_deque.h: Likewise.
      	* include/bits/stl_list.h: Likewise.
      	* include/bits/stl_tree.h: Likewise.
      	* include/bits/stl_vector.h: Likewise.
      	* include/bits/vector.tcc: Likewise.
      	* include/ext/hashtable.h: Use rebind so that allocator_type
      	has correct type for a container's allocator.  Replace use of
      	single-argument _Construct and _Destroy with use of allocator's
      	construct and destroy methods.
      	* include/ext/memory (__uninitialized_copy_n_a): New function.
      	Like uninitialized_copy_n except that it takes an extra parameter,
      	an allocator, and uses it for construct and destroy operations.
      	* include/ext/rope: Use new forms defined in stl_construct.h,
      	stl_uninitialized.h, and ext/memory.  Replace use of single-argument
      	_Construct and _Destroy with allocator construct and destroy methods.
      	* include/ext/ropeimpl.h: Likewise.
      	* include/ext/slist.h: Likewise.
      	* testsuite/testsuite_allocator.h (check_construct_destroy): New.
      	* testsuite/testsuite_allocator.cc (check_construct_destroy): New.
      	* testsuite/23_containers/deque/check_construct_destroy.cc: New.
      	* testsuite/23_containers/list/check_construct_destroy.cc: New.
      	* testsuite/23_containers/set/check_construct_destroy.cc: New.
      	* testsuite/23_containers/vector/check_construct_destroy.cc: New.
      	* testsuite/ext/hash_check_construct_destroy.cc: New.
      	* testsuite/ext/slist_check_construct_destroy.cc: New.
      
      From-SVN: r85265
      Matt Austern committed
    • re PR tree-optimization/16688 (ICE in group_aliases, at tree-ssa-alias.c:1234) · 6fea55e9
      
      	PR tree-optimization/16688
      	PR tree-optimization/16689
      	* g++.dg/tree-ssa/pr16688.C: New test.
      
      From-SVN: r85262
      Diego Novillo committed
    • 20031022-1.c: Adjust number of expected loads. · 47a43a10
      
      	* gcc.dg/tree-ssa/20031022-1.c: Adjust number of expected
      	loads.  Not only in the comment, this time.
      
      From-SVN: r85261
      Diego Novillo committed
    • rs6000.md ("move_from_CR_gt_bit"): Rename to move_from_CR_eq_bit. · 6b1fedc3
      	* config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
      	move_from_CR_eq_bit.
      	Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
      
      
      	* config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
      	e500_flip_eq_bit.
      
      	* config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
      	output_e500_flip_eq_bit.
      
      	* config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
      	output_e500_flip_eq_bit.
      	(rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
      	output_e500_flip_eq_bit.
      	Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
      	(print_operand): case D.  Get to EQ bit.
      
      From-SVN: r85259
      Aldy Hernandez committed
    • * gcov.c (function_summary): Add missing \n. · 1457ebf9
      From-SVN: r85258
      Richard Sandiford committed
    • Introduce sh4a support. · 312209c6
      gcc/ChangeLog:
      Introduce sh4a support.
      * config.gcc: Handle sh4a multilibs and cpu selection.
      * config/sh/sh.h: Likewise.  Handle sh4a command line flags.
      * config/sh/t-mlib-sh4a: New.
      * config/sh/t-mlib-sh4al: New.
      * config/sh/t-mlib-sh4a-nofpu: New.
      * config/sh/t-mlib-sh4a-single: New.
      * config/sh/t-mlib-sh4a-single-only: New.
      2004-02-20  DJ Delorie  <dj@redhat.com>
      * config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
      * config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
      2003-08-22  Eric Christopher  <echristo@redhat.com>
      * config/sh/sh4a.md: Update for chip errata.
      2003-08-07  Eric Christopher  <echristo@redhat.com>
      * config/sh/sh4a.md: New file. sh4a processor description.
      2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
      of -m4a-nofpu.
      (SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
      * config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
      * doc/invoke.texi (SH Options): Document -m4al.
      2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (expand_block_move): Remove commented-out code
      checked in by mistake.
      (sh_cannot_change_mode_class): Enable SUBREGs to be used to select
      single elements from SFmode vectors.
      * config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
      register.
      (sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
      2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
      sh_fsca_int2sf): Remove variable declarations.
      * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
      sh_fsca_int2sf): New functions.
      (sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
      sh_fsca_int2sf_rtx): New static variables.
      * config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
      sh_fsca_int2sf): Declare.
      * config/sh/sh.md: Adjust.
      * doc/invoke.texi (SH Options): Document new options.
      * config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
      compatibility from SH4 code.
      2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
      * config/sh/sh.c (expand_block_move): Don't emit POST_INC too
      early.
      (memory_movsrc_operand): Renamed to...
      (unaligned_load_operand): ... this.  Simplified.
      * config/sh/sh.h (PREDICATE_CODES): Adjust.
      * config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
      input operand to SImode, and adjust the others.  Introduce
      post-increment by peephole.
      * config/sh/sh.c (expand_block_move): Give the target address the
      same mode as the temp reg.
      * config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
      copying.
      2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
      Introduce support for SH4a.
      * config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
      __SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
      * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
      sh_fsca_int2sf): New.
      (sh_init_builtins): Initialize them.
      (print_operand): Support `d'.
      (expand_block_move): Use movua if src is misaligned.
      (memory_movsrc_operand): New.
      * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
      and one of the SH4 macros.
      (SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
      SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
      SELECT_SH4A_SINGLE): New.
      (TARGET_NONE): Add SH4A_BIT.
      (TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
      (SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
      (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
      (OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
      (enum processor_type): Added PROCESSOR_SH4A.
      (PREDICATE_CODES): Add memory_movsrc_operand.
      * config/sh/sh.md: Removed unused variables.
      (attr cpu): Add sh4a.
      (attr type): Add movua, fsrra and fsca.
      (prefetch): New, for SH4.
      (ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
      (toggle_sz): Set type to fp.
      (toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
      (movua, extv, extzv): New.
      * config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
      and 4a-single-only.
      gcc/testsuite/ChangeLog:
      2003-07-06  Alexandre Oliva  <aoliva@redhat.com>
      * gcc.dg/sh4a-memmovua.c: Tweak regular expression.
      2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
      * gcc.dg/sh4a-bitmovua.c: New.
      * gcc.dg/sh4a-cos.c: New.
      * gcc.dg/sh4a-cosf.c: New.
      * gcc.dg/sh4a-fprun.c: New.
      * gcc.dg/sh4a-fsrra.c: New.
      * gcc.dg/sh4a-memmovua.c: New.
      * gcc.dg/sh4a-sin.c: New.
      * gcc.dg/sh4a-sincos.c: New.
      * gcc.dg/sh4a-sincosf.c: New.
      * gcc.dg/sh4a-sinf.c: New.
      libstdc++-v3/ChangeLog:
      2003-10-01  Eric Christopher  <echristo@redhat.com>
      * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
      constraint.
      2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
      * config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
      
      From-SVN: r85257
      Alexandre Oliva committed
    • cp-tree.h (struct tree_pair_s): New. · 0871761b
      	* cp-tree.h (struct tree_pair_s): New.
      	(typedef tree_pair_p): New.
      	(DEF_VEC_O(tree_pair_s)): New.
      	(struct lang_type_class): Make vcall_indices a VEC(tree_pair_s).
      	(CLASSTYPE_VCALL_INDICES): Update documentation.
      	* class.c (get_vcall_index): Adjust.
      	(add_vcall_offset): Adjust.
      
      From-SVN: r85256
      Nathan Sidwell committed
    • tree-optimize.c (init_tree_optimization_passes): Schedule pass_may_alias right… · c1b763fa
      tree-optimize.c (init_tree_optimization_passes): Schedule pass_may_alias right after the program is renamed into SSA.
      
      
      	* tree-optimize.c (init_tree_optimization_passes): Schedule
      	pass_may_alias right after the program is renamed into SSA.
      	* tree-pass.h (PROP_alias): Define.
      	* tree-outof-ssa.c (pass_del_ssa): Require PROP_alias.
      	* tree-sra.c (pass_sra): Likewise.
      	* tree-ssa-ccp.c (pass_ccp): Likewise.
      	* tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise.
      	* tree-ssa-dce.c (pass_dce): Likewise.
      	* tree-ssa-dom.c (pass_dominator): Likewise.
      	* tree-ssa-dse.c (pass_dse): Likewise.
      	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
      	* tree-ssa-loop-ch.c (pass_ch): Likewise.
      	* tree-ssa-phiopt.c (pass_phiopt): Likewise.
      	* tree-ssa-pre.c (pass_pre): Likewise.
      	* tree-tailcall.c (pass_tail_recursion): Likewise.
      	* tree-ssa.c (pass_redundant_phi): Likewise.
      	* tree-ssa-alias.c (aliases_computed_p): Remove.
      	Update all users.
      	(init_alias_info): Do not mark all type tags for renaming
      	unconditionally.
      	Clear may_aliases from every symbol.
      	(setup_pointers_and_addressables): If a pointer has not been
      	dereferenced and it had a type tag, clear it and mark the old
      	tag for renaming.
      
      
      testsuite/ChangeLog
      
      	* gcc.dg/tree-ssa/20030714-2.c: Adjust number of expected
      	conditionals.
      	* gcc.dg/tree-ssa/20031022-1.c: Adjust number of expected
      	loads.
      	* gcc.dg/tree-ssa/ssa-dom-cse-1.c: Expect optimization in
      	DOM1.
      
      From-SVN: r85255
      Diego Novillo committed