class __shim in locale::facet is private
Aditya Kumar
aditya.k7@samsung.com
Tue Dec 6 17:41:00 GMT 2016
Created bug# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78702
In file: include/bits/locale_classes.h
371 class locale::facet
372 {
...
465 class __shim;
466
467 const facet* _M_sso_shim(const id*) const;
468 const facet* _M_cow_shim(const id*) const;
However in file: src/c++11/cxx11-shim_facets.cc
numpunct_shim derives from facet::__shim which results in compilation error.
227 namespace // unnamed
228 {
229 template<typename _CharT>
230 struct numpunct_shim : std::numpunct<_CharT>, facet::__shim
231 {
232 typedef typename numpunct<_CharT>::__cache_type __cache_type;
233
234 // f must point to a type derived from numpunct<C>[abi:other]
235 numpunct_shim(const facet* f, __cache_type* c = new __cache_type)
236 : std::numpunct<_CharT>(c), __shim(f), _M_cache(c)
237 {
238 __numpunct_fill_cache(other_abi{}, f, c);
239 }
What could be a possible fix here?
Thanks,
-Aditya
More information about the Libstdc++
mailing list