Howard Hinnant
c206366fd7
Quash a whole bunch of warnings
...
llvm-svn: 145624
2011-12-01 20:21:04 +00:00
Howard Hinnant
ab4f438239
Add protection from min/max macros
...
llvm-svn: 145407
2011-11-29 16:45:27 +00:00
Howard Hinnant
073458b1ab
Windows support by Ruben Van Boxem.
...
llvm-svn: 142235
2011-10-17 20:05:10 +00:00
Howard Hinnant
a33d4bc1ff
Starting on musl port by Arvid Picciani
...
llvm-svn: 141672
2011-10-11 16:00:46 +00:00
Howard Hinnant
8909cdfff9
Windows port work by Ruben Van Boxem
...
llvm-svn: 140805
2011-09-29 20:33:10 +00:00
Howard Hinnant
9978e3709f
Attempted locale refactoring. _LIBCPP_LOCALE__L_EXTENSIONS now should be defined if one has all of the xxx_l() functions. I've defined this for apple, freebsd and win32. _LIBCPP_HAS_DEFAULTRUNELOCALE should be defined if there is a _DefaultRuneLocale. I've defined this for apple and freebsd. The block of code we're trying to migrate away from is now under #ifdef __linux__. I've tested only on OS X. I hope I haven't broken things too badly elsewhere. Please let me know.
...
llvm-svn: 140734
2011-09-28 23:39:33 +00:00
Howard Hinnant
3438889dec
Work on Windows port by Ruben Van Boxem
...
llvm-svn: 140728
2011-09-28 21:39:20 +00:00
Howard Hinnant
0470a63776
Attempt to enable locale simplification. On which platforms can we now #define _LIBCPP_STABLE_APPLE_ABI?
...
llvm-svn: 140724
2011-09-28 21:05:01 +00:00
Howard Hinnant
dbe8111948
Work on Windows port by Ruben Van Boxem
...
llvm-svn: 140384
2011-09-23 16:11:27 +00:00
Howard Hinnant
3c78ca07bc
Partial Windows port by Ruben Van Boxem
...
llvm-svn: 140328
2011-09-22 19:10:18 +00:00
David Chisnall
89728139cb
Fixes for FreeBSD, including some fairly obvious copy-and-paste errors.
...
libc++ now mostly works on FreeBSD with libcxxrt and this patch applied to the base system:
http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20110920/e666632c/xlocale-0001.obj
Summary of tests on FreeBSD:
****************************************************
Results for /root/libcxx/test:
using FreeBSD clang version 3.0 (trunk 135360) 20110717
Target: x86_64-unknown-freebsd9.0
Thread model: posix
with -std=c++0x -stdlib=libc++ -I/root/libcxx/include -L/root/libcxx/build/lib
----------------------------------------------------
sections without tests : 1
sections with failures : 48
sections without failures: 1015
+ ----
total number of sections : 1064
----------------------------------------------------
number of tests failed : 145
number of tests passed : 4179
+ ----
total number of tests : 4324
****************************************************
(Many due to this clang version not supporting C++ atomics)
More fixes to follow...
llvm-svn: 140245
2011-09-21 08:39:44 +00:00
Howard Hinnant
8ebf07a3de
Revert locale for apple back to original design, getting rid of now useless helper *_l functions
...
llvm-svn: 135272
2011-07-15 14:46:11 +00:00
Howard Hinnant
3b13c94a14
_LIBCXX_STABLE_APPLE_ABI -> _LIBCPP_STABLE_APPLE_ABI
...
llvm-svn: 135271
2011-07-15 14:25:40 +00:00
Alexis Hunt
4084c9ebe5
Reapply 135035 with proper conditional inclusion, hopefully solving
...
issues with it.
llvm-svn: 135246
2011-07-15 05:40:33 +00:00
Howard Hinnant
f6b7e20bc8
Reverted to 134947. Once I got into it, I discovered there were too many problems to fix in 135035.
...
llvm-svn: 135044
2011-07-13 15:48:16 +00:00
Alexis Hunt
8a02a632be
Implement the __nolocale functions properly so that they will work on
...
all platforms. Unfortunately a lot of this remains conditionally
compiled so as not to break Apple's ABI.
The new _LIBCPP_LOCALE__L_EXTENSIONS macro can be defined on other
platforms that support _l suffixes for all functions in order to use
them.
llvm-svn: 135035
2011-07-13 06:40:50 +00:00
Alexis Hunt
8dfec1ac7d
Make sure that __time_put constructors properly on non-Apple platforms.
...
llvm-svn: 134947
2011-07-12 00:55:04 +00:00
Alexis Hunt
f023519770
Conditionally wrap the changes from r134781.
...
llvm-svn: 134783
2011-07-09 01:09:31 +00:00
Alexis Hunt
3f60bca9e9
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
2011-07-09 00:56:23 +00:00
Howard Hinnant
ce48a1137d
_STD -> _VSTD to avoid macro clash on windows
...
llvm-svn: 134190
2011-06-30 21:18:19 +00:00
Howard Hinnant
b5d866d4a3
noexcept for Chapter 22 [localization].
...
llvm-svn: 132337
2011-05-31 15:34:58 +00:00
Howard Hinnant
1444d85b5a
time_get was missing the %F specifier. This change impacts the binary.
...
llvm-svn: 129251
2011-04-10 17:54:14 +00:00
Howard Hinnant
f1bf6f9a3a
Chris Jefferson found a defect in the C++0x working draft by trying to run libc++ against boost. I've submitted an issue to the LWG, and this commit attempts to implement the proposed resolution of that defect report. I'd point to the issue but it hasn't been put into the LWG list yet. The title of the issue will be: Stage 2 accumulate incompatibilty
...
llvm-svn: 127303
2011-03-09 01:03:19 +00:00
Howard Hinnant
a8d8ca4d6f
http://llvm.org/bugs/show_bug.cgi?id=9326
...
llvm-svn: 126504
2011-02-25 19:52:41 +00:00
Howard Hinnant
0c68ed006d
Chris Jefferson spotted a problem with messages_base::catalog while getting libc++ to work on boost. The standard says this type must be an int. But this type is the key returned by the OS facility catopen. On OS X the type returned by catopen is void*, which doesn't fit into an int on 64 bit platforms. Chris suggested using ptrdiff_t instead of void*. It still isn't compliant with the standard, but chances are that this change will fix what is ailing boost. Chris also supplied the algorithm for distinguishing high-order pointers from error conditions. Thanks Chris.
...
llvm-svn: 126462
2011-02-25 00:51:08 +00:00
Howard Hinnant
a0fe8c436e
Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris).
...
llvm-svn: 125510
2011-02-14 19:12:38 +00:00
Howard Hinnant
c950e77d1d
Effort to reduce the number of exported symbols
...
llvm-svn: 122057
2010-12-17 14:46:43 +00:00
Michael J. Spencer
f5799be4a8
Add CMake build and fix major Linux blockers.
...
llvm-svn: 121510
2010-12-10 19:47:54 +00:00
Howard Hinnant
412dbebe1b
license change
...
llvm-svn: 119395
2010-11-16 22:09:02 +00:00
Howard Hinnant
848a5374d0
visibility-decoration.
...
llvm-svn: 114551
2010-09-22 16:48:34 +00:00
Howard Hinnant
959cf8aede
Fix whitespace
...
llvm-svn: 113089
2010-09-04 23:46:48 +00:00
Howard Hinnant
7609c9b665
Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature.
...
llvm-svn: 113086
2010-09-04 23:28:19 +00:00
Howard Hinnant
b3371f6f49
Fixing whitespace problems
...
llvm-svn: 111750
2010-08-22 00:02:43 +00:00
Howard Hinnant
54b409fdb9
now works with -fno-exceptions and -fno-rtti
...
llvm-svn: 110828
2010-08-11 17:04:31 +00:00
Howard Hinnant
6508e9936c
[conversions.buffer]
...
llvm-svn: 105286
2010-06-01 20:09:18 +00:00
Howard Hinnant
5d3c11337a
[conversions.string]
...
llvm-svn: 105254
2010-05-31 20:58:54 +00:00
Howard Hinnant
128ba7191d
patch by Jeffrey Yasskin for porting to Ubuntu Hardy. Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.
...
llvm-svn: 104516
2010-05-24 17:49:41 +00:00
Howard Hinnant
5b08a8a432
Wiped out some non-ascii characters that snuck into the copyright.
...
llvm-svn: 103516
2010-05-11 21:36:01 +00:00
Howard Hinnant
3e519524c1
libcxx initial import
...
llvm-svn: 103490
2010-05-11 19:42:16 +00:00