Commit Graph

71640 Commits

Author SHA1 Message Date
Paul Thomas 976e21f673 re PR fortran/24158 (ICE in f951 with nested, recursive derived types)
2005-10-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24158
	* decl.c (gfc_match_data_decl): Correct broken bit of code
	that prevents undefined derived types from being used as
	components of another derived type.
	* resolve.c (resolve_symbol): Add backstop error when derived
	type variables arrive here with a type that has no components.

2005-10-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24158
	gfortran.dg/derived_recursion.f90: New test.
	gfortran.dg/implicit_actual.f90: New test.

From-SVN: r105913
2005-10-26 05:20:19 +00:00
Andrew Pinski 02f8406bd0 re PR c/23103 (gcc_diag does not work with -combine)
2005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c/23103
        * c-format.c (check_format_types): Use lang_hooks.types_compatible_p
        instead of pointer equality when comparing types.

From-SVN: r105911
2005-10-25 19:15:02 -07:00
GCC Administrator 93f0c5dc94 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105906.2
2005-10-26 00:16:13 +00:00
Alexandre Oliva 83bb2f049f PR middle-end/24295, PR testsuite/24477
PR middle-end/24295, PR testsuite/24477
* g++.old-deja/g++.abi/vtable2.C: Require alias for now.  Will be
removed when weakref hits the tree.

From-SVN: r105893
2005-10-25 18:59:21 +00:00
Jakub Jelinek b122dc6a9a trans.h (gfc_conv_cray_pointee): Remove.
* trans.h (gfc_conv_cray_pointee): Remove.
	* trans-expr.c (gfc_conv_variable): Revert 2005-10-24 change.
	* trans-array.c (gfc_conv_array_parameter): Likewise.
	* trans-decl.c (gfc_conv_cray_pointee): Remove.
	(gfc_finish_cray_pointee): New function.
	(gfc_finish_var_decl): Use it.  Don't return early for Cray
	pointees.
	(gfc_create_module_variable): Revert 2005-10-24 change.
	* decl.c (cray_pointer_decl): Update comment.
	* gfortran.texi: Don't mention Cray pointees aren't visible in the
	debugger.

	* symbol.c (check_conflict): Add conflict between cray_pointee
	and in_common resp. in_equivalence.
	* resolve.c (resolve_equivalence): Revert 2005-10-24 change.
testsuite/
	* gfortran.dg/cray_pointers_4.f90: New test.

	* module.c (ab_attribute): Add AB_CRAY_POINTER and AB_CRAY_POINTEE.
	(attr_bits): Likewise.
	(mio_symbol_attribute): Save and restore cray_pointe{r,e} attributes.
	(mio_symbol): For cray_pointee write/read cp_pointer reference.
testsuite/
	* gfortran.dg/cray_pointers_5.f90: New test.

From-SVN: r105891
2005-10-25 20:43:22 +02:00
Feng Wang 910450c13f re PR fortran/22290 (Optimize Assigned GOTO to cause error with -O1 or higher)
2005-10-25  Feng Wang  <fengwang@nudt.edu.cn>

	PR fortran/22290
	* trans-decl.c (gfc_add_assign_aux_vars): New function. Add two
	auxiliary variables.
	(gfc_get_symbol_decl): Use it when a variable, including dummy
	argument, is assigned a label.
	(gfc_trans_assign_aux_var): New function. Set initial value of
	the auxiliary variable explicitly.
	(gfc_trans_deferred_vars): Use it.
	* trans-stmt.c (gfc_conv_label_variable): Handle dummy argument.

2005-10-25  Feng Wang  <fengwang@nudt.edu.cn>

	PR fortran/22290
	* gfortran.dg/assign_5.f90: New test.
	* gfortran.dg/assign_6.f: New test.

From-SVN: r105887
2005-10-25 14:06:22 +00:00
Uros Bizjak a22056479c i386-1.C: Include i386-cpuid.h.
* g++.dg/other/i386-1.C: Include i386-cpuid.h.  Pass if
	CPU has no SSE support.

