[Bug libstdc++/78702] New: [libstdc++] class __shim in locale::facet is private
hiraditya at msn dot com
gcc-bugzilla@gcc.gnu.org
Tue Dec 6 17:40:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78702
Bug ID: 78702
Summary: [libstdc++] class __shim in locale::facet is private
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: hiraditya at msn dot com
Target Milestone: ---
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?
More information about the Gcc-bugs
mailing list