This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Darwin] Patch c++/15428
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: austern at apple dot com, jason at redhat dot com
- Date: Mon, 24 May 2004 16:39:15 -0500
- Subject: Re: [Darwin] Patch c++/15428
- Organization: Red Hat / Chicago
../../../../fsf-mainline.expl/libstdc++-v3/src/locale-inst.cc: In instantiation of `std::__moneypunct_cache<_CharT, _Intl>& std::__moneypunct_cache<_CharT, _Intl>::operator=(conststd::__moneypunct_cache<_CharT, _Intl>&) [with _CharT = char, bool _Intl = false]':
../../../../fsf-mainline.expl/libstdc++-v3/src/locale-inst.cc:47: instantiated from here
../../../../fsf-mainline.expl/libstdc++-v3/src/locale-inst.cc:47: error: explicit instantiation of `std::__moneypunct_cache<_CharT, _Intl>& std::__moneypunct_cache<_CharT, _Intl>::operator=(conststd::__moneypunct_cache<_CharT, _Intl>&) [with _CharT = char, bool _Intl = false]' but no definition available
Matt, I too think what you are trying to do makes a great deal of sense.
It doesn't make sense to have explicit instantiations of a class when
not all of the members have been defined.
So, it's weak that libstdc++ can't deal with this, especially since I
just added these declarations to work around -Weffc++. Grrr.
You should just add in the default definitions for these copy
constructors and assignment operators. All the locale caches will have
these.
-benjamin