From-SVN: r105885
2005-10-25 15:01:12 +02:00
Paolo Carlini e4b600fb23 lwg-active.html, [...]: Import Revision 39.
2005-10-25  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 39.
	* docs/html/ext/howto.html: Adjust.

From-SVN: r105884
2005-10-25 09:26:54 +00:00
Jerry DeLisle 6868dfa02b 2005-10-24 Jerry DeLisle <jvdelisle@verizon.net>
Missed commit of libgfortran.h from previous.

From-SVN: r105881
2005-10-25 01:52:48 +00:00
Jerry DeLisle 041de75015 2005-10-24 Jerry DeLisle <jvdelisle@verizon.net>
Fix ChangeLog for last commit.

From-SVN: r105880
2005-10-25 01:49:19 +00:00
Jerry DeLisle 2571ba2bf0 re PR libfortran/24224 (Generalized internal array IO not implemented.)
2005-10-24  Jerry DeLisle  <jvdelisle@verizon.net>

        PR libgfortran/24224
        * gfortran.dg/arrayio_1.f90: Update attribution.
        * gfortran.dg/arrayio_2.f90: Update attribution.
        * gfortran.dg/arrayio_3.f90: Update attribution.
        * gfortran.dg/arrayio_4.f90: Update test conditions.
        * gfortran.dg/arrayio_5.f90: Update attribution.
        * gfortran.dg/arrayio_6.f90: New test.
        * gfortran.dg/arrayio_7.f90: New test.
sle  <jvdelisle@verizon.net>

From-SVN: r105879
2005-10-25 01:45:02 +00:00
Jerry DeLisle 965eec1676 re PR libfortran/24224 (Generalized internal array IO not implemented.)
2005-10-24  Jerry DeLisle  <jvdelisle@verizon.net>

        PR libgfortran/24224
        * libgfortran.h: Remove array stride error code.
        * runtime/error.c: Remove array stride error.
        * io/io.h: Change name of 'nml_loop_spec' to 'array_loop_spec' to be
        generic.  Add pointer to array_loop_spec and rank to gfc_unit
        structure.
        * io/list_read.c: Revise nml_loop_spec references to array_loop_spec.
        * io/transfer.c (init_loop_spec): New function to initialize
        an array_loop_spec.
        (next_array_record): New function to return the index to the next array
        record by incrementing through the array_loop_spec.
        (next_record_r): Use new function.
        (next_record_w): Use new function.
        (finalize_transfer): Free memory allocated for array_loop_spec.
        * io/unit.c (get_array_unit_len): Delete this function. Use new
        function init_loop_spec to initialize the array_loop_spec.

From-SVN: r105878
2005-10-25 01:32:33 +00:00
James E Wilson 8c4b4e67fb IA-64 bootstrap failure with --param max-pending-list-length=2.
* sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
add_dependence_list_and_free calls.

From-SVN: r105877
2005-10-24 17:54:29 -07:00
GCC Administrator 03095a7869 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105872.2
2005-10-25 00:16:11 +00:00
Steven Bosscher c4289f246b contrib.texi: Add the names of the LLNL folks who donated Cray pointer support for gfortran.
* contrib.texi: Add the names of the LLNL folks who donated
	Cray pointer support for gfortran.

From-SVN: r105867
2005-10-24 21:27:03 +00:00
Zdenek Dvorak cf113d6700 * gcc.dg/tree-ssa/loop-9.c: Prevent matching "leave".
From-SVN: r105864
2005-10-24 20:29:00 +00:00
Paul Thomas 7b70727998 2005-10-24 Paul Thomas <pault@gcc.gnu.org>
gfortran.dg/namelist_char_only.f90: Add missing newline at end.

