Commit Graph

60132 Commits

Author SHA1 Message Date
Steve Kargl f183d3749f contrib.texi (Contributors): Add gfortran contributors and fix a couple of typos.
* doc/contrib.texi (Contributors): Add gfortran contributors and
	fix a couple of typos.

Co-Authored-By: James A. Morrison <phython@gcc.gnu.org>

From-SVN: r84473
2004-07-10 21:11:54 +00:00
Zdenek Dvorak 01606a5aeb calls.c (check_sibcall_argument_overlap_1): Handle pointers to incoming args space correctly.
* calls.c (check_sibcall_argument_overlap_1): Handle pointers
	to incoming args space correctly.

From-SVN: r84472
2004-07-10 20:35:47 +00:00
John David Anglin 2c774817bd pa.c (output_indirect_call): Only use %r2 as the link register in indirect calls with the long PA 2.0...
* pa.c (output_indirect_call): Only use %r2 as the link register in
	indirect calls with the long PA 2.0 pc-relative branch.

From-SVN: r84471
2004-07-10 20:15:44 +00:00
Daniel Jacobowitz 3326f4101a i386.c (override_options): Pick a 64-bit CPU for the default tuning if TARGET_64BIT.
* config/i386/i386.c (override_options): Pick a 64-bit CPU
	for the default tuning if TARGET_64BIT.

From-SVN: r84470
2004-07-10 19:01:40 +00:00
Richard Henderson 07b8df0a3d builtins.c (std_gimplify_va_arg_expr): Widen align/boundary to HOST_WIDE_INT.
* builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
        to HOST_WIDE_INT.  Fold pad-args-down arithmetic.

From-SVN: r84469
2004-07-10 11:47:36 -07:00
Tobias Schlüter 50389094cc re PR fortran/15969 (ICE and assertion failure in trans-expr.c)
PR fortran/15969
* gfortran.fortran-torture/execute/der_init_5.f90: New test.

From-SVN: r84466
2004-07-10 19:54:35 +02:00
Tobias Schlüter 104b260cac re PR fortran/15969 (ICE and assertion failure in trans-expr.c)
PR fortran/15969
* trans-expr.c (gfc_conv_structure): Handle initialization
of scalar pointer components.

From-SVN: r84464
2004-07-10 19:30:40 +02:00
Tobias Schlüter 794ba78be2 re PR fortran/16336 (ICE with common block in module)
PR fortran/16336
* match.c (match_common): Fix error reporting for used common.

From-SVN: r84462
2004-07-10 18:26:05 +02:00
Bryce McKinlay 33dc5b0b3e jacks.xfail: Updates to reflect current status.
2004-07-10  Bryce McKinlay  <mckinlay@redhat.com>

        * testsuite/libjava.jacks/jacks.xfail: Updates to reflect current
        status. 21 xfail's removed, 1 added.

From-SVN: r84461
2004-07-10 17:04:57 +01:00
Bryce McKinlay 9ee226ef12 004-07-10 Bryce McKinlay <mckinlay@redhat.com>
* class.c (common_enclosing_context_p): Remove statement with no
        side-effects.

From-SVN: r84460
2004-07-10 16:53:40 +01:00
Bryce McKinlay a4548f27d0 javaprims.h: Regenerate CNI namespace definitions.
2004-07-10  Bryce McKinlay  <mckinlay@redhat.com>

        * gcj/javaprims.h: Regenerate CNI namespace definitions.

From-SVN: r84459
2004-07-10 15:50:15 +01:00
Tobias Schlüter 7d76d73a57 expr.c (gfc_check_pointer_assign): Verify that rank of the LHS and RHS match.
* expr.c (gfc_check_pointer_assign): Verify that rank of the LHS
and RHS match. Return early if the RHS is NULL().

