Mark Mitchell [Fri, 8 Jun 2001 22:33:46 +0000 (22:33 +0000)]
c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations accurately reflect its cv-qualification.
* c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
accurately reflect its cv-qualification.
* c-typeck.c (type_lists_compatible_p): Ignore the top-levl
cv-qualifiers on function types.
init.c (__objc_send_message_in_list): When setting a new entry in __objc_load_methods use the method IMP as key...
2001-06-06 Richard Frith-Macdonald <rrfm@gnu.org>
* init.c (__objc_send_message_in_list): When setting a new entry
in __objc_load_methods use the method IMP as key, but check to see
if the method is in the hashtable by looking at the IMP also.
Also ... call the method after adding it to the hashtable rather
than before ... thus preventing an obscure possibility of infinite
recursion if a +load method itself loads a subclass.
Tom Tromey [Fri, 8 Jun 2001 22:12:28 +0000 (22:12 +0000)]
re PR libgcj/2874 (libjava testsuite disk space usage)
Fix for PR libgcj/2874:
* libjava.mauve/mauve.exp (gcj_run_mauve_tests): New proc.
(test_mauve): Return 0 on failure.
* lib/libjava.exp (test_libjava_from_source): Remove generated
files if test is successful.
(test_libjava_from_javac): Likewise.
(gcj_cleanup): New proc.
Jan Hubicka [Fri, 8 Jun 2001 19:52:06 +0000 (21:52 +0200)]
function.c (diddle_return_value): Kill code to determine return value before expand_function_end.
* function.c (diddle_return_value): Kill code to determine
return value before expand_function_end.
(expand_function_end): Delay call to clobber_return_register
after fucntion return value is computed.
Re-install temporary reverted patch:
* toplev.c (rest_of_compilation): Call split_all_insns
before reg-stack and shorten-branches. Do shorten-branches
after reg-stack.
* final.c (shorten_branches): Remove insn splitting code.
Joseph Myers [Fri, 8 Jun 2001 19:42:28 +0000 (20:42 +0100)]
gcc.texi, [...]: Add index of command line options.
* doc/gcc.texi, doc/invoke.texi: Add index of command line
options. Use @opindex to index them rather than other indexing
commands. Use @var{...} instead of <...>. Avoid spaces in names
inside @var. Don't use @kindex to index escape sequences in
source code.
Nathan Sidwell [Fri, 8 Jun 2001 11:10:29 +0000 (11:10 +0000)]
re PR c++/3061 (kde2/artsd miscompilation (part 2))
PR c++/3061
* class.c (build_secondary_vtable): Use assert, rather than an error
message.
(dfs_fixup_binfo_vtbls): BINFO_VTABLE might be NULL.
(dfs_accumulate_vtbl_inits): A lost primary virtual base may
be between ORIG_BINFO and RTTI_BINFO, but neither of them.
Don't set BINFO_VTABLE for a primary virtual base.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r43006
Loren J. Rittle [Fri, 8 Jun 2001 03:55:43 +0000 (03:55 +0000)]
eh_alloc.cc: Ensure that required macros are defined before including gthr.h.
* libsupc++/eh_alloc.cc: Ensure that required macros are
defined before including gthr.h. Ensure that we get the
version of gthr.h for which we know how to provide a
configuration.
* libsupc++/eh_globals.cc: Likewise. And, bring the threading
code path into line with the current EH model. Use std, where
appropriate.
Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>
From-SVN: r42999
* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Completely rework to
setup and use gthr*.h files. In particular, make gthr.h files
namespace-clean in the staging area (they don't have to be for
libgcc.a).
* aclocal.m4: Regenerate.
* configure: Regenerate.
* include/bits/c++config: Cleanup threading configuration macros.
In particular, define __STL_GTHREADS macro which controls...
* include/bits/stl_threads.h: ...a brand new gthr.h-based
configuration here.
* config/c_io_stdio.h: Include staged gthr.h instead of local
thread configuration file. Always use __gthread_mutex_t
instead of __mutext_type (or int).
* include/bits/std_fstream.h: Likewise.
* docs/html/17_intro/howto.html: Remove placeholder comment in
case this configuration patch didn't make it. Add advice that
section only applies if configured with --enable-threads.
* docs/html/23_containers/howto.html: Reword to make clear
that _PTHREADS is no longer required for any port to be
correctly using STL with threads. Add advice that section
only applies if configured with --enable-threads.
Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>
From-SVN: r42998
Stan Shebs [Fri, 8 Jun 2001 02:28:04 +0000 (02:28 +0000)]
darwin.h (ENCODE_SECTION_INFO): Define.
* config/darwin.h (ENCODE_SECTION_INFO): Define.
(REDO_SECTION_INFO_P): Ditto.
(STRIP_NAME_ENCODING): Ditto.
(ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
(ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
(GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
* config/darwin.c: No longer include c-tree.h.
(machopic_classify_ident): Rewrite to use symbol encoding.
(lookup_name_darwin): Remove.
(machopic_non_lazy_ptr_name): Handle encoded symbols.
(machopic_stub_name): Use STRIP_NAME_ENCODING.
(machopic_validate_stub_or_non_lazy_ptr): Ditto.
(machopic_finish): Ditto, remove test of decl.
(update_non_lazy_ptrs): New function.
(darwin_encode_section_info): New function.
* config/darwin-protos.h: Declare it.
* config/rs6000/rs6000.c (machopic_output_stub): Use
STRIP_NAME_ENCODING.
* alpha/osf.h (CPP_XFLOAT_SPEC): Define.
(CPP_SUBTARGET_SPEC): Use it.
(ASM_OLDAS_SPEC): Define.
(ASM_SPEC): Use it.
(SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
Joseph Myers [Thu, 7 Jun 2001 16:41:27 +0000 (17:41 +0100)]
tm.texi (TARGET_SWITCHES, [...]): Adjust markup.
* doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
Document use of N_(...), and show it in examples. Note that
documentation should be added to invoke.texi. Avoid an overfull
hbox.
Thu Jun 7 12:12:58 CEST 2001 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_compilation): Call split_all_insns
before reg-stack and shorten-branches. Do shorten-branches
after reg-stack.
* final.c (shorten_branches): Remove insn splitting code.
Joseph Myers [Thu, 7 Jun 2001 07:27:49 +0000 (08:27 +0100)]
update_web_docs, [...]: Check out files that may be in the Attic.
* update_web_docs, doc_exclude: Check out files that may be in the
Attic. Check out texinfo.tex. Don't generate anything from
c-tree.texi. Generate PostScript output from manuals.
Jason Merrill [Wed, 6 Jun 2001 21:52:52 +0000 (17:52 -0400)]
cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose.
* cp-tree.h (THUNK_GENERATE_WITH_VTABLE_P): Lose.
(struct lang_decl_flags): Lose generate_with_vtable_p.
(BV_GENERATE_THUNK_WITH_VTABLE_P): Lose.
* class.c (copy_virtuals): Adjust.
* decl2.c (mark_vtable_entries): Adjust.
* method.c (make_thunk, build_vtable_entry): Adjust.
* class.c (update_vtable_entry_for_fn): Only look as far as the
first defining class.
(build_vtbl_initializer): Put nothing in the slot for a function only
defined in a lost primary virtual base.
(add_vcall_offset_vtbl_entries_1): Use the same code for
the lost primary case and the normal case.
(dfs_unshared_virtual_bases): Don't lose a non-virtual primary base.
(get_vfield_offset, get_derived_offset): Lose.
(dfs_find_final_overrider): Use look_for_overrides_here.
(get_matching_virtual): New fn.
* semantics.c (emit_associated_thunks): Check BV_USE_VCALL_INDEX_P,
not BV_VCALL_INDEX.
* search.c (look_for_overrides_here): Split out from...
(look_for_overrides_r): Here.
* class.c (find_final_overrider): Return error_mark_node on error.
Jan Hubicka [Wed, 6 Jun 2001 12:57:31 +0000 (14:57 +0200)]
i386.md (floatdi?f): Avoid usinf of SSE instructions if TARGET_64BIT is false.
* i386.md (floatdi?f): Avoid usinf of SSE instructions
if TARGET_64BIT is false.
(floatdi?f_i386_only): New insn.
(floatdi?f_i386): Disable for !TARGET_64BIT.
* (min?f, max?f splitters): Handle case where
operands are cross-matched.
* i386.c (x86_branch_hints): New global variable
(print_operand): Support outputting of branch prediction hints.
* i386.md (conditional jump patterns): Add branch prediction hints
to the template.
* i386.h (x86_branch_hints): Declare
(TARGET_BRANCH_PREDICTION_HINTS): New macro.
(PRINT_OPERAND_FUNCT_VALID_P): New.
* final.c (final_forward_branch_p): New function.
Mark Mitchell [Wed, 6 Jun 2001 03:15:33 +0000 (03:15 +0000)]
pt.c (instantiate_decl): Tell the repository code about the clones, not the cloned functions.
* pt.c (instantiate_decl): Tell the repository code about the
clones, not the cloned functions.
* repo.c (repo_template_used): Explicitly instantiate the cloned
function, not the clones.
* dwarf2.h (DW_EH_PE_aligned): New.
* dwarf2asm.c (eh_data_format_name): Name it.
(dw2_asm_output_encoded_addr_rtx): Align for it.
* dwarf2out.c (output_call_frame_info): Handle it for personality
routine and LSDA pointers.
Mark Mitchell [Tue, 5 Jun 2001 20:32:41 +0000 (20:32 +0000)]
print-rtl.c (xspaces): Remove.
* print-rtl.c (xspaces): Remove.
(print_rtx): Use printf field-width, rather than xpsaces, to
indent.
* toplev.c (main): Disable sibling-call optimization if we are
handling exceptions.
* reload1.c (reload): Delete all USEs generated during reload.
Nathan Sidwell [Tue, 5 Jun 2001 12:53:52 +0000 (12:53 +0000)]
call.c (build_user_type_conversion_1): Set ICS_USER_FLAG and ICS_BAD_FLAG on created conversion.
cp:
* call.c (build_user_type_conversion_1): Set ICS_USER_FLAG and
ICS_BAD_FLAG on created conversion.
(compare_ics): Break out rank.
testsuite:
* g++.old-deja/g++.other/conv7.C: New test.
Martin Kahlert [Tue, 5 Jun 2001 09:46:36 +0000 (09:46 +0000)]
natClass.cc (_Jv_IsAssignableFrom): Ensure that ancestors table index is within allowed bounds.
2001-06-05 Martin Kahlert <martin.kahlert@infineon.com>
Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Ensure that ancestors
table index is within allowed bounds. Ensure that we dont try to access
class itable at a negative offset. Avoid an ancestor table lookup if
source is a primitive type class.
(isInstance): Remove redundant isPrimitive() check.