From-SVN: r105863
2005-10-24 20:25:40 +00:00
Paul Thomas 7ba18cea54 re PR libfortran/24416 (Wrong reading following namelist reading)
2005-10-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24416
	* libgfortran/io/list_read.c (namelist_read): Exit with call to
	free_saved () so that character strings do not accumulate.

2005-10-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24416
	gfortran.dg/namelist_char_only.f90: New test.

From-SVN: r105862
2005-10-24 20:20:40 +00:00
Asher Langton 83d890b9ba Commit for Asher Langton
PR fortran/17031
	PR fortran/22282

fortran/
	* check.c (gfc_check_loc) : New function
	* decl.c (variable_decl): New variables cp_as and sym. Added a
	check for variables that have already been declared as Cray
	Pointers, so we can get the necessary attributes without adding
	a new symbol.
	(attr_decl1): Added code to catch pointee symbols and "fix"
	their array specs.
	(cray_pointer_decl): New method.
	(gfc_match_pointer): Added Cray pointer parsing code.
	(gfc_mod_pointee_as): New method.
	* expr.c (gfc_check_assign): added a check to catch vector-type
	assignments to pointees with an unspecified final dimension.
	* gfortran.h: (GFC_ISYM_LOC): New.
	(symbol_attribute): Added cray_pointer and cray_pointee bits.
	(gfc_array_spec): Added cray_pointee and cp_was_assumed bools.
	(gfc_symbol): Added gfc_symbol *cp_pointer.
	(gfc_option): Added flag_cray_pointer.
	(gfc_add_cray_pointee): Declare.
	(gfc_add_cray_pointer ): Declare.
	(gfc_mod_pointee_as): Declare.
	* intrinsic.c (add_functions): Add code for loc() intrinsic.
	* intrinsic.h (gfc_check_loc): Declare.
	(gfc_resolve_loc): Declare.
	* iresolve.c (gfc_resolve_loc): New.
	* lang.opt: Added fcray-pointer flag.
	* options.c (gfc_init_options): Intialized
	gfc_match_option.flag_cray_pointer.
	(gfc_handle_option): Deal with -fcray-pointer.
	* parse.c:(resolve_equivalence): Added code prohibiting Cray
	pointees in equivalence statements.
	* resolve.c (resolve_array_ref): Added code to prevent bounds
	checking for Cray Pointee arrays.
	(resolve_equivalence): Prohibited pointees in equivalence
	statements.
	* symbol.c (check_conflict): Added Cray pointer/pointee
	attribute checking.
	(gfc_add_cray_pointer): New
	(gfc_add_cray_pointee): New
	(gfc_copy_attr): New code for Cray pointers and pointees
	* trans-array.c (gfc_trans_auto_array_allocation): Added code to
	prevent space from being allocated for pointees.
	(gfc_conv_array_parameter): Added code to catch pointees and
	correctly set their base address.
	* trans-decl.c (gfc_finish_var_decl): Added code to prevent
	pointee declarations from making it to the back end.
	(gfc_create_module_variable): Same.
	* trans-expr.c (gfc_conv_variable): added code to detect and
	translate pointees.
	(gfc_conv_cray_pointee): New.
	* trans-intrinsic.c (gfc_conv_intrinsic_loc): New.
	(gfc_conv_intrinsic_function): added entry point for loc
	translation.
	* trans.h (gfc_conv_cray_pointee): Declare.

	* gfortran.texi: Added section on Cray pointers, removed Cray
	pointers from list of proposed extensions
	* intrinsic.texi: Added documentation for loc intrinsic.
	* invoke.texi: Documented -fcray-pointer flag

testsuite/
	PR fortran/17031
	PR fortran/22282
	* gfortran.dg/cray_pointers_1.f90: New test.
	* gfortran.dg/cray_pointers_2.f90: New test.
	* gfortran.dg/cray_pointers_3.f90: New test.
	* gfortran.dg/loc_1.f90: New test.
	* gfortran.dg/loc_2.f90: New test.