From-SVN: r84458
2004-07-10 14:45:33 +02:00
David Billinghurst 290e757a36 ffixed-form-1.f: Copy from g77.dg
2004-07-10  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/ffixed-form-1.f: Copy from g77.dg
	* gfortran.dg/g77/ffixed-form-2.f: Likewise
	* gfortran.dg/g77/ffree-form-1.f: Likewise
	* gfortran.dg/g77/ffree-form-2.f: Likewise
	* gfortran.dg/g77/ffree-form-3.f: Likewise
	* gfortran.dg/g77/fno-underscoring.f: Likewise
	* gfortran.dg/g77/funderscoring.f: Likewise
	* gfortran.dg/g77/pr9258.f: Likewise.  Add dg-warning lines.

From-SVN: r84457
2004-07-10 12:37:13 +00:00
David Billinghurst 2c2a3d7ec5 ffixed-form-1.f: Copy from g77.dg
2004-07-10  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/ffixed-form-1.f: Copy from g77.dg
	* gfortran.dg/g77/ffixed-form-2.f: Likewise
	* gfortran.dg/g77/ffree-form-1.f: Likewise
	* gfortran.dg/g77/ffree-form-2.f: Likewise
	* gfortran.dg/g77/ffree-form-3.f: Likewise
	* gfortran.dg/g77/fno-underscoring.f: Likewise
	* gfortran.dg/g77/funderscoring.f: Likewise
	* gfortran.dg/g77/pr9258.f: Likewise.  Add dg-warning lines.

From-SVN: r84455
2004-07-10 12:23:45 +00:00
Tobias Schlüter a8a6b60373 trans-common.c: Fix whitespace issues, make variable names more readable.
* trans-common.c: Fix whitespace issues, make variable names
more readable.
(create_common): Additionally, make loop logic more obvious.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r84453
2004-07-10 13:21:42 +02:00
Tobias Schlüter 44bce8bfac * gfortran.fortran-torture/execute/module_init_1.f90: Fix test.
From-SVN: r84451
2004-07-10 11:53:53 +02:00
Ito Kazumitsu 8f0ce8da14 2004-07-10 Ito Kazumitsu <kaz@maczuka.gcd.org>
* java/text/MessageFormat.java
	(formatInternal): Append "{n}" if argument n is unavailable.
	(format(Object, StringBuffer, FieldPosition)): This
	should be equivalent to format(Object[],
	StringBuffer, FieldPosition).

From-SVN: r84448
2004-07-10 08:55:22 +00:00
Jakub Jelinek b352098021 expr.h (store_bit_field, [...]): Remove last argument.
* expr.h (store_bit_field, extract_bit_field): Remove last argument.
	* expmed.c (store_bit_field, extract_bit_field): Remove last
	argument.
	* builtins.c (expand_builtin_signbit): Adjust callers.
	* optabs.c (expand_vector_binop, expand_vector_unop): Likewise.
	* calls.c (store_unaligned_arguments_into_pseudos): Likewise.
	* ifcvt.c (noce_emit_move_insn): Likewise.
	* stmt.c (expand_return): Likewise.
	* expr.c (emit_group_load, emit_group_store, copy_blkmode_from_reg,
	store_field, expand_expr_real_1): Likewise.

From-SVN: r84447
2004-07-10 10:04:58 +02:00
Richard Henderson 76aa57137c * builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR.
From-SVN: r84446
2004-07-10 00:23:17 -07:00
Mike Stump 45cc478337 darwin.c (no_dead_strip): Add.
* config/darwin.c (no_dead_strip): Add.
        (HAVE_DEAD_STRIP): Add.
        (darwin_emit_unwind_label): Ensure that we don't dead code strip
        the .eh label.
Radar 3668092

