Matt Hiller [Thu, 25 Apr 2002 19:31:45 +0000 (19:31 +0000)]
mips.c (mips_class_max_nregs, [...]): New functions.
2002-04-24 Matt Hiller <hiller@redhat.com>
* mips.c (mips_class_max_nregs, mips_register_move_cost): New
functions.
* mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
of the corresponding functions.
* mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
New prototypes.
2002-04-24 Matt Hiller <hiller@redhat.com>
* config/mips/mips.h (mips_sw_reg_names): Declare as extern.
(ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
(FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
registers, adjust comment accordingly.
(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
for coprocessor registers.
(ADDITIONAL_REGISTER_NAMES): Include
ALL_COP_ADDITIONAL_REGISTER_NAMES.
(mips_char_to_class): Adjust comment to include coprocessor
constraint letters.
* config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
New functions.
(mips_reg_names, mips_regno_to_class): Include coprocessor
information.
(mips_sw_reg_names): Ditto, make non-static.
(mips_move_1word): Handle moves to and from coprocessor registers.
(mips_move_2words): Handle moves to and from coprocessor
registers.
(mips_class_max_nregs, mips_register_move_cost): Handle
coprocessor register classes.
(override_options): Initialize mips_char_to_class and
mips_hard_regno_mode_ok properly for coprocessor registers.
* config/mips/mips.md (movdi_internal, movdi_internal2,
movsi_internal1, movsi_internal2): Add constraint-sets for
coprocessor registers.
* testsuite/gcc.c-torture/mipscop-1.c: New testcase.
* testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
isn't mips.
* testsuite/gcc.c-torture/mipscop-2.c: New testcase.
* testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
isn't mips.
* testsuite/gcc.c-torture/mipscop-3.c: New testcase.
* testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
isn't mips.
* testsuite/gcc.c-torture/mipscop-4.c: New testcase.
* testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
isn't mips.
Mark Mitchell [Thu, 25 Apr 2002 01:05:25 +0000 (01:05 +0000)]
mangle.c (write_type): Don't use TYPE_MAIN_VARIANT when writing out an array type.
* mangle.c (write_type): Don't use TYPE_MAIN_VARIANT when writing
out an array type.
(write_CV_qualifiers_for_type): Use TYPE_QUALS, not cp_type_quals,
to determine qualifiers.
Jason Merrill [Thu, 25 Apr 2002 00:13:45 +0000 (20:13 -0400)]
typeck.c (build_modify_expr): The pedwarn for array assignment is now unconditional.
* typeck.c (build_modify_expr): The pedwarn for array assignment is
now unconditional.
* tree.c (build_cplus_array_type_1): Still process simple array types
normally in templates.
Tom Tromey [Wed, 24 Apr 2002 23:05:17 +0000 (23:05 +0000)]
natCore.cc (create): Use __builtin_alloca, and compute correct length of UTF-8 encoded name.
* gnu/gcj/natCore.cc (create): Use __builtin_alloca, and compute
correct length of UTF-8 encoded name. Strip leading `/'.
(_Jv_RegisterResource): Use _Jv_Malloc.
Matthew Hiller [Wed, 24 Apr 2002 22:27:37 +0000 (22:27 +0000)]
cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
2002-04-24 Matt Hiller <hiller@redhat.com>
* cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
* c-lex.c: Ditto.
* cpplex.c (skip_line_comment): Process comment one multibyte
character at a time rather than one char at a time, if
appropriate.
(parse_string): Process string one multibyte character at a time
rather than one char at a time, if appropriate.
* c-lex.c (lex_string): Lex and copy multibyte strings
appropriately.
* cpplib.h (cppchar_t): Change to unsigned.
Matthew Hiller [Wed, 24 Apr 2002 22:27:19 +0000 (22:27 +0000)]
cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
2002-04-24 Matt Hiller <hiller@redhat.com>
* cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
* c-lex.c: Ditto.
* cpplex.c (skip_line_comment): Process comment one multibyte
character at a time rather than one char at a time, if
appropriate.
(parse_string): Process string one multibyte character at a time
rather than one char at a time, if appropriate.
* c-lex.c (lex_string): Lex and copy multibyte strings
appropriately.
* cpplib.h (cppchar_t): Change to unsigned.
Matthew Hiller [Wed, 24 Apr 2002 22:18:25 +0000 (22:18 +0000)]
cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
2002-04-24 Matt Hiller <hiller@redhat.com>
* cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
* c-lex.c: Ditto.
* cpplex.c (skip_line_comment): Process comment one multibyte
character at a time rather than one char at a time, if
appropriate.
(parse_string): Process string one multibyte character at a time
rather than one char at a time, if appropriate.
* c-lex.c (lex_string): Lex and copy multibyte strings
appropriately.
* cpplib.h (cppchar_t): Change to unsigned.
sh.md (divsi3_i4_media): Use match_operand for input values rather than hard registers.
* sh.md (divsi3_i4_media): Use match_operand for input values
rather than hard registers.
(divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
unnecessarily through hard registers. Keep copies of pseudo
registers outside of the libcall sequence.
* dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
* dwarf2out.c (dwarf_attr_name): Support it.
(gen_array_type_die): Emit it.
(lookup_type_die): No special handling for VECTOR_TYPE.
(gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
Tom Tromey [Tue, 23 Apr 2002 22:58:09 +0000 (22:58 +0000)]
For PR java/6314:
* jvspec.c (lang_specific_driver): Use --resource, not -R. Also
recognize `-fcompile-resource='.
* gcj.texi (Invoking gcj): Use --resource, not -R. Expanded text
a bit.
Jason Merrill [Tue, 23 Apr 2002 21:01:22 +0000 (17:01 -0400)]
re PR libstdc++/6414 (g++ 3.1 tellg() regression within last week)
PR libstdc++/6414
* include/bits/fstream.tcc (basic_filebuf::seekoff): Adjust return
value properly in the trivial case.
* testsuite/27_io/istream_seeks.cc (test04): Make sure that
tellg() returns the right value after a read.
David O'Brien [Tue, 23 Apr 2002 16:39:03 +0000 (16:39 +0000)]
g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
2002-04-23 David O'Brien <obrien@FreeBSD.org>
* cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
* config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
these libraries.
Approved by: Richard Henderson <rth@redhat.com>
Message-ID: <20020422223253.A32678@redhat.com>
David O'Brien [Tue, 23 Apr 2002 15:05:33 +0000 (15:05 +0000)]
g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
2002-04-23 David O'Brien <obrien@FreeBSD.org>
* g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
* config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
these libraries.
Approved by: Richard Henderson <rth@redhat.com>
Message-ID: <20020422223253.A32678@redhat.com>
Roger Sayle [Tue, 23 Apr 2002 10:17:37 +0000 (10:17 +0000)]
builtins.c (builtin_memset_gen_str): New function.
2002-04-23 Roger Sayle <roger@eyesopen.com>
* builtins.c (builtin_memset_gen_str): New function.
(expand_builtin_memset): Optimize the case of constant length, but
unknown value.
testsuite:
* gcc.c-torture/execute/string-opt-17.c: New test case.
* gcc.c-torture/execute/memset-2.c: New test case.
Eric Christopher [Tue, 23 Apr 2002 02:06:02 +0000 (02:06 +0000)]
mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert patch of 2002-04-09 due to binutils issues.
2002-04-22 Eric Christopher <echristo@redhat.com>
* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
patch of 2002-04-09 due to binutils issues.
(FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
Janis Johnson [Mon, 22 Apr 2002 23:22:33 +0000 (23:22 +0000)]
rtl.h (RTX_FLAG): New macro.
* rtl.h (RTX_FLAG): New macro.
* emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
* final.c (alter_subreg): Use macro to access rtx flag.
* integrate.c (copy_rtx_and_substitute): Use new access macro.
* print-rtl.c (print_rtx): Use new access macro.
* cse.c (insert): Check rtx code before accessing flag.
re PR c/6300 (sparc-sun-solaris2.7 gcc-3.1 C testsuite failure in gcc.dg/cpp/charconst.c)
* c-lex.c (lex_charconst): Call convert to get constant in
proper type; don't just smash the type field.
Fixes PR c/6300.
* config.gcc: Add list of obsolete configurations. Disallow
building these without --enable-obsolete.
* doc/install.texi: Document --enable-obsolete and obsoletion
policy. Mention obsoletion of individual targets in
appropriate places.
alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
* alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
* gcse.c (free_insn_expr_list_list): New.
(clear_modify_mem_tables): Use it. Fix bit set usage.
(canon_list_insert): Use EXPR_LISTs for expressions.
(record_last_mem_set_info): Factor BLOCK_NUM (insn).
Andrew Haley [Mon, 22 Apr 2002 16:55:39 +0000 (16:55 +0000)]
jcf-write.c (push_long_const): lo, hi: New variables.
2002-04-19 Andrew Haley <aph@redhat.com>
* jcf-write.c (push_long_const): lo, hi: New variables.
Use rshift_double to extract the high part of a 64-bit long.
Use WORD_TO_INT to extract the low part.
* jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
CONSTANT_Double: Use JPOOL_UINT to get both halve of a double.
altivec.h (vec_xor): Add variant for both args being vector signed int.
2002-04-22 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/altivec.h (vec_xor): Add variant for both args
being vector signed int.
(vec_andc): Same.
(vec_xor): Add variant for both args being vector signed char.
Remove redundant variant.
(vec_andc): Same.
David S. Miller [Sun, 21 Apr 2002 09:37:49 +0000 (02:37 -0700)]
dwarf2-signal.h (SIGNAL_HANDLER): Name siginfo_t pointer arg.
2002-04-19 David S. Miller <davem@redhat.com>
* include/dwarf2-signal.h (SIGNAL_HANDLER): Name siginfo_t pointer
arg.
(MAKE_THROW_FRAME): Define for 32-bit and 64-bit sparc.
(INIT_SEGV, INIT_FPE): Use direct __libc_sigaction installation
on Sparc too.
* include/sparc-signal.h (FLUSH_REGISTER_WINDOWS): Define properly
for 64-bit sparc.
(MAKE_THROW_FRAME): Use long for sp/retaddr so 64-bit works.
* sysdeps/sparc/locks.h: New file.
* configure.in (SIGNAL_HANDLER): Set to include/sparc-signal.h
on all sparc Solaris configurations. Set to
include/dwarf2-signal.h on sparc Linux.
* configure: Regenerate
* configure.host (can_unwind_signal): sparc*-linux* can do it now.
Benjamin Kosnik [Sun, 21 Apr 2002 04:15:29 +0000 (04:15 +0000)]
re PR libstdc++/6360 (Wrong workaround in char_traits.h - ignore stops on \0xff)
2002-04-20 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6360
* include/bits/istream.tcc (istream::ignore): Streamline, use
delimiter as is.
* include/bits/streambuf.tcc: Use this->gptr.
* testsuite/27_io/istream_unformatted.cc (test08): Add test.