summaryrefslogtreecommitdiffstats
path: root/libcxx/include/__locale
diff options
context:
space:
mode:
authorAlexis Hunt <alercah@gmail.com>2011-07-09 00:56:23 +0000
committerAlexis Hunt <alercah@gmail.com>2011-07-09 00:56:23 +0000
commit3f60bca9e90da3805d82a7651d4b26596c475959 (patch)
tree922094472523923b9cfd21601caf8b86da0d50c2 /libcxx/include/__locale
parentb8e8a5f3ee11fe58983f11a54941f04f2a8dbd53 (diff)
downloadbcm5719-llvm-3f60bca9e90da3805d82a7651d4b26596c475959.tar.gz
bcm5719-llvm-3f60bca9e90da3805d82a7651d4b26596c475959.zip
Implement generalized table lookups for upper, lower, and character
traits. To the best of my knowledge, this will not break the ABI for Apple. However, it does introduce three publicly visible (although with reserved name) functions that will fail to link against the just-shipped Apple version of libc++. Since they are not used in any inline functions, no actual breakage should occur. If Howard doesn't want to put undefined functions (even internal ones) into a header, they could be surrounded by additional conditional compilation. llvm-svn: 134781
Diffstat (limited to 'libcxx/include/__locale')
-rw-r--r--libcxx/include/__locale6
1 files changed, 6 insertions, 0 deletions
diff --git a/libcxx/include/__locale b/libcxx/include/__locale
index 6103409471e..521da04926c 100644
--- a/libcxx/include/__locale
+++ b/libcxx/include/__locale
@@ -302,7 +302,11 @@ locale::operator()(const basic_string<_CharT, _Traits, _Allocator>& __x,
class _LIBCPP_VISIBLE ctype_base
{
public:
+#ifdef __GLIBC__
+ typedef unsigned short mask;
+#else
typedef __uint32_t mask;
+#endif
#if __APPLE__
static const mask space = _CTYPE_S;
@@ -537,6 +541,8 @@ public:
#endif
_LIBCPP_ALWAYS_INLINE const mask* table() const _NOEXCEPT {return __tab_;}
static const mask* classic_table() _NOEXCEPT;
+ static const int* __classic_upper_table() _NOEXCEPT;
+ static const int* __classic_lower_table() _NOEXCEPT;
protected:
~ctype();
OpenPOWER on IntegriCloud