Nathan Sidwell [Thu, 25 May 2000 11:13:17 +0000 (11:13 +0000)]
tinfo.h (__user_type_info::contained_virtual_p): New predicate.
* tinfo.h (__user_type_info::contained_virtual_p): New
predicate.
* tinfo.cc (__user_type_info::do_upcast): Fix bug with diamond
shaped heirarchy.
(__vmi_class_type_info::__do_upcast): Fix bug with NULL pointer to
diamond shaped heirarchy. Add early out for mixed diamond and
duplicate shaped heirarchy.
Benjamin Kosnik [Thu, 25 May 2000 10:14:26 +0000 (10:14 +0000)]
[multiple changes]
2000-05-24 Nathan "I don't write ChangeLog Entries" Myers <ncm@cantrip.org>
* config/cpu/i486: New directory.
* config/cpu/i486/bits: New directory.
* config/cpu/i486/bits/atomicity.h: New file.
* config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
'cmpxchgl' asm.
* acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.
2000-05-24 Loren J. Rittle <ljrittle@acm.org>
* backward/alloc.h (__default_alloc_template): Only expose
implementation-specific symbol, if it exists in the
configuration.
* backward/iostream.h (ends): Expose symbol.
* backward/strstream.h: New file.
* backward/stream.h: New file.
* backward/ostream.h: New file.
* backward/istream.h: New file.
* backward/fstream.h: New file.
* backward/complex.h: New file.
* backward/iomanip.h: New file.
Loren J. Rittle [Thu, 25 May 2000 10:06:30 +0000 (10:06 +0000)]
alloc.h (__default_alloc_template): Only expose implementation-specific symbol, if it exists in the configuration.
2000-05-24 Loren J. Rittle <ljrittle@acm.org>
* backward/alloc.h (__default_alloc_template): Only expose
implementation-specific symbol, if it exists in the
configuration.
* backward/iostream.h (ends): Expose symbol.
* backward/strstream.h: New file.
* backward/stream.h: New file.
* backward/ostream.h: New file.
* backward/istream.h: New file.
* backward/fstream.h: New file.
* backward/complex.h: New file.
* backward/iomanip.h: New file.
J. David Anglin [Thu, 25 May 2000 01:49:09 +0000 (01:49 +0000)]
configure.in: Check for -Wno-long-long option support and improve handling of warning CFLAGS...
* configure.in: Check for -Wno-long-long option support and improve
handling of warning CFLAGS for stages 1 and 2.
* Makefile.in (WARN_CFLAGS): Move definition to configure.in.
* configure: Regenerate.
* Back out this patch:
Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com>
* loop.h (struct induction): Add multi_insn_incr.
* loop.c (basic_induction_var): New multi_insn_incr argument.
Set it if we search back through previous insns for the biv.
(record_biv): New multi_insn_incr argument; fill in struct induction.
(strength_reduce): Discard an iv with multiple bivs, any of
which require multiple insns to increment.
* loop.c (check_insn_for_bivs): Remove bits copied from above patch.
J"orn Rennecke [Thu, 25 May 2000 01:11:22 +0000 (01:11 +0000)]
rtl.h (loc_mentioned_in_p): Declare.
* rtl.h (loc_mentioned_in_p): Declare.
* reload.c (loc_mentioned_in_p): Moved from here...
* rtlanal.c (loc_mentioned_in_p): to here. No longer static.
Fix loop increment for 'E' handling.
* loop.c (strength_reduce): When doing biv->giv conversion,
take multi-insn biv increments into account.
Mark Mitchell [Wed, 24 May 2000 22:56:54 +0000 (22:56 +0000)]
cp-tree.h (build_delete): Change prototype.
* cp-tree.h (build_delete): Change prototype.
(build_vec_delete): Likewise.
* call.c (build_scoped_method_call): Use special_function_kind
values to indicate the kind of destruction to be done.
(build_method_call): Likewise.
* decl.c (finish_destructor_body): Likewise.
(maybe_build_cleanup_1): Likewise. Rename to ...
(maybe_build_cleanup): ... this.
* decl2.c (delete_sanity): Use special_function_kind
values to indicate the kind of destruction to be done.
(build_cleanup): Likewise.
* init.c (perform_member_init): Likewise.
(build_vec_delete_1): Likewise.
(build_dtor_call): Simplify.
(build_delete): Use special_function_kind
values to indicate the kind of destruction to be done.
(build_vbase_delete): Likewise.
(build_vec_delete): Likewise.
2000-05-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): Remove
OPTLEVEL. Add FMTFLAGS.
* aclocal.m4: Regenerate.
* src/Makefile.am (AC_CXXFLAGS): Take out OPTLEVEL, as this is has
been disabled due to higher-level makefiles running amuck over
this bit, and add in FMTFLAGS so that formatting is clear.
* src/Makefile.in: Regenerate.
* configure: Regenerate.
* src/ios.cc (ios_base::sync_with_stdio): Cleanup buffers from
initialization.
* docs/download.html: Remove references to Cygwin-specific bits,
as this can now be built natively.
Update with current information.
Phil Edwards [Wed, 24 May 2000 18:35:37 +0000 (18:35 +0000)]
acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): If we can use -fdiagnostics-show-location=once, do so.
2000-05-24 Phil Edwards <pme@sourceware.cygnus.com>
* acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): If we can use
-fdiagnostics-show-location=once, do so. Expand AC_LANG_* to
enclose other tests in this macro, including future ones.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* docs/faq/index.html: Update location of libg++ FAQ.
* docs/faq/index.txt: Regenerate.
Nick Clifton [Wed, 24 May 2000 18:24:06 +0000 (18:24 +0000)]
(extract_muldiv): When constructing a multiplier/divisor...
(extract_muldiv): When constructing a multiplier/divisor, do not expect
const_binop to correctly determine if overflow has occured, so check explicitly.
Mark Mitchell [Wed, 24 May 2000 04:34:38 +0000 (04:34 +0000)]
decl2.c (maybe_retrofit_in_chrg): Don't create in-charge parameters for template functions.
* decl2.c (maybe_retrofit_in_chrg): Don't create in-charge
parameters for template functions.
* pt.c (tsubst_decl): Make sure we call maybe_retrofit_in_chrg for
destructors as well as constructors.
Clinton Popetz [Tue, 23 May 2000 20:10:17 +0000 (20:10 +0000)]
sh.c (gen_far_branch, [...]): Update to reflect new prototypes for redirect_jump and invert_jump.
* config/sh/sh.c (gen_far_branch, split_branches): Update
to reflect new prototypes for redirect_jump and invert_jump.
(sh_insn_length_adjustment): Get rid of const warnings.
Zack Weinberg [Tue, 23 May 2000 18:06:22 +0000 (18:06 +0000)]
simplify-rtx.c (SIGN_EXTEND): New macro.
* simplify-rtx.c (SIGN_EXTEND): New macro.
(simplify_unary_operation, simplify_binary_operation,
simplify_relational_operation): Use SIGN_EXTEND. Make low
halves of (low, high) pairs unsigned if they weren't already.
(simplify_ternary_operation): Cast INTVAL to unsigned before
comparing to a MODE_BITSIZE.
Richard Kenner [Tue, 23 May 2000 10:42:56 +0000 (10:42 +0000)]
alpha.c: Remove #ifdef HAIFA since now only scheduler.
* config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler.
(alpha_start_function): Never write ..ng label if VMS or NT.
(alpha_align_insns): Remove GP_IN_USE arg.
Alignment now unsigned.
(alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns.
* config/alpha/alpha.md (prologue_ldgp): Split into one define_expand
and two define_insn's.
Richard Kenner [Tue, 23 May 2000 01:44:05 +0000 (01:44 +0000)]
alpha.c (alpha_fnname): New static variable.
* config/alpha/alpha.c (alpha_fnname): New static variable.
(print_operand, case '~'): New case.
(alpha_expand_prologue): Emit prologue_ldgp insn if needed.
(alpha_start_function): Set alpha_fnname.
Write "ng" label if no ldgp; don't write ldgp insn.
* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'.
* config/alpha/alpha.md (prologue_ldgp): New define_insn.
Mark Mitchell [Mon, 22 May 2000 22:52:32 +0000 (22:52 +0000)]
cp-tree.h (IDENTIFIER_TYPENAME_P): Use a flag, not strncmp.
* cp-tree.h (IDENTIFIER_TYPENAME_P): Use a flag, not strncmp.
(DECL_CONV_FN_P): Simplify.
(DECL_OPERATOR): Remove.
(language_to_string): Declare.
* decl.c (duplicate_decls): Fix typo in comment.
(grokdeclarator): Adjust use of IDENTIFIER_TYPENAME_P.
(grok_op_properties): Use DECL_CONV_FN_P instead of
IDENTIFIER_TYPENAME_P.
* dump.c (dequeue_and_dump): Dump the language linkage of
declarations.
* error.c (language_to_string): Give it external linkage.
* method.c (build_typename_overload): Set IDENTIFIER_TYPENAME_P.
(implicitly_declare_fn): Set DECL_LANGUAGE.
* pt.c (check_explicit_specialization): Use DECL_CONV_FN_P, not
IDENTIFIER_TYPENAME_P.
(tsubst_decl): Likewise.
(tsubst_copy): Adjust use of IDENTIFIER_TYPENAME_P.
* semantics.c (finish_member_declaration): Don't mark members of
classes declared in an extern "C" region as extern "C".
Phil Edwards [Mon, 22 May 2000 20:56:51 +0000 (20:56 +0000)]
acinclude.m4: If the new pragma isn't supported, don't kill -Werror...
2000-05-22 Phil Edwards <pme@sourceware.cygnus.com>
* acinclude.m4: If the new pragma isn't supported, don't kill -Werror;
keep -Werror and add -Wno-unknown-pragma. -Werror Is Good.
* aclocal.m4: Regenerate.
* configure: Regenerate.
Richard Kenner [Mon, 22 May 2000 17:05:15 +0000 (17:05 +0000)]
final.c (final_scan_insn, [...]): Remove dangling "else" that causes "break" to be conditional.
* final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove
dangling "else" that causes "break" to be conditional.
Also remove unneeded code at start.
Richard Kenner [Mon, 22 May 2000 10:51:28 +0000 (10:51 +0000)]
alias.c (record_component_aliases): New function.
* alias.c (record_component_aliases): New function.
* tree.h: Clean up some declarations and comments.
(record_component_aliases): New declaration.
* tree.c (get_alias_set): If type and has alias set, use it.
* cp-tree.h (SET_BINFO_NEW_VTABLE_MARKED): Add sanity checks.
(VTT_NAME_PREFIX): New macro.
(CTOR_VTBL_NAME_PREFIX): Likewise.
(get_ctor_vtbl_name): New function.
* class.c (get_vtable_name): Simplify.
(get_vtt_name): New function.
(get_vtable_decl): Don't set IDENTIFIER_GLOBAL_VALUE.
(dfs_mark_primary_bases): Update the CLASSTYPE_VBASECLASSES list
when a virtual base becomes primary.
(finish_struct_1): Set CLASSTYPE_VFIELDS a little earlier. Build
VTTs.
(finish_vtbls): Adjust calls to accumulate_vtbl_inits to pass in
additional parameters.
(dfs_finish_vtbls): Don't clear BINFO_NEW_VTABLE_MARKED.
(initialize_array): New function.
(build_vtt): Likewise.
(build_vtt_inits): Likewise.
(dfs_build_vtt_inits): Likewise.
(dfs_fixup_binfo_vtbls): Likewise.
(build_ctor_vtbl_group): Likewise.
(initialize_vtable): Use initialize_array.
(accumulate_vtbl_inits): Reimplement to handle construction
vtables.
(dfs_accumulate_vtbl_inits): Likewise.
(bulid_vtbl_initializer): Adjust parameter name.
* method.c (build_typename_overload): Remove #if 0'd code.
(get_ctor_vtbl_name): New function.
* search.c (dfs_walk_real): Use BINFO_N_BASETYPES.
(init_vbase_pointers): Don't mess with the TREE_CHAIN of a binfo.