From-SVN: r105859
2005-10-24 19:28:18 +00:00
Diego Novillo 086b011c2e MAINTAINERS (alias analysis): Add Daniel Berlin and Diego Novillo.
* MAINTAINERS (alias analysis): Add Daniel Berlin and
	Diego Novillo.

From-SVN: r105858
2005-10-24 15:22:15 -04:00
Steven Bosscher 7ffc0411cc re PR tree-optimization/24225 (ICE: segmentation fault in profile.c:branch_prob)
PR tree-optimization/24225

gcc/
	* profile.c (branch_prob): Look from end to start through a
	basic block when looking for a locus.

testsuite/
	* gcc.dg/pr24225.c: New test.

From-SVN: r105857
2005-10-24 19:20:38 +00:00
Richard Henderson 77c4f044f6 pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in parallel.
* pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
	parallel.
	(hppa_expand_prologue): Likewise.

From-SVN: r105856
2005-10-24 19:01:46 +00:00
John David Anglin 3674b34daf pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
* pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
	(NO_DEFERRED_PROFILE_COUNTERS): Define.
	* pa.h (NO_PROFILE_COUNTERS): Define.
	* pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
	(funcdef_nos): New vector to hold label numbers of deferred profile
	counters.
	(output_deferred_profile_counters): New function.
	(hppa_profile_hook): Push label number onto funcdef_nos.
	(pa_hpux_file_end): Call output_deferred_profile_counters if
	NO_DEFERRED_PROFILE_COUNTERS is false.

From-SVN: r105854
2005-10-24 16:51:59 +00:00
Asher Langton 09e87839d4 Commit for Asher Langton <langton2@llnl.gov>
fortran/
        * decl.c (gfc_match_save): Changed duplicate SAVE errors to
        warnings in the absence of strict standard conformance
        * symbol.c (gfc_add_save): Same.

testsuite/
	* gfortran.dg/dup_save_1.f90: New test.
	* gfortran.dg/dup_save_2.f90: New test.

From-SVN: r105850
2005-10-24 14:50:18 +00:00
Paul Brook aca2b8da20 re PR testsuite/24107 (gcc.dg/20050922-1.c relies in stdint.h)
2005-10-24  Paul Brook  <paul@codesourcery.com>

	PR 24107
	* gcc.dg/20050922-1.c: Provide definition of uint32_t without using
	stdint.h.

From-SVN: r105847
2005-10-24 12:55:37 +00:00
Francois-Xavier Coudert 4c93c95ac5 re PR fortran/15586 (gfortran should support i18n in its compiler messages)
PR fortran/15586
	* arith.c (gfc_arith_error): Change message to include locus.
	(check_result, eval_intrinsic, gfc_int2int, gfc_real2real,
	gfc_real2complex, gfc_complex2real, gfc_complex2complex): Use
	the new gfc_arith_error.
	(arith_error): Rewrite full error messages instead of building
	them from pieces.
	* check.c (must_be): Removed.
	(type_check, numeric_check, int_or_real_check, real_or_complex_check,
	kind_check, double_check, logical_array_check, array_check,
	scalar_check, same_type_check, rank_check, kind_value_check,
	variable_check, gfc_check_allocated, gfc_check_associated,
	gfc_check_cmplx, gfc_check_dcmplx, gfc_check_dot_product,
	gfc_check_index, gfc_check_kind, gfc_check_matmul, gfc_check_null,
	gfc_check_pack, gfc_check_precision, gfc_check_present,
	gfc_check_spread): Rewrite full error messages instead of
	building them from pieces.
	* decl.c (gfc_match_entry): Rewrite full error messages instead
	of building them from pieces.
	* parse.c (gfc_state_name): Remove.
	* parse.h: Remove prototype for gfc_state_name.

From-SVN: r105844
2005-10-24 09:11:51 +00:00
Jerry DeLisle 835681c8a2 re PR libfortran/24489 (read_block wrong execution order)
2005-10-23  Jerry DeLisle  <jvdelisle@verizon.net>

        PR libgfortran/24489
        * io/transfer.c (read_block): Change the order of execution to not read
        past end-of-record.
        (read_block_direct): Same change.

