Skip to content

Commit 627d6c9

Browse files
committed
More printf
1 parent 969236c commit 627d6c9

File tree

1 file changed

+29
-5
lines changed

1 file changed

+29
-5
lines changed

libcxx/src/locale.cpp

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,13 @@ class _LIBCPP_HIDDEN locale::__imp : public facet {
150150
void install(facet* f, long id);
151151
template <class F>
152152
void install(F* f) {
153-
install(f, f->id.__get());
153+
std::fprintf(stderr, "Entering install(Facet*)\n");
154+
155+
std::fprintf(stderr, "Getting id for locale\n");
156+
long id = f->id.__get();
157+
158+
std::fprintf(stderr, "Calling install(Facet*, long id)\n");
159+
install(f, id);
154160
}
155161
template <class F>
156162
void install_from(const __imp& other);
@@ -231,8 +237,13 @@ locale::__imp::__imp(const string& name, size_t refs) : facet(refs), facets_(N),
231237
if (facets_[i])
232238
facets_[i]->__add_shared();
233239

234-
std::fprintf(stderr, "Installing locales\n");
235-
install(new collate_byname<char>(name_));
240+
{
241+
std::fprintf(stderr, "Creating collate_byname<char>\n");
242+
auto* byname = new collate_byname<char>(name_);
243+
244+
std::fprintf(stderr, "Installing collate_byname<char>\n");
245+
install(byname);
246+
}
236247
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
237248
install(new collate_byname<wchar_t>(name_));
238249
#endif
@@ -480,12 +491,25 @@ locale::__imp::~__imp() {
480491
}
481492

482493
void locale::__imp::install(facet* f, long id) {
494+
std::fprintf(stderr, "Entering install(facet*, long id)\n");
495+
496+
std::fprintf(stderr, "Calling facet->__add_shared()\n");
483497
f->__add_shared();
498+
499+
std::fprintf(stderr, "Creating unique_ptr to hold facet\n");
484500
unique_ptr<facet, releaser> hold(f);
485-
if (static_cast<size_t>(id) >= facets_.size())
501+
502+
if (static_cast<size_t>(id) >= facets_.size()) {
503+
std::fprintf(stderr, "Resizing facets vector\n");
486504
facets_.resize(static_cast<size_t>(id + 1));
487-
if (facets_[static_cast<size_t>(id)])
505+
}
506+
507+
if (facets_[static_cast<size_t>(id)]) {
508+
std::fprintf(stderr, "Releasing facets[id]\n");
488509
facets_[static_cast<size_t>(id)]->__release_shared();
510+
}
511+
512+
std::fprintf(stderr, "Releasing unique_ptr\n");
489513
facets_[static_cast<size_t>(id)] = hold.release();
490514
}
491515

0 commit comments

Comments
 (0)