From-SVN: r84444
2004-07-10 05:54:27 +00:00
Bryce McKinlay d3ecb597b3 re PR java/8618 (call to private constructor allowed for anonymous inner class)
2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>

        PR java/8618
        * parse.y (create_anonymous_class): Remove 'location' argument. Use
        the WFL from TYPE_NAME to get line number for the decl. Fix comment.
        (craft_constructor): Inherit access flags for implicit constructor
        from the enclosing class.
        (create_class): Fix comment typo.
        (resolve_qualified_expression_name): Pass type of qualifier to
        not_accessible_p, not the type in which target field was found.
        (not_accessible_p): Handle inner classes. Expand protected
        qualifier-subtype check to enclosing instances, but don't apply this
        check to static members. Allow protected access to inner classes
        of a subtype. Allow private access within common enclosing context.
        (build_super_invocation): Get WFL line number info from current
        class decl.
        (build_incomplete_class_ref): Update for new create_anonymous_class
        signature.
        * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Use
        common_enclosing_instance_p.
        * class.c (common_enclosing_context_p): New. Determine if types
        share a common enclosing context, even across static contexts.
        (common_enclosing_instance_p): Renamed from
        common_enclosing_context_p. Determines if types share a common
        non-static enclosing instance.
        * java-tree.h (common_enclosing_instance_p): Declare.
        * jcf-write.c (get_method_access_flags): New. Surpress private flag
        for inner class constructors.
        (generate_classfile): Use get_method_access_flags.

From-SVN: r84443
2004-07-10 06:38:15 +01:00
Zdenek Dvorak a7e5372d6a tree-ssa-loop-im.c: New file.
* tree-ssa-loop-im.c: New file.
	* Makefile.in (tree-ssa-loop-im.o): Add.
	* cfgloop.c (superloop_at_depth): New function.
	* cfgloop.h (superloop_at_depth): Declare.
	* common.opt (ftree-lim): New flag.
	* expr.c (array_ref_up_bound): New function.
	* params.def (PARAM_LIM_EXPENSIVE): New parameter.
	* timevar.def (TV_LIM): New timevar.
	* tree-dfa.c (compute_immediate_uses): Respect TDFA_USE flags when
	computing immediate uses of a phi node.
	* tree-flow.h (struct tree_ann_common_d): Add aux field.
	(loop_commit_inserts, for_each_index, tree_ssa_lim): Declare.
	* tree-optimize.c (init_tree_optimization_passes): Add pass_lim.
	* tree-pass.h (pass_lim): Declare.
	* tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im): New
	functions.
	(pass_lim): New pass structure.
	* tree-eh.c (tree_could_trap_p): Handle ARRAY_REFs correctly.
	* tree.c (in_array_bounds_p): New function.
	* tree.h (TREE_THIS_NOTRAP): Define also for ARRAY_REFs.
	(in_array_bounds_p, array_ref_up_bound): Declare.
	* doc/invoke.texi (-ftree-lim, --param lim-expensive): Document.
	* doc/passes.texi (tree-ssa-loop-im.c): Document.

From-SVN: r84441
2004-07-10 04:57:58 +00:00
Tobias Schlüter ad6e2a18c2 re PR fortran/13415 (Internal error with pointer array in common)
PR fortran/13415
	* trans-common.c (calculate_length): Remove ...
	(get_segment_info): Merge into here.  Save field type.
	(build_field): Use saved type.
	(create_common, new_condition, new_segment, finish_equivalences):
	Use new get_segment_info.
	* trans-types.c: Update comment.
testsuite
	* gfortran.dg/common_pointer_1.f90: New test.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r84439
2004-07-10 02:46:54 +00:00
Bryce McKinlay 3ee7acd137 java.util.Calendar.java (cache): New private static field.
2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>

	* java.util.Calendar.java (cache): New private static field. Cached
	mappings of locales->calendar classes.
	(ctorArgTypes): New private static field. Singleton argument for
	calendar class constructor lookup.
	(getInstance): Cache Locale->Calendar class mappings using HashMap.
	Optimize by bypassing reflection instantiation for the
	GregorianCalendar case.

From-SVN: r84438
2004-07-10 03:38:55 +01:00
Bryce McKinlay 284d6a1fc3 Calendar.java: Use getSystemClassLoader as argument for ResourceBundle.getBundle() calls.
2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>

	* java/util/Calendar.java: Use getSystemClassLoader as argument for
	ResourceBundle.getBundle() calls.
	* java/util/GregorianCalendar.java: Likewise.
	* java/util/Currency.java: Likewise.
	* java/text/BreakIterator.java: Likewise.
	* java/text/Collator.java: Likewise.
	* java/text/DateFormat.java: Likewise.
	* java/text/DateFormatSymbols.java: Likewise.
	* java/text/DecimalFormatSymbols.java: Likewise.
	* java/text/NumberFormat.java: Likewise.
	* java/awt/Window.java: Likewise.