From-SVN: r105840
2005-10-24 03:51:24 +00:00
Jerry DeLisle 9da7372540 re PR libfortran/24489 (read_block wrong execution order)
2005-10-23  Jerry DeLisle  <jvdelisle@verizon.net>

        PR libgfortran/24489
        * gfortran.dg/pr24489.f90: New test.

From-SVN: r105839
2005-10-24 03:50:15 +00:00
John David Anglin 7aaf280e70 pa-protos.h (get_deferred_plabel): New prototype.
* pa-protos.h (get_deferred_plabel): New prototype.
	* pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
	Make global.
	(output_call): Adjust calls.

From-SVN: r105838
2005-10-24 02:38:25 +00:00
Alan Modra 4fed8f8f5f rs6000.c (rs6000_legitimize_tls_address): Explain peculiarity of GOT/TOC section usage.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
	peculiarity of GOT/TOC section usage.

From-SVN: r105836
2005-10-24 11:27:45 +09:30
GCC Administrator d1589df937 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105833.2
2005-10-24 00:16:16 +00:00
Andrew Pinski 2a694ec860 re PR objc/24435 (constant_string_class_name is undocumented in c-common.c)
2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/24435
         * c-common.c (constant_string_class_name): Add documentation.

From-SVN: r105831
2005-10-23 15:37:29 -07:00
Andrew Pinski 78bd27f62c re PR fortran/23635 (Argument of ichar at (1) must be of length one)
2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>

        PR fortran/23635
        * gfortran.dg/ichar_1.f90: Add tests for derived types.


2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>

        PR fortran/23635
        * check.c (gfc_check_ichar_iachar): Move the code around so
        that the check on the length is after check for
        references.

From-SVN: r105829
2005-10-23 15:16:38 -07:00
Hans-Peter Nilsson f2c48d8b41 re PR target/18911 (mmix-knuth-mmixware testsuite failure: g++.dg/init/array16.C execution)
PR target/18911
	* g++.dg/init/array16.C: Skip for mmix-*-*.

From-SVN: r105828
2005-10-23 21:37:57 +00:00
Kaz Kojima 0341454504 re PR target/23832 (libjava build failure on sh64)
PR target/23832
	* recog.c (peephole2_optimize): Increment peep2_current_count
	only when the slot is empty.

From-SVN: r105827
2005-10-23 21:15:18 +00:00
Francois-Xavier Coudert ad238e4ff7 re PR libfortran/23272 ([mingw32] inquire via filename fails)
PR libfortran/23272
	* acinclude.m4 (LIBGFOR_CHECK_WORKING_STAT): New check.
	* configure.ac: Use LIBGFOR_CHECK_WORKING_STAT.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* io/unix.c (compare_file_filename): Add fallback case for
	systems without working stat.
	* io/open.c (already_open): Correct call to
	compare_file_filename.
	* io/io.h: Correct proto for compare_file_filename.

From-SVN: r105824
2005-10-23 20:43:54 +00:00
Asher Langton 5f700e6de0 Commit for Asher Langton <langton2@llnl.gov>
gcc/
	* decl.c (match_type_spec): Add a BYTE type as an extension.

testsuite/
	* gfortran.dg/byte_1.f90: New test.
	* gfortran.dg/byte_2.f90: New test.

From-SVN: r105823
2005-10-23 20:42:27 +00:00
Francois-Xavier Coudert 17d6e514a1 fpu.c: Add _GNU_SOURCE definition.
* runtime/fpu.c: Add _GNU_SOURCE definition.
	* config/fpu-glibc.h: Remove __USE_GNU definition.

