Gabriel Dos Reis [Sun, 26 Nov 2000 12:20:50 +0000 (12:20 +0000)]
tests_flags.in: New file.
libstdc++-v3:
* tests_flags.in: New file. Split out of ...
* mkcheck.in: ... this. Move flags computation into
tests_flags.in.
* configure.in: Add support for tests_flags.
* confiigure: Regenerate.
* java/lang/Thread.java (context_class_loader): New private data.
(getContextClassLoader): New method.
(setContextClassLoader): New method.
(Thread): Initialize context_class_loader.
* java/net/URLClassLoader.java: Import java.util.Enumeration.
(getResource): Rename to findResource.
(findResource): New method. Used to be getResource.
(getResourceAsStream): Deleted.
(jarFileize): Extracted logic from URLClassLoader constructor into
this new private method.
(addURL): New protected method.
(URLClassLoader): Call jarFileize. Use addElement instead of
insertElementAt.
(findResources): New method.
* java/lang/ClassLoader.java: Import java.util.Enumeration.
(getResource): Implement correct logic.
(findResource): New method.
(getResources): New method.
(findClass): Create a ClassNotFoundException with the name of the
class rather than nothing at all.
(defineClass) Only throw ClassFormatError.
* java/lang/Class.java (forName): New method.
* java/lang/Class.h (forName): New method.
* java/lang/natClass.cc (forName): New method.
Bryce McKinlay [Sun, 26 Nov 2000 01:48:04 +0000 (01:48 +0000)]
System.java (setProperties): Only call init_properties() if properties is null.
2000-11-24 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/System.java (setProperties): Only call init_properties()
if properties is null.
(getProperties): Ditto.
(getProperty): Ditto.
(setProperty): Call init_properties if properties are null.
(prop_init): Remove field.
* java/lang/natSystem.cc (init_properties): Synchronize the entire
method. Check for null properties after synchronizing instead of
prop_init flag. Set the properties field last for thread safety.
* java/io/ObjectInputStream.java (ObjectInputStream): If DEBUG is set,
test for gcj.dumpobjects property and enable object stream dumping
if it is set.
(dumpElement): No longer native.
(dumpElementln): Ditto.
(setDump): Do not define.
* java/io/natObjectInputStream.cc (dumpElement): Removed.
(dumpElementln): Removed.
(setDump): Removed.
2000-11-24 Bryce McKinlay <bryce@albatross.co.nz>
* configure: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am (built_java_source_files): Add Configuration.java.
* configure.in: Add Configuration.java to CONFIG_FILES. Set
LIBGCJDEBUG substitution if --enable-libgcj-debug is specified.
Create `gnu' directory in the build tree.
* gnu/classpath/Configuration.java.in: New file.
* c-common.h (DECL_C_HARD_REGISTER): New.
* c-decl.c (finish_decl): Set it for asm register variables.
* c-semantics.c (emit_local_var): Test it when instantiating one.
Jakub Jelinek [Sat, 25 Nov 2000 17:38:58 +0000 (18:38 +0100)]
sparc.md (muldi3_v8plus): Remove H constraint.
* config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
Handle CONST_INT as second argument.
* config/sparc/sparc.c (set_extends): Remove first argument.
Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
MOV.
(sparc_check_64): Abort if first argument is not REG.
If it is DImode REG, look at the lower register of the register
pair.
Alexandre Oliva [Sat, 25 Nov 2000 06:35:09 +0000 (06:35 +0000)]
sh.h (TARGET_NONE): New.
* config/sh/sh.h (TARGET_NONE): New.
(TARGET_SWITCHES): For all variant-selecting switch, use
TARGET_NONE to reset all other variant-selecting switch. Added
empty strings to avoid warnings.
(TARGET_DEFAULT): Set to SH1_BIT.
Alexandre Oliva [Sat, 25 Nov 2000 04:57:39 +0000 (04:57 +0000)]
sh.md (sibcalli, [...]): New insns.
* gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
(sibcall_pcrel): New insn_and_split.
(sibcall, sibcall_value, sibcall_epilogue): New expands.
Alexandre Oliva [Sat, 25 Nov 2000 04:42:27 +0000 (04:42 +0000)]
sh.md (GOTaddr2picreg, [...]): Don't set current_function_uses_pic_offset_table.
* config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
symPLT_label2reg, call, call_value): Don't set
current_function_uses_pic_offset_table.
* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
takes it into account.
(FINALIZE_PIC): Delete, useless.
(LEGITIMATE_CONSTANT_P): Delete, unused.
* config/sh/sh.c (sh_expand_prologue): Don't use
current_function_uses_pic_offset_table. Don't special-case
PIC_OFFSET_TABLE_REGNUM. Initialize it if it's ever live and
PIC is enabled.
(sh_expand_epilogue, initial_elimination_offset): Don't
special case PIC_OFFSET_TABLE_REGNUM.
* configure.in (AC_OUTPUT_COMMANDS): Remove, just run scripts as
is, so that checks for existence of generated files actually work.
* configure: Regenerate.
Alexandre Oliva [Fri, 24 Nov 2000 22:06:31 +0000 (22:06 +0000)]
sh.h (GENERAL_REGISTER_P, [...]): New macros.
* config/sh/sh.h (GENERAL_REGISTER_P,
GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros. Use them
all over.
(SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
* config/sh/sh.c: Use new macros.
* config/sh/sh.md: Likewise.
Tom Tromey [Fri, 24 Nov 2000 21:02:36 +0000 (21:02 +0000)]
prims.cc (_Jv_NewObjectArray): Use palcement new to create array.
* prims.cc (_Jv_NewObjectArray): Use palcement new to create
array.
(_Jv_NewPrimArray): Likewise.
Include <new>.
* gcj/array.h (__JArray): `length' field now const. Added
constructor.
(class JArray): Added constructor.
Denis Chertykov [Fri, 24 Nov 2000 20:02:40 +0000 (20:02 +0000)]
avr.c (out_tsthi,out_tstsi): Test simplification bug fixed.
* config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
fixed.
(machine_dependent_reorg): Wrong optimization based on
NOTICE_UPDATE_CC removed.
Nathan Sidwell [Fri, 24 Nov 2000 10:30:46 +0000 (10:30 +0000)]
c-parse.in (unary_expr): Move VA_ARG from here ...
* c-parse.in (unary_expr): Move VA_ARG from here ...
(primary): ... to here.
cp:
* parse.y (unary_expr): Move VA_ARG from here ...
(primary): ... to here.
testsuite:
* g++.old-deja/g++.other/vaarg4.C: New test.
* gcc.c-torture/compile/20001123-1.c: New test.
Nathan Sidwell [Fri, 24 Nov 2000 09:56:27 +0000 (09:56 +0000)]
semantics.c (finish_id_expr): If type is error_mark, return error_mark.
cp:
* semantics.c (finish_id_expr): If type is error_mark, return
error_mark.
testsuite:
* g++.other/crash24.C: Adjust and remove XFAIL.
* g++.other/crash37.C: New test.
cp:
* pt.c (lookup_template_class): Simplify loop exit constructs.
Cope when there is no partial instantiation of a template
template member.
testsuite:
* g++.old-deja/g++.pt/instantiate9.C: New test.
Alexandre Oliva [Thu, 23 Nov 2000 13:23:04 +0000 (13:23 +0000)]
emit-rtl.c (gen_lowpart_common): Use word 0 if register mode is narrower than requested mode.
* emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
is narrower than requested mode.
(gen_highpart): Abort if register mode is narrower than
requested mode.
* config/os/gnu-linux/bits/os_defines.h: Include <features.h>.
If not glibc 2.1 or higher, include <gnu/types.h> and define
__off64_t as __loff_t and #define __THROW as empty.
* libio/libio.h [__P]: Move __THROW and __PMT into their own
ifndef:s.
Benjamin Kosnik [Thu, 23 Nov 2000 06:46:31 +0000 (06:46 +0000)]
Make deprecated strstream header consistent with new and new.h.
2000-11-22 Benjamin Kosnik <bkoz@redhat.com>
Make deprecated strstream header consistent with new and new.h.
* include/backward/strstream.h: Add. Use using declarations to
scope strstreambuf, istrstream, ostrstream, strstream to global
scope.
* include/backward/strstream: Remove using declarations.
* src/Makefile.am (base_headers): Add strstream.
* src/Makefile.in: Regenerate.
* include/backward/new.h (_CPP_BACKWARD_NEW_H): Change macro guard
to be consistent with other headers.
Alexandre Oliva [Thu, 23 Nov 2000 06:37:23 +0000 (06:37 +0000)]
final.c (output_addr_const): Simplify.
* final.c (output_addr_const) [LABEL_REF]: Simplify.
[MINUS]: Enclose non-CONST_INTs in parentheses.
[default]: Try OUTPUT_ADDR_CONST_EXTRA.
* tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
* varasm.c (decode_rtx_const) [CONST]: If it's not something
PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
instead of abort()ing.
* sh.c (output_pic_addr_const): Removed. Fixed all callers.
* sh.h (OUTPUT_ADDR_CONST_EXTRA): New. Handle the UNSPECs
formerly handled in output_pic_addr_const.
* sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
operands of MINUS in CONSTs so that decode_rtx_const() will
accept them.
Alexandre Oliva [Thu, 23 Nov 2000 06:20:16 +0000 (06:20 +0000)]
sh.md (mova_const): New pattern.
* config/sh/sh.md (mova_const): New pattern.
(GOTaddr2picreg): Use it.
* config/sh/sh.c (broken_move): Match it.
(mova_p): Don't match it.
(machine_dependent_reorg): Adjust it.
* parse.y (build_outer_field_access): New local `decl_ctx', use
it. Check for field's context and current class immediate outer
context inheritance.
(outer_field_access_p): Consider fields inherited from the last
enclosing context.
(build_access_to_thisn): Stop at the last enclosing context if
necessary.
Fixes gcj/367.
Bryce McKinlay [Thu, 23 Nov 2000 05:18:41 +0000 (05:18 +0000)]
Vector.java: Improve exception messages.
2000-11-23 Bryce McKinlay <bryce@albatross.co.nz>
* java/util/Vector.java: Improve exception messages.
(Vector): Check initialCapacity for IllegalArgumentException.
(tromToSize): Don't check for elementCount == elementData.length
case.
(toArray): Don't try to set null marker if target array is the same
length as the vector.
Alexandre Oliva [Thu, 23 Nov 2000 04:22:48 +0000 (04:22 +0000)]
sh.h (FIRST_GENERAL_REG, [...]): New.
* config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
Moved most register-number #defines...
* config/sh/sh.md (define_constants): ... here. Use macros to
refer to registers and unspecs.
* config/sh/sh.c: Likewise.
Benjamin Kosnik [Thu, 23 Nov 2000 03:25:47 +0000 (03:25 +0000)]
Make deprecated strstream header consistent with new and new.h.
2000-11-22 Benjamin Kosnik <bkoz@redhat.com>
Make deprecated strstream header consistent with new and new.h.
* include/backward/strstream.h: Add. Use using declarations to
scope strstreambuf, istrstream, ostrstream, strstream to global
scope.
* include/backward/strstream: Remove using declarations.
* src/Makefile.am (base_headers): Add strstream.
* src/Makefile.in: Regenerate.
* include/backward/new.h (_CPP_BACKWARD_NEW_H): Change macro guard
to be consistent with other headers.
Neil Booth [Wed, 22 Nov 2000 19:17:14 +0000 (19:17 +0000)]
gcc.c (validate_switches): Validate multiple switches named in '|' (or) expressions in specs.
* gcc.c (validate_switches): Validate multiple switches named
in '|' (or) expressions in specs.
(handle_braces): If more than 1 alternative in a '|' spec
matches, call do_spec1 just once.
Loren J. Rittle [Wed, 22 Nov 2000 18:31:25 +0000 (18:31 +0000)]
ltcf-cxx.sh: Support creation of C++ shared libraries on recent versions of FreeBSD (release...
2000-11-22 Loren J. Rittle <ljrittle@acm.org>
* ltcf-cxx.sh: Support creation of C++ shared libraries on
recent versions of FreeBSD (release 3 or later).
* ltconfig: On FreeBSD, -lc must not be provided when building
a shared library or else the standard -pthread gcc option is
rendered worthless to later users of the built library.