From-SVN: r84437
2004-07-10 03:26:19 +01:00
Richard Henderson 020510c955 tree-ssa-ccp.c (ccp_fold_builtin): Strip conversion exprs with prejudice.
* tree-ssa-ccp.c (ccp_fold_builtin): Strip conversion exprs
        with prejudice.

From-SVN: r84436
2004-07-09 19:24:27 -07:00
Richard Henderson f3a096e85c * builtins.c (expand_builtin_stpcpy): Don't modify len.
From-SVN: r84435
2004-07-09 19:21:12 -07:00
Bryce McKinlay 21f56031ca ResourceBundle.java (bundleCache): Renamed from resourceBundleCache.
2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>

	* java/util/ResourceBundle.java (bundleCache): Renamed from
	resourceBundleCache. Update comments.
	(getObject): Don't catch MissingResourceException.
	(getBundle(String)): Remove 'final'. Use system classloader if
	getCallingClassLoader returned null.
	(getBundle(String, Locale)): Likewise.
	(BundleKey): New private class. HashMap key for bundle cache lookup.
	(lookupKey): New. Singleton instance of BundleKey.
	(nullEntry): New. Cache entry to represent failed lookups.
	(getBundle(String, Locale, ClassLoader)): Re-written to use new
	caching strategy, no-allocation lookup, and new tryBundle methods.
	(tryBundle(String, ClassLoader)): New. Load a locale-qualified
	bundle name using given classloader.
	(tryBundle(String, Locale, ClassLoader, boolean): New. Qualify
	baseName for given Locale and attempt to load bundle.

From-SVN: r84434
2004-07-10 03:14:30 +01:00
Giovanni Bajo 17a916d4e6 * g++.dg/lookup/new1.C: Fix dg-excess-error syntax.
From-SVN: r84433
2004-07-10 02:13:54 +00:00
Kelley Cook 31b66477d0 flags.h: Delete redundant prototypes that are being generated in options.h from common.opt.
2004-07-10  Kelley Cook  <kcook@gcc.gnu.org>

	* flags.h: Delete redundant prototypes that are being generated
	in options.h from common.opt.
	* common.opt: Add in the expository comments formerly in flags.h.

From-SVN: r84432
2004-07-10 02:06:36 +00:00
Jan Beulich 78fbfc4bd9 i386.c (init_cumulative_args): Set mmx/sse registers available for use only when TARGET_MMX/_SSE is set...
* config/i386/i386.c (init_cumulative_args): Set mmx/sse registers
        available for use only when TARGET_MMX/_SSE is set, and check for
        variable argument function if any register count is non-zero.
        (function_arg): Correctly suppress repeated warnings for passing SSE
        vectors are arguments without SSE enabled.
        (ix86_function_arg_boundary): Without SSE enabled, the use of what
        would be SSE register modes does no longer influence the alignment.

From-SVN: r84431
2004-07-09 18:59:12 -07:00
Richard Henderson e4d3eef11d builtins.c (std_gimplify_va_arg_expr): Deny ARGS_GROW_DOWNWARD.
* builtins.c (std_gimplify_va_arg_expr): Deny ARGS_GROW_DOWNWARD.
        Always align upward to arg boundary.  Use size_in_bytes/round_up.
        Maintain type-correctness of constants.
        * stor-layout.c (round_up, round_down): Special-case powers of 2.

From-SVN: r84430
2004-07-09 18:52:53 -07:00
David S. Miller ffe384ff86 sparc.c (*_costs): Scale instruction costs by COSTS_N_INSNS.
2004-07-09  David S. Miller  <davem@nuts.davemloft.net>

	* config/sparc/sparc.c (*_costs): Scale instruction costs
	by COSTS_N_INSNS.
	(sparc_rtx_costs): Adjust as appropriate.

From-SVN: r84429
2004-07-09 18:47:48 -07:00
Jan Beulich 0c2a4754bc mm3dnow.h: New.
* config/i386/mm3dnow.h: New.
        * config.gcc: Add mm3dnow.h to extra_headers for i?86 and x86-64.

From-SVN: r84428
2004-07-09 17:27:59 -07:00
Richard Henderson 04b80a8885 simplify-rtx.c (simplify_const_relational_operation): Only look at bounds of scalar integers.
* simplify-rtx.c (simplify_const_relational_operation): Only
        look at bounds of scalar integers.

From-SVN: r84427
2004-07-09 17:24:23 -07:00
GCC Administrator 4c6a63ccbc Daily bump.
From-SVN: r84425
2004-07-10 00:16:13 +00:00
Jan Beulich 946e316c37 * config/i386/i386.md (sse2_clflush): Use correct operand for clflush.
From-SVN: r84422
2004-07-09 16:54:13 -07:00
Bryce McKinlay 42c007520d BasicMenuUI.java (mousePressed): Remove illegal protected method calls.
2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>

	* javax/swing/plaf/basic/BasicMenuUI.java (mousePressed): Remove
	illegal protected method calls.

From-SVN: r84421
2004-07-10 00:42:19 +01:00
Bryce McKinlay 6e342fc100 Fix or remove some bogus test cases.
2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>

	Fix or remove some bogus test cases.
	* testsuite/libjava.compile/pr10459_2.java: Removed.
	* testsuite/libjava.compile/pr10459.java: Test using its own method,
	not Object.clone().
	* testsuite/libjava.compile/inner_data.java: Test against its own
	protected field.

From-SVN: r84420
2004-07-10 00:36:51 +01:00
Andrew Pinski 3d0d0a7abc objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as always referenced.
2004-07-09  Andrew Pinski  <apinski@apple.com>

        * objc/objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as
        always referenced.
        (synth_forward_declarations): Likewise for UOBJC_CLASS_decl and
        UOBJC_METACLASS_decl.

From-SVN: r84419
2004-07-09 16:32:38 -07:00
Bryce McKinlay 968d62b517 class.c (interface_of_p): Check for null TYPE_BINFO.
2004-07-09  Bryce McKinlay  <mckinlay@redhat.com>

	* class.c (interface_of_p): Check for null TYPE_BINFO.

From-SVN: r84418
2004-07-10 00:26:01 +01:00
Jan Beulich 8a2cee3810 c-typeck.c (build_unary_op): include VECTOR_TYPE in set of codes permissible for unary plus.
* c-typeck.c (build_unary_op): include VECTOR_TYPE in set of codes
        permissible for unary plus.

From-SVN: r84417
2004-07-09 16:20:36 -07:00
James E Wilson 5806d4fd84 Fix for IA-64 union/long double ICE.
PR target/16364
* config/ia64/ia64.c (ia64_function_arg): For a single element HFA,
do return a parallel if hfa_mode == XFmode and mode == TImode.
* gcc.c-torture/compile/20040709-1.c: New.

From-SVN: r84416
2004-07-09 16:10:26 -07:00
Jan Beulich 2319a1d1f7 builtin-types.def (BT_UINT): Rename from BT_UNSIGNED.
* builtin-types.def (BT_UINT): Rename from BT_UNSIGNED.
        (BT_FN_UINT): Rename from BT_FN_UNSIGNED.
        (BT_FN_PTR_UINT): Rename from BT_FN_PTR_UNSIGNED.
        (BT_ULONG, BT_ULONGLONG, BT_UINTMAX, BT_FN_INT_UINT, BT_FN_INT_ULONG,
        BT_FN_INT_ULONGLONG, BT_FN_INT_INTMAX, BT_FN_INT_UINTMAX): New.
        * builtins.def (BUILTIN_CLZxxx, BUILTIN_CTXxxx, BUILTIN_PARITYxxx,
        BUILTIN_POPCOUNTxxx): Arguments are unsigned.
        (BUILTIN_xxxIMAX): New.
        * builtins.c (expand_builtin): Handle BUILT_IN_FFSIMAX,
        BUILT_IN_CLZIMAX, BUILT_IN_CTZIMAX, BUILT_IN_POPCOUNIMAX, and
        BUILT_IN_PARITYIMAX.

From-SVN: r84415
2004-07-09 16:04:33 -07:00
David S. Miller 18df6de934 sparc.h (processor_costs): Define.
2004-07-02  David S. Miller  <davem@nuts.davemloft.net>

	* config/sparc/sparc.h (processor_costs): Define.
	(sparc_costs): Declare.
	* config/sparc/sparc.c (cypress_costs, supersparc_costs,
	hypersparc_costs, sparclet_costs, ultrasparc_costs,
	ultrasparc3_costs): New.
	(sparc_override_options): Set sparc_costs as appropriate.
	(sparc_rtx_costs): Use sparc_costs instead of messy
	conditionals.

From-SVN: r84414
2004-07-09 15:59:32 -07:00
Loren J. Rittle a3e8d8b400 configure.in: Build libmudflap by default on FreeBSD.
* configure.in: Build libmudflap by default on FreeBSD.
	* configure: Regenerated.

From-SVN: r84413
2004-07-09 22:57:08 +00:00
Tobias Schlüter 5721c2bebf re PR fortran/14077 (Data statement within a module that doesn't initialize a whole array creates an error)
PR fortran/14077
* gfortran.fortran-torture/execute/module_init_1.f90: New test.

From-SVN: r84412
2004-07-10 00:44:22 +02:00
Steven Bosscher dae424695c md.texi (Processor pipeline description): Mention that the old pipeline description is deprecated.
* doc/md.texi (Processor pipeline description): Mention that
	the old pipeline description is deprecated.

	* config/rs6000/7450.md (automaton ppc7450): Split up, move
	mciu_7450 function unit to...
	(automaton ppc7450mciu): ...new automaton.

	* haifa-sched.c (insert_schedule_bubbles_p): Remove.
	(schedule_block): Don't consider inserting bubbles.
	(sched_init): Don't initialize DFA bubbles.
	* target-def.h (TARGET_SCHED_INIT_DFA_BUBBLES,
	TARGET_SCHED_DFA_BUBBLE): Remove.
	* target.h (init_dfa_bubbles, dfa_bubble): Remove hooks.
	* doc/tm.texi (TARGET_SCHED_INIT_DFA_BUBBLES,
	TARGET_SCHED_DFA_BUBBLE): Remove documentation.

	* stmt.c (conditional_context): Remove prototype.
	* tree.h (conditional_context): Remove.
	* tree-cfg.c (pre_insert_on_edge): Remove.

	* c-common.h (c_expand_asm_operands): Remove prototype.
	* c-typeck.c (c_expand_asm_operands): Remove.

cp/
	* typeck.c (c_expand_asm_operands): Remove.

From-SVN: r84411
2004-07-09 22:42:43 +00:00
Jan Beulich 9e9fb0ce67 i386.c (classify_argument): Treat V1xx modes the same as their base modes.
* config/i386/i386.c (classify_argument): Treat V1xx modes the same as
        their base modes. CTImode, TCmode, and XCmode must be passed in memory.
        TFmode (__float128) must be is an SSE/SSEUP pair. V2SImode, V4HImode,
        and V8QI are class SSE. All sufficiently small remaining vector modes
        must be passed in one or two integer registers.
        (ix86_libcall_value): TFmode must be returned in xmm0, XCmode must be
        returned in memory.
        (bdesc_2arg, ix86_init_mmx_sse_builtins): __builtin_ia32_pmuludq and
        __builtin_ia32_pmuludq128 have non-uniform argument and return types
        and must thus be handled explicitly.
        * config/i386/i386.md (*movdi_1_rex64): Add cases for moving between
        MMX and XMM regs.
        (movv8qi_internal, movv4hi_internal, movv2si_internal,
        movv2sf_internal): Permit moving between MMX and XMM registers (since
        MMX areguments and return values are passed in XMM registers).
        (sse2_umulsidi3): Correct type and mode.

From-SVN: r84410
2004-07-09 15:35:35 -07:00
Richard Henderson f7fda74995 * tree-cfg.c (dump_cfg_stats): Fix 64-bit format mismatch errors.
From-SVN: r84409
2004-07-09 15:31:02 -07:00