Paolo Carlini [Mon, 1 Mar 2004 10:31:33 +0000 (10:31 +0000)]
locale_facets.tcc (num_get<>::_M_extract_float): Also when parsing exponent sign, first look for thousands_sep and decimal_point...
2004-03-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
Also when parsing exponent sign, first look for thousands_sep
and decimal_point; tweak a bit.
* testsuite/22_locale/num_get/get/char/15.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
num_get<>::_M_extract_int): Reorder some conditionals.
2004-03-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Consistently with numpunct, enforce the requirements in
22.2.6.3, p3 for the thousands separators; tweak a bit.
* testsuite/22_locale/money_get/get/char/15.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
Paolo Bonzini [Mon, 1 Mar 2004 09:42:10 +0000 (09:42 +0000)]
combine.c (try_combine): Do not refer to is_replaced.
2004-03-01 Paolo Bonzini <bonzini@gnu.org>
* combine.c (try_combine): Do not refer to is_replaced.
(gen_lowpart_for_combine): Perverse subregs now have a
more politically correct name.
* cse.c (cse_insn): Likewise.
* jump.c: Fix bogus reference to delete_insn.
Mark Mitchell [Sun, 29 Feb 2004 23:43:29 +0000 (23:43 +0000)]
re PR middle-end/13448 (gcc 3.3.2, internal error when -O3 and trying to modify function const arg)
PR middle-end/13448
* c-tree.h (readonly_warning): Rename to ...
(readonly_error): ... this.
* c-typeck.c (build_unary_op): Adjust accordingly.
(readonly_warning): Rename to ...
(readonly_error): ... this and issue errors, not warnings.
(build_modify_expr): Call readonly_error, not readonly_warning.
(c_expand_asm_operands): Likewise.
* tree-inline.c (optimize_inline_calls): Do not inline functions
after errors have occurred.
PR middle-end/13448
* gcc.dg/inline-5.c: New test.
* gcc.dg/always-inline.c: Split out tests into ...
* gcc.dg/always-inline2.c: ... this and ...
* gcc.dg/always-inline3.c: ... this.
Mark Mitchell [Sun, 29 Feb 2004 23:10:43 +0000 (23:10 +0000)]
re PR debug/12103 (-g only crash (segfault) with a forward declared class used as a template parameter)
PR debug/12103
* class.c (update_vtable_entry_for_fn): Do not go through
covariance machinery if the type returned by an overrider is the
same as the original.
Nathanael Nerode [Sun, 29 Feb 2004 20:22:40 +0000 (20:22 +0000)]
configure.in: Convert to autoconf 2.57, gratuitous stylistic cleanup, rename to configure.ac.
* configure.in: Convert to autoconf 2.57, gratuitous stylistic
cleanup, rename to configure.ac.
* configure.ac: Renamed from configure.in.
* config.h.in: Rebuilt with autoheader 2.57.
* configure: Rebuilt with autoconf 2.57
* README: Update to reflect rename of configure.in to configure.ac.
Per Bothner [Sun, 29 Feb 2004 19:14:20 +0000 (11:14 -0800)]
natPosixProcess.cc (startProcess): Implement standard streams using FileChannelImpl, not FileDescriptor.
* java/lang/natPosixProcess.cc (startProcess): Implement standard
streams using FileChannelImpl, not FileDescriptor.
* java/lang/natWin32Process.cc (startProcess): Likewise.
Per Bothner [Sun, 29 Feb 2004 19:12:45 +0000 (11:12 -0800)]
MappedByteBuffer.java: (forceImpl...
* java/nio/MappedByteBuffer.java: (forceImpl, isLoadedImpl, loadImpl,
unmapImpl): New dummy methods, to be overridden by subclass.
(finalize, isLoaded, load, force): New methods.
* java/nio/MappedByteBufferImpl.java: More-or-less rewrite.
Now works, at least for read mapping.
Per Bothner [Sun, 29 Feb 2004 19:10:46 +0000 (11:10 -0800)]
FileChannelImpl.java: Moved to package gnu/java/nio/channels, since we need to refer to it from java.io.
* java/nio/channels/FileChannelImpl.java: Moved to package
gnu/java/nio/channels, since we need to refer to it from java.io.
* java/nio/channels/natFileChannelImpl.cc: Removed file.
Per Bothner [Sun, 29 Feb 2004 19:09:28 +0000 (11:09 -0800)]
FileChannelImpl.java: New class, renamed from java/nio/channels.
* gnu/java/nio/channels/FileChannelImpl.java: New class, renamed
from java/nio/channels. Don't depend on FileDescriptor.
(in, out, err): New static fields.
(mode): New field.
(SET, CUR, READ, WRITE, APPEND, EXCL, SYNC, DSYNC): Moved constants
from FileDescriptor.
(by): Removed MappedByteBuffer field.
(map): New working implementation.
* gnu/java/nio/channels/natFileChannelPosix.cc: New file, though
some code "ported" from natFileDescriptoPosix.cc.
* gnu/java/nio/channels/natFileChannelEcos.cc: Likewise.
* gnu/java/nio/channels/natFileChannelWin32.cc Likewise.
Kazu Hirata [Sun, 29 Feb 2004 15:11:12 +0000 (15:11 +0000)]
sibcall-3.c (recurser_void1): Make it an extern function with __attribute__((noinline)).
* gcc.dg/sibcall-3.c (recurser_void1): Make it an extern
function with __attribute__((noinline)).
(recurser_void2): Likewise.
* gcc.dg/sibcall-4.c (recurser_void1): Likewise.
(recurser_void2): Likewise.
atomicity.h (__atomic_add): Make first argument volatile.
* config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
volatile.
* config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
__GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
Guilhem Lavaux [Sat, 28 Feb 2004 21:28:53 +0000 (21:28 +0000)]
2004-02-28 Guilhem Lavaux <guilhem@kaffe.org>
* java/io/ObjectInputStream.java
(readClassDescriptor): Keep elements of the mapping non null.
(checkTypeConsistency): New method.
(readFields): Fixed main loop and base logic. Small reindentation.
* java/io/ObjectStreamField.java
(lookupField): New method to update the field reference.
(checkFieldType): New method.
* java/io/ObjectStreamClass.java
(setClass, setFields): Call lookupField when building the field
database. Check the real field type.
Paolo Carlini [Sat, 28 Feb 2004 20:37:54 +0000 (20:37 +0000)]
locale_facets.tcc (num_get<>::_M_extract_float): According to 22.2.3.1...
2004-02-28 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
According to 22.2.3.1, p2, 'units' may be followed by 'e' with
no 'decimal-point' in the middle: in this case too we must fix
up __found_grouping; slightly tweak.
* testsuite/22_locale/num_get/get/char/14.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
mips.c (override_options): Remove an obsolete duplicate definition of the "e" constraint.
* config/mips/mips.c (override_options): Remove an obsolete
duplicate definition of the "e" constraint.
* config/mips/mips.h: Update a comment accordingly.
mips.md: Complete the unfinished R4000 multiply/shift errata workaround.
* config/mips/mips.md: Complete the unfinished R4000
multiply/shift errata workaround. Improve documentation.
(hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
has a hilo hazard.
(mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
(muldi3, muldi3_internal): Likewise.
(muldi3_internal2): Remove, replacing with...
(muldi3_mult3, muldi3_r4000): ...these new patterns.
(mulsidi3): Take the errata into account.
(mulsidi3_32bit): Remove, replacing with...
(mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
(mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
(umulsidi3): Take the errata into account.
(umulsidi3_32bit): Remove, replacing with..
(umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
(umulsi3_highpart, umulsi3_highpart_internal): Disable if
TARGET_FIX_R4000.
(smulsi3_highpart, smulsi3_highpart_internal): Likewise.
(smuldi3_highpart, umuldi3_highpart): Likewise.
* doc/invoke.texi: Document the errata workaround.
* config/mips/mips-protos.h (mips_idiv_insns): Declare.
* config/mips/mips.h (MASK_FIX_SB1): Bump.
(MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
(TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
* config/mips/mips.c (mips_idiv_insns): New function.
(override_options): Make -march=r4000 imply -mfix-r4000 by default.
(mips_output_division): Add a workaround for the R4000 divide/shift
errata.
* config/mips/mips.md (length): Use mips_idiv_insns() to calculate
the length of an "idiv" instruction.
* doc/invoke.texi: Document the new switches.
Ian Lance Taylor [Sat, 28 Feb 2004 02:43:41 +0000 (02:43 +0000)]
re PR rtl-optimization/7871 (ICE on legal code, global register variables problems)
PR optimization/7871
* flow.c (mark_set_1): Don't add LOG_LINKS for global registers
from or to call insns.
(propagate_one_insn): Interpret calls as setting global registers,
not merely clobbering them.
2004-02-27 Dale Johannesen <dalej@apple.com>
* config/darwin.c (machopic_output_possible_stub_label): Remove.
config/darwin-protos.h: Ditto.
config/darwin.h: Remove call to it.
* combine.c (distribute_notes): Do not place a REG_DEAD note
when value is both set and used.
Phil Edwards [Fri, 27 Feb 2004 22:01:32 +0000 (22:01 +0000)]
default.exp: Update with comments.
2004-02-27 Phil Edwards <phil@codesourcery.com>
* testsuite/config/default.exp: Update with comments.
(${tool}_target_compile): New wrapper routine.
* testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
* testsuite/lib/libstdc++.exp: Update with comments and cosmetic
fixes.
(load_gcc_lib, v3track): New routines.
(v3-init): Rename to libstdc++_init.
* testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
Move DEFAULT_CXXFLAGS handling into libstdc++_init.
Paolo Carlini [Fri, 27 Feb 2004 14:30:19 +0000 (14:30 +0000)]
locale_facets.tcc (num_get<>::_M_extract_float, [...]): If appropriate, call reserve on the __tmp_gruping string.
2004-02-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
call reserve on the __tmp_gruping string.
(num_get<>::_M_extract_float): Don't append unnecessarily a
char() to the returned string.
* include/bits/locale_facets.tcc: Trivial reformattings.
Paolo Carlini [Fri, 27 Feb 2004 10:12:01 +0000 (10:12 +0000)]
locale_facets.h (money_get<>::_M_extract): Change signature: now takes a plain string&.
2004-02-27 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (money_get<>::_M_extract):
Change signature: now takes a plain string&.
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Update consistently the definition; use the moneypunct cache
to parse the value; use swap to change __units.
(money_get<>::do_get(long double&)): Update call of _M_extract,
avoid ctype::narrow, not correct wrt the standard.
(money_get<>::do_get(string_type&)): Likewise, update call
of _M_extract, use ctype::widen.
* src/locale-inst.cc: Tweak instantiations of _M_extract.
Eric Botcazou [Fri, 27 Feb 2004 08:11:34 +0000 (09:11 +0100)]
fold-const.c (fold): Revert 2004-02-25 change.
* fold-const.c (fold): Revert 2004-02-25 change. Use the original
operands to build a tree with swapped operands.
* expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
'unsignedp' predicate to specify the signedness.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r78558
* c-lex.c (c_lex_string_translate): New variable.
(lex_string): Use to determine string translation.
* c-pragma.h: Prototype.
* c-parse.in (start_string_translation): New. Set above.
(stop_string_translation): Ditto.
(attribute, attribute_list, asm_def, asm_stmt,
asm_operand): Use above functions.
* cp/parser.c (cp_parser_declaration): Translate strings
unless token is RID_EXTERN. Set c_lex_string_translate
for recursive use.
(cp_parser_asm_definition): Only translate argument strings
to asms.
(cp_parser_asm_operand_list): Ditto.
(cp_parser_attribute_list): Do not translate attribute strings.