aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
1999-02-01recog.c (check_asm_operands): Treat indeterminate operand ok results as success.Richard Henderson3-14/+59
* recog.c (check_asm_operands): Treat indeterminate operand ok results as success. Try harder to resolve a matching constraint. * stmt.c (expand_asm_operands): Recognize when an output operand's constraint does not allow memory. Treat indeterminate operand ok results as failure. Try harder to resolve a matching constraint. From-SVN: r24959
1999-02-01pt.c (tsubst, [...]): Check TYPE_BEING_DEFINED before calling ↵Mark Mitchell3-1/+32
complete_type_or_else. * pt.c (tsubst, case TYPENAME_TYPE): Check TYPE_BEING_DEFINED before calling complete_type_or_else. From-SVN: r24958
1999-02-01top.c: Don't define ffe_is_ident_.Zack Weinberg4-9/+9
1999-02-01 Zack Weinberg <zack@rabi.columbia.edu> * top.c: Don't define ffe_is_ident_. Don't process -f(no-)ident here. * top.h: Remove declaration of ffe_is_ident_ and macros ffe_is_ident() and ffe_set_is_ident(). * lex.c: Use flag_no_ident instead of ffe_is_ident(). From-SVN: r24957
1999-02-01Use varrays for constant-equivalence data:Ken Raeburn5-119/+177
* varray.h (struct const_equiv_data): New type. (union varray_data_tag): New element const_equiv. (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros. (VARRAY_SIZE): New macro, returns number of elements. * integrate.h: Include varray.h. (struct inline_remap): Replace const_equiv_map, const_age_map and const_equiv_map_size with a const_equiv_varray element. (MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if needed. (SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields simultaneously, growing the varray if needed. * integrate.c (global_const_equiv_map, global_const_equiv_map_size): Deleted, replaced by.... (global_const_equiv_varray): New variable. (expand_inline_function): References changed. * integrate.h: Update declarations. * integrate.c (process_reg_parm, expand_inline_function, copy_rtx_and_substitute, try_constants, subst_constants, mark_stores): Use varray allocation and accessor macros, new integrate.h macros, and global_const_equiv_varray. Don't conditionalize non-NULL stores on array size; instead, expand the array as needed. * unroll.c (unroll_loop): Likewise. * unroll.c (unroll_loop): Initialize const_equiv_varray element to zero. After allocating varray, always exit through bottom of function, where it can be deallocated if needed. Don't explicitly reallocate const_equiv_map storage; instead, just ensure the varray has been initialized, and update the global reference. From-SVN: r24956
1999-02-01Makefile.in: Add missing dependencies for jcf-dump.o, gjavah.o, ↵Hans-Peter Nilsson2-8/+17
check-init.o, jv-scan.o Thu Jan 28 09:17:51 1999 Hans-Peter Nilsson <hp@axis.se> * java/Makefile.in: Add missing dependencies for jcf-dump.o, gjavah.o, check-init.o, jv-scan.o From-SVN: r24955
1999-02-01Add 1999 copyright.Kaveh Ghazi3-3/+3
From-SVN: r24953
1999-02-01Makefile.in (gjavah.o): Depend on $(CONFIG_H) and system.h.Kaveh R. Ghazi6-22/+23
* Makefile.in (gjavah.o): Depend on $(CONFIG_H) and system.h. * gjavah.c: Include config.h and system.h. * javaop.h (inline): Don't define, its handled by system.h. (WORD_TO_FLOAT, WORDS_TO_LONG, WORDS_TO_DOUBLE): Change these from `inline' to `static inline'. * jcf.h (inline): Don't define, its handled by system.h. * lex.c (inline): Likewise. From-SVN: r24952
1999-02-01* input.c (inline): Don't define, its handled by system.h.Kaveh R. Ghazi2-6/+4
From-SVN: r24951
1999-02-01system.h (inline, const): Handle these for stage2 (and later) gcc.Kaveh R. Ghazi4-9/+20
* system.h (inline, const): Handle these for stage2 (and later) gcc. * dwarf2out.c (inline): Don't define. * dwarfout.c (inline): Likewise. From-SVN: r24950
1999-01-31Daily bump.Jeff Law1-1/+1
From-SVN: r24949
1999-01-31* loop.c (recombine_givs): Dump recombination and derivation data.Richard Henderson2-0/+22
From-SVN: r24948
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg1-4/+4
/ 1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24947
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg2-2/+6
1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24946
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg4-8/+15
a 1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24945
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg1-4/+4
d 1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24944
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg15-36/+59
1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24943
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg1-8/+0
( 1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24942
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg1-5/+1
X 1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24941
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg2-8/+22
� 1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24940
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg1-5/+1
h 1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24939
1999-01-31configure.in: Don't remove loop.o and unroll.o when enable-haifa is selected.Michael Hayes3-252/+346
Mon Feb 1 10:52:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * configure.in: Don't remove loop.o and unroll.o when enable-haifa is selected. * configure: Rebuilt. From-SVN: r24938
1999-01-31i386.md (movsicc, [...]): Delete unconstrained alternatives.John Wehle3-132/+122
* i386.md (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Delete unconstrained alternatives. * i386.c (output_fp_conditional_move, output_int_conditional_move): Delete unused case. From-SVN: r24937
1999-01-30Bump for snapshotJeffrey A Law2-1/+5
From-SVN: r24935
1999-01-30alpha.md (mov patterns): Emit the assembler aliases mov and fmov instead of ↵Richard Henderson2-100/+74
bis and cpys. * alpha.md (mov patterns): Emit the assembler aliases mov and fmov instead of bis and cpys. Combine alternatives where possible. From-SVN: r24934
1999-01-30Daily bump.Jeff Law1-1/+1
From-SVN: r24933
1999-01-30Fix thinko in last change to toplev.h (fnotice).Kaveh R. Ghazi2-1/+4
Wrap prototype with BUFSIZ to protect FILE* usage. From-SVN: r24932
1999-01-30gcov.c (fnotice): Add missing FILE* parameter.Kaveh R. Ghazi4-15/+30
* gcov.c (fnotice): Add missing FILE* parameter. (function_summary): Fix format specifiers in calls to `fnotice'. (output_data): Likewise. * toplev.c (fnotice): Constify char* parameter. * toplev.h (fnotice): Add prototype. From-SVN: r24931
1999-01-30Copyright dates.Jeff Law3-3/+3
From-SVN: r24930
1999-01-30Copyright date.Jeff Law1-1/+1
From-SVN: r24929
1999-01-30c4x.h (RTX_COSTS): Explicitly define c4x costs.Michael Hayes2-1/+17
Sun Jan 31 15:33:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs. From-SVN: r24928
1999-01-30* combine.c (distribute_notes): Handle REG_EH_REGION notes.Jeffrey A Law2-0/+13
From-SVN: r24927
1999-01-30alias.c (fixed_scalar_and_varying_struct_p): Add "static" to function ↵Jeffrey A Law2-3/+7
definition. * alias.c (fixed_scalar_and_varying_struct_p): Add "static" to function definition. (aliases_everything_p, write_dependence_p):Likewise. From-SVN: r24926
1999-01-30* gcc.c-torture/execute/990130-1.c: New test.Richard Henderson2-0/+27
From-SVN: r24925
1999-01-30* install.texi: Fix merge lossages.Jeffrey A Law2-1/+3
From-SVN: r24924
1999-01-30cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES is defined.Jeffrey A Law8-0/+23
* cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES is defined. * collect2.c (main): Likewise. * cppmain.c (main): Likewise. * gcc.c (main): Likewise. * gcov.c (main): Likewise. * protoize.c (main): Likewise. * toplev.c (main): Likewise. From-SVN: r24923
1999-01-30pa.md (parallel shift and shiftadd): Mark output of shift as an earlyclobber.Jeffrey A Law2-24/+30
* pa.md (parallel shift and shiftadd): Mark output of shift as an earlyclobber. Fixes -O1 bootstrap problem. From-SVN: r24922
1999-01-30* gcc.dg/990130-1.c: New test.Jeffrey A Law2-0/+28
From-SVN: r24917
1999-01-30loop.c: Disable recent loop changes.Jeffrey A Law2-1/+10
* loop.c: Disable recent loop changes. Temporary as Joern continues to fix problems. From-SVN: r24916
1999-01-29Daily bump.Jeff Law1-1/+1
From-SVN: r24911
1999-01-29* loop.c (strength_reduce): Size reg_map according to reg_iv_type.J"orn Rennecke2-5/+13
From-SVN: r24910
1999-01-29* check-init.c (check_init): Fix CLEANUP_POINT_EXPR typo.Richard Henderson2-1/+5
From-SVN: r24909
1999-01-29emit-rtl.c (remove_insn): New function.Dave Brolley4-12/+68
Fri Jan 29 18:26:07 1999 Dave Brolley <brolley@cygnus.com> * emit-rtl.c (remove_insn): New function. * rtl.h (remove_insn): Add prototype. * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn. From-SVN: r24908
1999-01-29parse.h (BUILD_APPEND): If ARG is a non-String object reference...Tom Tromey3-7/+19
* parse.h (BUILD_APPEND): If ARG is a non-String object reference, then cast it to Object before calling `append' method. From-SVN: r24907
1999-01-29* loop.c (recombine_givs): Don't try to derive givs that have combined.J"orn Rennecke2-7/+8
From-SVN: r24906
1999-01-29toplev.c (notice, fnotice): Check ANSI_PROTOTYPES...Kaveh R. Ghazi4-7/+16
* toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__, when declaring arguments and calling va_arg() to initialize them. * collect2.c (notice): Likewise. * loop.c (find_life_end): Use PROTO() macro in the prototype. From-SVN: r24905
1999-01-29collect2.c (error): Fix typo in declaration.Kaveh R. Ghazi6-5/+18
* collect2.c (error): Fix typo in declaration. * cpperror.c (cpp_message): Likewise. * cpplib.c (cpp_warning): Likewise. * cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add ATTRIBUTE_PRINTF_1. * toplev.c (error): Fix typo in declaration. From-SVN: r24904
1999-01-29loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning forward from ↵J"orn Rennecke2-3/+7
cont dominator. * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning forward from cont dominator. From-SVN: r24903
1999-01-29cccp.c (eprint_string): Constify a char*.Kaveh R. Ghazi2-64/+95
* cccp.c (eprint_string): Constify a char*. (notice): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1. (vnotice): Constify a char*. (error): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1. (verror): Constify a char*. (warning): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1. (vwarning): Constify a char*. (error_with_line): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_2. (verror_with_line): Constify a char*. (vwarning_with_line): Likewise. (warning_with_line): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_2. (pedwarn): Constify a char*. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1. (pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2. (pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4. Also correct typo in parameter name declaration. (make_assertion): Constify a char*. (quote_string_for_make): Likewise. (deps_output): Likewise. (fatal): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1. Use ATTRIBUTE_NORETURN not an explicit "__attribute__ ((noreturn))". (fancy_abort): Likewise for ATTRIBUTE_NORETURN. (pfatal_with_name): Likewise. (pipe_closed): Likewise. (memory_full): Likewise. From-SVN: r24902
1999-01-28Daily bump.Jeff Law1-1/+1
From-SVN: r24901
1999-01-28check-init.c (check_bool2_init, [...]): Handle TRUTH_AND_EXPR, ↵Per Bothner2-2/+14
TRUTH_OR_EXPR, and TRUTH_XOR_EXPR. � * check-init.c (check_bool2_init, check_bool_init, check_init): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR. * jcf-write.c (generate_bytecode_insns): Likewise. From-SVN: r24900