* config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
for complex floats passed to unprototyped functions.
* gcc.c-torture/execute/20010605-2.c: New test.
From-SVN: r43029
cp:
PR c++/2929
* friend.c (do_friend): Use push_decl_namespace for classes at
namespace scope.
testsuite:
* g++.old-deja/g++.pt/friend49.C: New test.
From-SVN: r43013
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
* 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
* config/threads-no.h: Remove file.
* config/threads-posix.h: Remove file.
* acconfig.h (_GLIBCPP_USE_THREADS): Remove.
(_GLIBCPP_SUPPORTS_WEAK): Add (required by namespace-clean gthr*.h).
(_GLIBCPP_HAVE_GTHR_DEFAULT): Likewise.
* config.h.in: Regenerate.
* 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.
* src/Makefile.am (build_headers): Remove bits/c++threads.h
and add bits/gthr.h bits/gthr-single.h bits/gthr-default.h.
* src/Makefile.in: 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
* Makefile.in (AS_FOR_TARGET, LD_FOR_TARGET, NM_FOR_TARGET): If
gcc/xgcc is built, use -print-prog-name to find out the program
name to use.
From-SVN: r42996
* 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.
From-SVN: r42994
* tree.h (DECL_SOURCE_FILE): Improve documentation.
(DECL_SOURCE_LINE): Likewise.
* decl.c (duplicate_decls): Update source position information
when a template function is defined.
From-SVN: r42993
* alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
(ASM_OLDAS_SPEC): Likewise.
* 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.
From-SVN: r42971
* 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.
From-SVN: r42965
* 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.
From-SVN: r42952
* 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.
From-SVN: r42949