From-SVN: r105822
2005-10-23 20:06:08 +00:00
David Edelsohn fa8697330d * gcc.dg/attr-alias-3.c: XFAIL on AIX.
From-SVN: r105820
2005-10-23 15:59:07 -04:00
John David Anglin 8a36d7d180 re PR ada/23957 (ld terminated with signal 10 [Bus error] linking libgnat-4.0.sl)
PR ada/23957
	* except.c (output_function_exception_table): Call
	assemble_external_libcall if we need a personality function.

From-SVN: r105819
2005-10-23 18:43:30 +00:00
Paul Thomas 2853e5127d re PR fortran/18022 (problem with structure and calling a function)
2005-10-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/18022
	* trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL
	if there is a component ref during an array ref to force
	use of temporary in assignment.

	PR fortran/24311
	PR fortran/24384
	* fortran/iresolve.c (check_charlen_present): New function to
	add a charlen to the typespec, in the case of constant
	expressions.
	(gfc_resolve_merge, gfc_resolve_spread): Call.the above.
	(gfc_resolve_spread): Make calls to library functions that
	handle the case of the spread intrinsic with a scalar source.
	* libgfortran/intrinsics/spread_generic.c (spread_internal
	_scalar): New function that handles the special case of spread
	with a scalar source. This has interface functions -
	(spread_scalar, spread_char_scalar): New functions to interface
	with the calls specified in gfc_resolve_spread.

2005-10-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/18022
	gfortran.dg/assign_func_dtcomp_1.f90: New test.

	PR fortran/24311
	gfortran.dg/merge_char_const.f90: New test.

	PR fortran/24384
	gfortran.dg/spread_scalar_source.f90: New test.

From-SVN: r105810
2005-10-23 06:59:17 +00:00
GCC Administrator 1903e03eca Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105805.2
2005-10-23 00:16:12 +00:00
Hans-Peter Nilsson 17f4409dc0 * g++.old-deja/g++.jason/thunk2.C: Guard test with { target fpic }.
From-SVN: r105798
2005-10-22 20:57:01 +00:00
Hans-Peter Nilsson 8e6a43093a 20040204-1.c: Adjust XFAIL for CRIS and MMIX.
* gcc.dg/tree-ssa/20040204-1.c: Adjust XFAIL for CRIS and MMIX.
	* gcc.dg/tree-ssa/loop-1.c: Adjust "call foo"-scanning for CRIS.

From-SVN: r105797
2005-10-22 20:28:34 +00:00
Hans-Peter Nilsson 2b4ffcaa5a * gcc.dg/weak/typeof-2.c: Adjust for CRIS keeping baz3 in a register.
From-SVN: r105795
2005-10-22 19:52:28 +00:00
Erik Edelmann 6019a1a447 re PR fortran/24426 (gfortran ICE for valid derived type definition with default initialization)
2005-10-22  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/24426
        * decl.c (variable_decl): Don't assign default initializers to
                    pointers.


2005-10-22  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/24426
        * gfortran.dg/der_pointer_4.f90: New.

From-SVN: r105792
2005-10-22 17:02:42 +00:00
Paolo Bonzini e7c84bf8e9 re PR bootstrap/24297 (libtool: link: unable to infer tagged configuration)
2005-10-22  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/24297
	* Makefile.tpl (do-[+make-target+], do-check, install,
	stage[+id+]-bubble, [+compare-target+]): Ensure $$r and $$s
	are set before recursing.
	* Makefile.in: Regenerate.

From-SVN: r105791
2005-10-22 10:37:17 +00:00
David Ayers 131452a00e except-1.mm: Simplify.
2005-10-22  David Ayers  <d.ayers@inode.at>

	* obj-c++.dg/except-1.mm: Simplify.

From-SVN: r105790
2005-10-22 09:31:12 +00:00
GCC Administrator 7b475fd2ce Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105784.2
2005-10-22 00:16:14 +00:00
Mark Mitchell 901097dbd4 * texi2pod.pl: Substitue for @value even when part of @include.
From-SVN: r105780
2005-10-21 23:31:07 +00:00