Bryce McKinlay [Wed, 28 Jun 2000 06:03:11 +0000 (06:03 +0000)]
ThreadGroup.java: Added synchronized flag to many methods.
* ThreadGroup.java: Added synchronized flag to many methods.
(destroyed_flag): Removed.
(isDestroyed, removeGroup, removeThread): Test for parent == null.
(activeCount): Added spec note.
Zack Weinberg [Tue, 27 Jun 2000 22:26:11 +0000 (22:26 +0000)]
cpp: New directory.
* gcc.dg/cpp: New directory.
* gcc.dg/cpp/cpp.exp: New driver.
* gcc.dg/cpp/20000627-1.c: New test.
* gcc.c-torture/special/special.exp: Remove entry for 921210-1.c.
* gcc.c-torture/special/921210-1.c: Move to gcc.dg/cpp/19921210-1.c
and rewrite as a compilation test.
Tom Tromey [Tue, 27 Jun 2000 21:27:50 +0000 (21:27 +0000)]
PushbackInputStream.java (read): If there are characters in the buffer, don't also call super.read().
* java/io/PushbackInputStream.java (read): If there are characters
in the buffer, don't also call super.read().
* java/io/PushbackReader.java (read): If there are characters in
the buffer, don't also call super.read().
Bryce McKinlay [Tue, 27 Jun 2000 05:18:56 +0000 (05:18 +0000)]
re GNATS gcj/238 (Can't call methods from Object on an inner class)
2000-06-09 Bryce McKinlay <bryce@albatross.co.nz>
* parse.y (find_applicable_accessible_methods_list): Use a hashtable
to track searched classes, and do not search the same class more than
once. Call find_applicable_accessible_methods_list on immediate
superclass, instead of search_applicable_method_list on all ancestors.
Fix for PR gcj/238.
(Fix to the Java PR #238:
http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00206.html)
Warren Levy [Tue, 27 Jun 2000 05:10:03 +0000 (05:10 +0000)]
PropertyChangeEvent.java (oldVal): Renamed to oldValue.
* java/beans/PropertyChangeEvent.java (oldVal): Renamed to oldValue.
(newVal): Renamed to newValue.
* java/beans/PropertyVetoException.java (changeEvent): Renamed to evt.
* java/beans/beancontext/BeanContextServiceRevokedEvent.java
(revokeNow): Renamed to invalidateRefs.
* java/io/OptionalDataException.java: Updated FIXME.
(eof): New placeholder field.
(length); Ditto.
* java/io/WriteAbortedException.java (message): Made transient.
* java/lang/ClassNotFoundException.java: Updated comments for JDK 1.2.
* java/lang/Throwable.java (stackTrace): Made transient.
* java/net/InetAddress.java: Made Serializable.
* java/security/KeyPair.java: Made Serializable.
* java/security/Provider.java: Replaced with Classpath version that
implements serialization and proper methods.
* java/text/ChoiceFormat.java (strings): Renamed to choiceFormats.
(limits): Renamed to choiceLimits.
* class.c (set_super_info): Handle ACC_PRIVATE for (inner)
classes.
* java-tree.h (TYPE_PRIVATE_INNER_CLASS): New macro.
(struct lang_type): New field `pic.'
(CLASS_PRIVATE): New macro.
* parse.y (check_inner_class_access): New function.
(jdep_resolve_class): Call it.
2000-06-09 Bryce McKinlay <bryce@albatross.co.nz>
* parse.y (register_fields): Permit static fields in inner classes
if they are final. Fix for PR gcj/255.
(These patches are fixes to the PR #224 and #255:
http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00158.html
http://sourceware.cygnus.com/ml/java-prs/2000-q2/msg00287.html)
Franz Sirl [Mon, 26 Jun 2000 23:11:54 +0000 (23:11 +0000)]
980523-1.c: Add prototype for exit().
2000-06-26 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.dg/980523-1.c: Add prototype for exit().
* gcc.dg/980827-1.c: Add prototype for exit() and abort().
Geoff Keating [Mon, 26 Jun 2000 21:36:58 +0000 (21:36 +0000)]
ssa.c (struct rename_set_data): Change the name of field 'set_dest' to 'old_reg'.
* ssa.c (struct rename_set_data): Change the name of field
'set_dest' to 'old_reg'. Add comments.
(struct rename_context): Change the name of 'set_data' to
'new_renames'. Add new field 'done_renames'.
(create_delayed_rename): New function.
(apply_delayed_renames): New function.
(rename_insn_1): Use the new functions. Handle CLOBBERS. Handle
SUBREGs and similar by emitting a move.
(new_registers_for_updates): Delete, functionality moved to
apply_delayed_renames.
(rename_block): Handle moves emitted by rename_insn_1 by putting
them into a SEQUENCE with the original insn. Add sanity checks
and comments.
(rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
(rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
* dwarf2.h (enum dwarf_call_frame_info): Add
DW_CFA_def_cfa_expression.
* dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
dw_loc_descr_struct entry.
(struct cfa_loc): New structure to track a CFA location.
(lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset.
(lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an
offset, plus handle DW_CFA_def_cfa_expression.
(def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a
cfa_loc record.
(dwarf2out_def_cfa): Entry point maintained for compatability.
(dwarf_cfi_name): Add DW_CFA_def_cfa_expression.
(cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'.
(cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'.
(initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not
cfa_reg.
(dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl
sequences for the new DW_CFA_def_cfa_expression record.
(dwarf2out_frame_debug): Use new variables/fields.A
(output_cfi): Handle DW_CFA_def_cfa_expression.
(output_cfa_loc): New function to generate a CFI record for
DW_CFA_def_cfa_expression.
(get_cfa_from_loc_descr): New function to get a cfa_loc record from
a dw_loc_descr sequeunce.
(build_loc_descr): Build a dw_loc_descr from a cfa_loc record.
(dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr,
size_of_locs, output_loc_operands, output_loc_sequence): Move into
unwind info section.
* frame.h (frame_state): Add base_offset and indirect fields.
* frame-dwarf2.c (decode_stack_op): New function to interpret a
dw_loc_descr operation.
(execute_cfa_insn): Add support for DW_CFA_def_cfa_expression.
(struct frame_state): Add base offset and indirect fields.
* libgcc2.c (next_stack_level): Support indirect loading for CFA.
Zack Weinberg [Mon, 26 Jun 2000 19:12:53 +0000 (19:12 +0000)]
20000419-1.c, [...]: Use "target *-*-*", not "target native", in case we are cross-compiling.
* gcc.dg/20000419-1.c, gcc.dg/cpp-mi.c, gcc.dg/cpp-tradwarn1.c,
gcc.dg/cpp-unc.c: Use "target *-*-*", not "target native", in
case we are cross-compiling.
* c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
Make warnings about implicit int be pedwarns in C99. Don't warn
about duplicate type qualifiers in C99.
(start_function): Make warning about implict int return type be a
pedwarn in C99.
* c-lex.c (yylex): Don't warn about `long long' in C99.
* c-typeck.c (c_expand_return): In C99, always pedwarn about
`return' with no value in function returning non-void.
Nathan Sidwell [Mon, 26 Jun 2000 11:07:20 +0000 (11:07 +0000)]
syntax1.C: New test.
* g++.old-deja/g++.pt/syntax1.C: New test.
* g++.old-deja/g++.pt/syntax2.C: New test.
* g++.old-deja/g++.other/syntax3.C: New test.
* g++.old-deja/g++.other/syntax4.C: New test.
* parse.y (do_resolve_class): Minor optimiztion in the package
list search. Removed unecessary test and return statement.
(valid_ref_assignconv_cast_p): Order of arguments to
enclosing_context_p fixed.
* gcc.dg/20000625-1.c, gcc.dg/20000625-2.c, gcc.dg/cpp-mi3.c:
New tests.
* gcc.dg/cpp-mi3.def: New file.
* gcc.dg/cpp-as1.c: Also test that macro expansion does not occur
inside assertions.
* gcc.dg/cpp-as2.c: Make error regexps match either old or new
lexer's error messages.
* gcc.dg/cpp-mi.c: Use -H and examine the output, don't try to
divine anything from the linemarkers.
* gcc.dg/cpp-micc.h: Fix typo (declare int b, not int a);
* gcc.dg/poison-1.c: Preprocess only; apply -fno-show-column.
Philipp Thomas [Sun, 25 Jun 2000 02:45:23 +0000 (02:45 +0000)]
aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog compiler found.
* aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog
compiler found.
AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no.
* configure: Rebuilt.
avr-protos.h (avr_hard_regno_mode_ok): New prototype.
* config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype.
* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr):
New functions, common code moved from function_{prologue,epilogue}
and extended to support the -mtiny-stack option.
(function_prologue, function_epilogue): Use them.
Use lo8/hi8 consistently for asm output readability.
(avr_hard_regno_mode_ok): New function.
* config/avr/avr.h (TARGET_SWITCHES): Fix typo. Add -mtiny-stack.
(UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c.
(HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function.
* config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack.
Write SPH before SPL.
(*movqi): No need to disable interrupts for just one "out"
in alternative 5. Change length attribute from 4 to 1.
* config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
Write SPH before SPL.
Benjamin Kosnik [Sat, 24 Jun 2000 00:56:05 +0000 (00:56 +0000)]
fstream.tcc (basic_filebuf::basic_filebuf(fd)): Use it.
2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* bits/fstream.tcc (basic_filebuf::basic_filebuf(fd)): Use it.
(basic_filebuf::close): Use it.
* bits/std_fstream.h (basic_filebuf): Remove default arguments for
filebuf ctor.
(basic_filebuf): Add _M_fileno_based data member.
As reported by brent verner <brent@rcfile.org>
* testsuite/27_io/filebuf_members.cc: New file.
* testsuite/27_io/filebuf_members-1.tst: New file.
Benjamin Kosnik [Sat, 24 Jun 2000 00:53:06 +0000 (00:53 +0000)]
filebuf_members.cc: New file.
2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* testsuite/27_io/filebuf_members.cc: New file.
* testsuite/27_io/filebuf_members-1.tst: New file.
* bits/fstream.tcc (basic_filebuf::basic_filebuf(fd)): Use it.
(basic_filebuf::close): Use it.
* bits/std_fstream.h (basic_filebuf): Remove default arguments for
filebuf ctor.
(basic_filebuf): Add _M_fileno_based data member.
* bits/std_fstream.h: Formatting tweaks.
* testsuite/27_io/ofstream_members.cc: New file.
* testsuite/27_io/ofstream_members-1.tst: New file.
* testsuite/27_io/ifstream_members.cc: New file.
* testsuite/27_io/ifstream_members-1.tst: New file.
Benjamin Kosnik [Fri, 23 Jun 2000 22:21:47 +0000 (22:21 +0000)]
std_fstream.h: Formatting tweaks.
2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* bits/std_fstream.h: Formatting tweaks.
* testsuite/27_io/ofstream_members.cc: New file.
* testsuite/27_io/ofstream_members-1.tst: New file.
* testsuite/27_io/ifstream_members.cc: New file.
* testsuite/27_io/ifstream_members-1.tst: New file.
Alex Samuel [Fri, 23 Jun 2000 03:58:44 +0000 (03:58 +0000)]
in include/ChangeLog:
* dyn-string.h (dyn_string_init, dyn_string_new,
dyn_string_delete, dyn_string_release, dyn_string_resize,
dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
dyn_string_append_char, dyn_string_substring_dyn_string_eq):
Define as same name with __cxa_ prepended, if IN_LIBGCC2.
(dyn_string_init, dyn_string_copy, dyn_string_copy_cstr,
dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
dyn_string_append_char, dyn_string_substring): Change return type
to int.
in libiberty/ChangeLog:
* cp-demangle.c: Don't include ctype.h.
(IS_DIGIT): New macro.
(IS_ALPHA): Likewise. Use IS_DIGIT and IS_ALPHA throughout
instead of isdigit and isalpanum.
(demangling_def): Make name and next const pointers.
(STATUS_ALLOCATION_FAILED): New status code.
(dyn_string_append_space): Handle failure in
dyn_string_append_char.
(int_to_dyn_string): Likewise. Change return value to status_t.
(string_list_new): Handle failure of dyn_string_init.
(result_close_template_list): Change return type to status_t.
Handle failure in dyn_string_append.
(result_push): Change return value to status_t. Handle failure in
string_list_new. Handle failure of result_push throughout.
(substitution_add): Change return value to status_t. Handle
dyn_string failures. Handle failure of substitution_add
throughout.
(template_arg_list_new): Return NULL on allocation failure.
(result_append_string): Return STATUS_ALLOCATION_FAILED on error.
Handle error result throughout.
(result_append): Likewise.
(result_append_char): Likewise.
(result_append_space): Likewise.
(demangling_new): Make argument a const pointer. Handle
allocation failures.
(demangle_template_args): Handle failure in template_arg_list_new
and result_close_template_list.
(demangle_discriminator): Return if int_to_dyn_string fails.
(cp_demangle): Likewise.
(cp_demangle_type): New function.
(cplus_demangle_new_abi): Don't call dyn_string_delete. Abort on
memory allocation failure.
(main): Likewise.
* dyn-string.c (RETURN_ON_ALLOCATION_FAILURE): Define if
IN_LIBGCC2.
(dyn_string_init): Change return value to int. Handle
RETURN_ON_ALLOCATION_FAILURE case.
(dyn_string_new): Handle RETURN_ON_ALLOCATION_FAILURE case.
(dyn_string_release): Delete the dyn_string.
(dyn_string_resize): Handle RETURN_ON_ALLOCATION_FAILURE case.
(dyn_string_copy): Change return type to int.
(dyn_string_copy_cstr): Likewise.
(dyn_string_prepend): Likewise.
(dyn_string_prepend_cstr): Likewise.
(dyn_string_insert): Likewise.
(dyn_string_insert_cstr): Likewise.
(dyn_string_append): Likewise.
(dyn_string_append_cstr): Likewise.
(dyn_string_append_char): Likewise.
(dyn_string_substring): Likewise.
in gcc/cp/ChangeLog:
* Make-lang.in (CXX_LIB2FUNCS): Add cp-demangle.o and dyn-string.o.
(CXX_LIB2SRCS): Add cp-demangle.c and dyn-string.c.
(cp-demangle.o): New rule.
(dyn-string.o): Likewise.
* inc/cxxabi.h (__cxa_demangle): New declaration.
Mark Mitchell [Fri, 23 Jun 2000 01:14:40 +0000 (01:14 +0000)]
cp-tree.h (BV_USE_VCALL_INDEX_P): New macro.
* cp-tree.h (BV_USE_VCALL_INDEX_P): New macro.
(BV_GENERATE_THUNK_WITH_VTABLE_P): Likewise.
(lang_decl_flags): Add generate_with_vtable_p. Make vcall_offset
a tree, not an int.
(THUNK_GENERATE_WITH_VTABLE_P): New macro.
(make_thunk): Change prototype.
(emit_thunk): Rename to use_thunk.
(mangle_thunk): Change prototype.
* class.c (get_derived_offset): Simplify.
(copy_virtuals): Clear BV_USE_VCALL_INDEX_P and
BV_GENERATE_THUNK_WITH_VTABLE_P.
(build_primary_vtable): Simplify.
(add_virtual_function): Use BV_FN, rather than TREE_VALUE.
(dfs_find_base): Remove.
(update_vtable_entry_for_fn): Correct bug in finding the base
where a virtual function was first declared. Figure out whether
or not to emit a vcall-thunk with the vtables in which it appears.
Correct logic for deciding whether to use an ordinary thunk, or a
vcall thunk.
(finish_struct_1): Remove unnecssary code.
(build_vtbl_initializer): Use ssize_int for the running counter of
negative indices.
(build_vtbl_initializer): Only use vcall thunks where necessary.
Mark thunks as needing to be emitted with their vtables, or not.
(build_vbase_offset_vtbl_entries): Adjust for use of ssize_int in
indices. Use size_binop.
(dfs_build_vcall_offset_vtbl_entries): Don't rely on
BINFO_PRIMARY_MARKED_P here. Use BV_FN consistently. Use
size_binop.
(build_rtti_vtbl_entries): Adjust call to build_vtable_entry.
(build_vtable_entry): Mark thunks as needing to be emitted with
their vtables, or not.
* decl.c (lang_mark_tree): Mark the vcall_offset in a thunk.
* decl2.c (mark_vtable_entries): Use use_thunk instead of
emit_thunk.
* dump.c (dequeue_and_dump): Remove dead code. Dump new thunk
information.
* error.c (dump_expr): Use BV_FN.
* mangle.c (mangle_thunk): Adjust now that vcall_offset is a tree,
not an int.
* method.c (make_thunk): Likewise.
(emit_thunk): Rename to use_thunk. Allow callers to decide
whether or not to actually emit the thunk. Adjust for changes in
representation of vcall offsets.
* search.c (dfs_get_pure_virtuals): Use BV_FN.
* semantics.c (emit_associated_thunks): New function.
(expand_body): Use it.
* ir.texi: Adjust decriptions of thunks.
Benjamin Kosnik [Thu, 22 Jun 2000 23:59:04 +0000 (23:59 +0000)]
[multiple changes]
2000-06-22 Steven King <sxking@uswest.net>
* acinclude.m4: Check for sinl, _sinl using 1 parameter.
2000-06-22 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Redo. Use the
same approach as GLIBCPP_CHECK_MATH_SUPPORT, only don't try to
link against libm and don't use -fno-builtins...
* math/mathconf.h: Change up builtin macros to new schema.
* bits/std_cmath.h: And here. Wheee!
* shadow/bits/std_cmath.h: And here.
* acconfig.h: Change up builtin macros here.
* math/cosf.c: Remove.
* math/fabsf.c: Likewise.
* math/sinf.c: Likewise.
* math/sqrtf.c: Likewise.
* math/Makefile.am (EXTRA_DIST): Remove those four files.
* math/Makefile.in: Regenerate.
Benjamin Kosnik [Thu, 22 Jun 2000 23:17:58 +0000 (23:17 +0000)]
acconfig.h: Change up builtin macros here.
2000-06-22 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* acconfig.h: Change up builtin macros here.
* acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Redo. Use the
same approach as GLIBCPP_CHECK_MATH_SUPPORT, only don't try to
link against libm and don't use -fno-builtins...