Howard Hinnant
75689c1018
Fix http://llvm.org/bugs/show_bug.cgi?id=11428 . Fix provided by Alberto Ganesh Barbati
...
llvm-svn: 145698
2011-12-02 19:36:40 +00:00
David Chisnall
5e8e0448c3
On FreeBSD, define a macro that causes the unimplemented C99 math.h functions to be declared. This prevents <cmath> users from being broken, unless they actually use the C++ wrappers that call the missing functions.
...
llvm-svn: 144501
2011-11-13 17:15:33 +00:00
Howard Hinnant
9563a09cee
Windows port work by Ruben Van Boxem
...
llvm-svn: 143105
2011-10-27 16:24:42 +00:00
Howard Hinnant
e4383379ae
More windows port work by Ruben Van Boxem
...
llvm-svn: 142732
2011-10-22 20:59:45 +00:00
Howard Hinnant
8bece6fe69
Windows port work by Ruben Van Boxem
...
llvm-svn: 142578
2011-10-20 12:49:21 +00:00
Howard Hinnant
073458b1ab
Windows support by Ruben Van Boxem.
...
llvm-svn: 142235
2011-10-17 20:05: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
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
cec9af9ead
Create multilevel debug mode
...
llvm-svn: 139913
2011-09-16 17:29:17 +00:00
Howard Hinnant
f554add54e
Initial checkin for debug mode (version 2)
...
llvm-svn: 139711
2011-09-14 18:33:51 +00:00
Howard Hinnant
5d7a6f31f7
Up version number by 1. This is a 'minor version' update.
...
llvm-svn: 138978
2011-09-01 23:13:01 +00:00
Howard Hinnant
54976f2619
Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574
...
llvm-svn: 137522
2011-08-12 21:56:02 +00:00
Howard Hinnant
2425d53cd8
Change how _LIBCPP_HAS_NO_ADVANCED_SFINAE gets set.
...
llvm-svn: 136596
2011-07-31 17:10:44 +00:00
Howard Hinnant
89bdcd7ef5
Configure to get along with 2.9 clang
...
llvm-svn: 136526
2011-07-29 21:35:53 +00:00
Alexis Hunt
397d787642
Given that __underlying_type is now available in clang, implement
...
std::underlying_type.
llvm-svn: 135410
2011-07-18 18:37:21 +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
0081892d33
Don't assume that wctype produces a nice mask on all platforms. On
...
glibc, for instance, it's a const char *.
llvm-svn: 134787
2011-07-09 03:40:04 +00:00
Alexis Hunt
f023519770
Conditionally wrap the changes from r134781.
...
llvm-svn: 134783
2011-07-09 01:09:31 +00:00
Howard Hinnant
ce48a1137d
_STD -> _VSTD to avoid macro clash on windows
...
llvm-svn: 134190
2011-06-30 21:18:19 +00:00
Douglas Gregor
64ec101eb6
Teach libc++ about the addressof() overloads it needs to work with
...
Objective-C Automatic Reference Counting, where Objective-C object
pointers can have several different qualifiers (__strong, __weak,
__autoreleasing, __unsafe_unretained). These addressof() overloads are
only provided in ARC mode, and the __weak variant is conditionalized
on having weak-reference support in the ARC runtime.
For historical reasons, Clang provides these definitions itself, and
defines the macro _LIBCPP_PREDEFINED_OBJC_ARC_ADDRESSOF to note when
it as done so. The code belongs here, and this redundancy will be
eliminated in the future.
Addresses <rdar://problem/9658274>.
llvm-svn: 133656
2011-06-22 22:17:44 +00:00
Howard Hinnant
f5c91471a4
Add _ATTRIBUTE macro for gcc: Justin Hibbits
...
llvm-svn: 132334
2011-05-31 13:13:49 +00:00
Howard Hinnant
411d1bcc3b
Turn on cxx_alias_templates support
...
llvm-svn: 132134
2011-05-26 19:07:54 +00:00
Howard Hinnant
400b244339
Added [[noreturn]] attribute everywhere it should be
...
llvm-svn: 132125
2011-05-26 17:07:32 +00:00
Howard Hinnant
3e71464d50
http://llvm.org/bugs/show_bug.cgi?id=9118
...
llvm-svn: 131296
2011-05-13 17:16:06 +00:00
Howard Hinnant
08ad63b580
Redid nothrow traits in terms of non-nothrow traits when noexcept is available
...
llvm-svn: 131198
2011-05-11 20:19:40 +00:00
Howard Hinnant
9d06c8c326
http://llvm.org/bugs/show_bug.cgi?id=9765
...
llvm-svn: 129910
2011-04-21 14:29:59 +00:00
Douglas Gregor
71711a673b
Inline namespaces are always available in Clang. Rely on that without
...
testing via __has_feature, since __has_feature for C++0x features no
longer evaluates true in C++98/03 mode.
Also, eliminate the redundant using directive. Inline namespaces make
their members visible in the enclosing namespace automatically.
llvm-svn: 124293
2011-01-26 15:39:56 +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
092980dd65
N3123
...
llvm-svn: 119906
2010-11-20 18:25:22 +00:00
Howard Hinnant
ca74048398
N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.
...
llvm-svn: 119854
2010-11-19 22:17:28 +00:00
Howard Hinnant
412dbebe1b
license change
...
llvm-svn: 119395
2010-11-16 22:09:02 +00:00
Howard Hinnant
c4931c4746
I have reverted all contributions made by Jesse Towner in revision 110724
...
llvm-svn: 119383
2010-11-16 21:10:23 +00:00
Howard Hinnant
69c3cb85ab
Thanks Sebastian\!
...
llvm-svn: 115612
2010-10-05 13:38:23 +00:00
Howard Hinnant
d5a97fc683
__has_feature crutch
...
llvm-svn: 115540
2010-10-04 19:01:30 +00:00
Howard Hinnant
7387390d6e
Wrestling with the slowly dawning realization that <atomic> isn't implementable on any compiler at my disposal...
...
llvm-svn: 115054
2010-09-29 18:13:54 +00:00
Howard Hinnant
f5241d7586
Bugzilla 8231
...
llvm-svn: 114851
2010-09-27 18:09:23 +00:00
Howard Hinnant
d8e7922ba2
Tweak clang support for char16_t/char32_t
...
llvm-svn: 114129
2010-09-16 23:27:26 +00:00
Howard Hinnant
03976c1b62
Cement ABI on clang for char16_t and char32_t. Also fixed some comments in <iterator>.
...
llvm-svn: 113842
2010-09-14 20:26:27 +00:00
Howard Hinnant
01fd31000b
has_trivial_copy_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8105 to take care of void, arrays of incomplete bounds and complete bounds which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle them in the library.
...
llvm-svn: 113270
2010-09-07 20:31:18 +00:00
Howard Hinnant
db3e9975d0
Working the type_traits area: Hooked up to clang's __is_union. Got has_trivial_copy_assign working.
...
llvm-svn: 113162
2010-09-06 19:10:31 +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
7f2aae9937
Configure libc++ to recognize and use inline namespaces for clang. Many, many thanks to Sebastian Redl for implementing it in clang, and to Daniel Dunbar for rattling my cage about it. This is huge for libc++. Thanks to you both\!
...
llvm-svn: 113026
2010-09-03 23:03:25 +00:00
Howard Hinnant
b3371f6f49
Fixing whitespace problems
...
llvm-svn: 111750
2010-08-22 00:02:43 +00:00
Howard Hinnant
3d87b69f7d
Filling out regex tests...
...
llvm-svn: 110955
2010-08-12 21:14:20 +00:00
Howard Hinnant
54b409fdb9
now works with -fno-exceptions and -fno-rtti
...
llvm-svn: 110828
2010-08-11 17:04:31 +00:00