summaryrefslogtreecommitdiffstats
path: root/contrib/libstdc++/config/locale/gnu/c_locale.cc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libstdc++/config/locale/gnu/c_locale.cc')
-rw-r--r--contrib/libstdc++/config/locale/gnu/c_locale.cc22
1 files changed, 21 insertions, 1 deletions
diff --git a/contrib/libstdc++/config/locale/gnu/c_locale.cc b/contrib/libstdc++/config/locale/gnu/c_locale.cc
index 3982a65..188f3a2 100644
--- a/contrib/libstdc++/config/locale/gnu/c_locale.cc
+++ b/contrib/libstdc++/config/locale/gnu/c_locale.cc
@@ -178,9 +178,29 @@ namespace std
void
locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
- { __freelocale(__cloc); }
+ {
+ if (_S_c_locale != __cloc)
+ __freelocale(__cloc);
+ }
__c_locale
locale::facet::_S_clone_c_locale(__c_locale& __cloc)
{ return __duplocale(__cloc); }
+
+ const char* locale::_S_categories[_S_categories_size
+ + _S_extra_categories_size] =
+ {
+ "LC_CTYPE",
+ "LC_NUMERIC",
+ "LC_COLLATE",
+ "LC_TIME",
+ "LC_MONETARY",
+ "LC_MESSAGES",
+ "LC_PAPER",
+ "LC_NAME",
+ "LC_ADDRESS",
+ "LC_TELEPHONE",
+ "LC_MEASUREMENT",
+ "LC_IDENTIFICATION"
+ };
} // namespace std
OpenPOWER on IntegriCloud