Howard Hinnant
27e618efb6
I'm reverting one of the changes made to exception.cpp in r151717. I'm unsure what the change was trying to do, but it didn't do the right thing for __APPLE__. So instead of trying to guess what was intended, I'm just putting it back the way it was.
...
llvm-svn: 151727
2012-02-29 15:37:30 +00:00
David Chisnall
06af2bbb04
Add support files required for building on Solaris.
...
llvm-svn: 151721
2012-02-29 13:17:28 +00:00
David Chisnall
14c25b80e9
Solaris port. Currently sees around 200 test failures, mostly related to
...
Solaris not providing some of the locales that the test suite uses.
Note: This depends on an xlocale (partial) implementation for Solaris and a
couple of fixed standard headers. These will be committed to a branch later
today.
llvm-svn: 151720
2012-02-29 13:05:08 +00:00
David Chisnall
66d4573786
Make the failure reporting in testit a bit more useful.
...
llvm-svn: 151719
2012-02-29 13:00:44 +00:00
David Chisnall
ca78592c16
Don't define __locale_raii if we are not going to be using it.
...
llvm-svn: 151718
2012-02-29 13:00:07 +00:00
David Chisnall
e1da544e0b
Some libcxxrt-compatibility cleanups (avoid defining things twice).
...
llvm-svn: 151717
2012-02-29 12:59:17 +00:00
Howard Hinnant
9bb1429f20
Reduce the number of move constructions when constructing a std::function. This fixes http://llvm.org/bugs/show_bug.cgi?id=12105 .
...
llvm-svn: 151652
2012-02-28 19:47:38 +00:00
Howard Hinnant
9ffe10106e
vector::emplace_back was mistakenly requiring move assignable. Fixed that and did a little drive-by optimization at the same time. This fixes http://llvm.org/bugs/show_bug.cgi?id=12085 .
...
llvm-svn: 151492
2012-02-26 15:30:12 +00:00
Howard Hinnant
26bba442ac
update test for explicit bool operator.
...
llvm-svn: 151461
2012-02-25 21:43:14 +00:00
Howard Hinnant
908d2bebaf
At least temporarily move operator new/delete from the abi back to here. I'm having trouble reexporting it as a weak symbol.
...
llvm-svn: 151459
2012-02-25 21:36:01 +00:00
Howard Hinnant
25326f060d
ReExport some mor symbols from libc++abi.
...
llvm-svn: 151453
2012-02-25 20:25:07 +00:00
Howard Hinnant
167d0fbb8a
Silence some warnings in a test.
...
llvm-svn: 151451
2012-02-25 20:04:11 +00:00
Howard Hinnant
8d01935c09
Hook up to the new clang __is_trivially_constructible and __is_trivially_assignable traits. Fixes r10925427 and http://llvm.org/bugs/show_bug.cgi?id=12038 .
...
llvm-svn: 151406
2012-02-24 23:32:26 +00:00
Dave Zarzycki
d9d5b4492b
Use Xcode relative compilers when possible
...
llvm-svn: 151108
2012-02-22 00:20:30 +00:00
Howard Hinnant
f2f2d8b98d
Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058 .
...
llvm-svn: 151088
2012-02-21 21:46:43 +00:00
Howard Hinnant
67f3964766
Modernize relational operators for shared_ptr and unique_ptr. This includes adding support for nullptr, and using less<T*>. Fixes http://llvm.org/bugs/show_bug.cgi?id=12056 .
...
llvm-svn: 151084
2012-02-21 21:02:58 +00:00
Bob Wilson
a4fd70ea77
Add missing newlines at EOF.
...
llvm-svn: 150965
2012-02-20 16:56:13 +00:00
Howard Hinnant
f87873b3b3
Silence -Wmissing-field-initializers a little higher in the source.
...
llvm-svn: 150964
2012-02-20 16:51:43 +00:00
Jeffrey Yasskin
1c075b8934
Add myself to the CREDITS file.
...
llvm-svn: 150935
2012-02-19 18:22:03 +00:00
Howard Hinnant
7c24d8e70b
Initialize all the fields of struct tm before passing it to strftime. One of the uninitialized fields, probably the pointer field tm_zone, was causing a segfault on linux. Patch contributed by Jeffrey Yasskin.
...
llvm-svn: 150929
2012-02-19 14:55:32 +00:00
Howard Hinnant
08487f51b7
Relax pointer output test to accept glibc's output. Patch supplied by Jeffrey Yasskin.
...
llvm-svn: 150927
2012-02-19 14:51:01 +00:00
Howard Hinnant
2a9a072485
Give the emulated nullptr_t a default constructor.
...
llvm-svn: 150893
2012-02-18 22:01:22 +00:00
Howard Hinnant
c7cf23e4bf
Exercise rvalue arguements to make_shared for C++11 mode.
...
llvm-svn: 150887
2012-02-18 20:12:03 +00:00
Howard Hinnant
f95d9f0a3a
Move typeinfos for exceptions in <stdexcept> to the abi
...
llvm-svn: 150835
2012-02-17 19:24:42 +00:00
Howard Hinnant
f9c73f6629
Use __is_polymorphic if available. This fixes http://llvm.org/bugs/show_bug.cgi?id=11983 . Patch contributed by Jonathan Sauer.
...
llvm-svn: 150614
2012-02-15 20:47:11 +00:00
Howard Hinnant
fa8df7db88
tuple was accidentally lacking a valid copy assignment operator. It went undetected because I had failed to test assigning from a const lvalue. This fixes http://llvm.org/bugs/show_bug.cgi?id=11921
...
llvm-svn: 150613
2012-02-15 20:13:52 +00:00
Howard Hinnant
6560953383
Do not parse sign if a sign is not the next legal character when parsing floating point from an input stream. Fixes http://llvm.org/bugs/show_bug.cgi?id=11871
...
llvm-svn: 150609
2012-02-15 19:19:37 +00:00
Howard Hinnant
2aa9a38b67
Another stab at fixing http://llvm.org/bugs/show_bug.cgi?id=12007 . I earlier missed that there are two common_type definitions and corrected only one of them.
...
llvm-svn: 150599
2012-02-15 18:08:09 +00:00
Howard Hinnant
425e44d192
Remove reference from common_type definition. It looks like a recent clang decltype implementation got fixed/improved and exposed this. Fixes http://llvm.org/bugs/show_bug.cgi?id=12007 .
...
llvm-svn: 150581
2012-02-15 15:08:30 +00:00
Howard Hinnant
9741d6c96e
Implement a few optimizations for vector push_back and insert. Fixes r10828365.
...
llvm-svn: 150542
2012-02-15 00:41:34 +00:00
Howard Hinnant
e586ac735d
Provide a move(const T&) overload for C++03 mode to enable moving from rvalues. This is to support proxy references. Fixes r10858112.
...
llvm-svn: 150488
2012-02-14 16:03:09 +00:00
Howard Hinnant
27c8f620ee
Fix up narrowing conversions in switch statement.
...
llvm-svn: 150082
2012-02-08 19:15:06 +00:00
Howard Hinnant
23e4e4587f
Make attributes on definition consistent with those on declaration.
...
llvm-svn: 149701
2012-02-03 18:31:43 +00:00
Howard Hinnant
b8be700974
Added some more symbols to the v2 rexport list.
...
llvm-svn: 149636
2012-02-02 22:01:34 +00:00
Howard Hinnant
2c9c6a579a
Prepare for running on top of new libc++abi.
...
llvm-svn: 149634
2012-02-02 20:48:35 +00:00
Howard Hinnant
be745c8cce
Explicitly convert int to future_errc. Fixes http://llvm.org/bugs/show_bug.cgi?id=11428
...
llvm-svn: 149630
2012-02-02 20:31:36 +00:00
Bob Wilson
1e2ca98cb2
Fix .PHONY target to match new installheaders target.
...
llvm-svn: 148629
2012-01-21 06:16:39 +00:00
Howard Hinnant
21fa1887e0
Enable full functionality of shared_ptr<const void> by adding allocator<const void>. Credit to John Hurley for discovering this bug.
...
llvm-svn: 148508
2012-01-19 23:15:22 +00:00
Howard Hinnant
f53bbd2a1e
Added installheaders target.
...
llvm-svn: 148399
2012-01-18 17:44:31 +00:00
Howard Hinnant
0fd9a6cc37
Remove installhdrs target from Makefile
...
llvm-svn: 148396
2012-01-18 16:07:25 +00:00
Howard Hinnant
f30d9ad6e1
Create target installhdrs as a synonym for do-installhdrs.
...
llvm-svn: 148365
2012-01-18 00:30:57 +00:00
Howard Hinnant
26e8d17f79
Put do-installhdrs target back into Makefile.
...
llvm-svn: 148310
2012-01-17 17:01:18 +00:00
Howard Hinnant
d6c77994b8
Stop installing headers, this is now done by clang
...
llvm-svn: 148309
2012-01-17 16:09:32 +00:00
Howard Hinnant
c37917f309
Fix http://llvm.org/bugs/show_bug.cgi?id=11752
...
llvm-svn: 148069
2012-01-12 23:37:51 +00:00
Howard Hinnant
a04d2b3330
Fix http://llvm.org/bugs/show_bug.cgi?id=11734
...
llvm-svn: 147853
2012-01-10 15:15:47 +00:00
Howard Hinnant
8e25104b10
1. Fix make_shared<const T>. 2. Allow allocator<const T> as an extension. 3. Refactor work which fixed unique_ptr<const T[]>. 4. Remove no-longer-needed private declarations from unique_ptr. 5. Add constraints to some shared_ptr and weak_ptr constructors and assignment operators so that is_constructible/is_assignable give the correct answers for shared_ptr and weak_ptr. 6. Make defensive preparations in the shared_ptr free functions for the introduction of shared_ptr<T[]> in the future. 7. As an optimization, add move constructor and move assignment to weak_ptr.
...
llvm-svn: 147437
2012-01-02 17:56:02 +00:00
NAKAMURA Takumi
e9d3d21988
Happy new year 2012!
...
llvm-svn: 147395
2012-01-01 08:16:56 +00:00
Howard Hinnant
b34b48196c
The exception recovery mechanism for the uninitialized_* algorithms did not work for iterators into discontiguous memory.
...
llvm-svn: 147343
2011-12-29 17:45:35 +00:00
Howard Hinnant
45146a12cf
Fix memory leak in converting weak_ptr to shared_ptr
...
llvm-svn: 147298
2011-12-27 22:20:51 +00:00
Howard Hinnant
a87b5e3446
Fix http://llvm.org/bugs/show_bug.cgi?id=11616
...
llvm-svn: 146881
2011-12-19 17:58:44 +00:00
David Chisnall
18e33935f3
Some fixes to <atomic> operations to explicitly use atomic types and operations.
...
The integral types now work with clang trunk (if you remove the guard), although we're still missing an intrinsic for initialising atomics (needed for C1x too).
Howard: Please review.
llvm-svn: 146865
2011-12-19 11:44:20 +00:00
Howard Hinnant
e4097ad7e6
Allow unique_ptr<T const []> to be constructed and assigned from a unique_ptr<T[]>
...
llvm-svn: 146853
2011-12-18 21:19:44 +00:00
Howard Hinnant
d6f44b6601
Allow unique_ptr<T const []> to be constructed with a T* (in addition to a const T*)
...
llvm-svn: 146736
2011-12-16 15:37:23 +00:00
Howard Hinnant
fac8c8866d
Remove quotes from locale name identifier. Credit Edward Meewis.
...
llvm-svn: 146655
2011-12-15 15:01:38 +00:00
Howard Hinnant
a1a9e77122
As an extension, support incomplete types in the unordered containers to match what we already do in the associative containers.
...
llvm-svn: 146376
2011-12-12 17:26:24 +00:00
Howard Hinnant
42b8bb5033
Fix http://llvm.org/bugs/show_bug.cgi?id=11461 . Credit Alberto Ganesh Barbati.
...
llvm-svn: 146345
2011-12-11 20:31:33 +00:00
Howard Hinnant
53d2fb0aa2
Installation of CityHash by Craig Silverstein
...
llvm-svn: 146329
2011-12-10 20:28:56 +00:00
Howard Hinnant
f3d14a65ca
Starting using murmur2 when combining multiple size_t's into a single hash, and also for basic_string. Also made hash<thread::id> ever so slighly more portable. I had to tweak one test which is questionable (definitely not portable) anyway.
...
llvm-svn: 145795
2011-12-05 00:08:45 +00:00
Howard Hinnant
9b0cd149aa
Version #next on the hash functions for scalars. This builds on Dave's work, extends it to T*, and changes the way double and long double are handled (no longer convert to float on 32 bit). I also picked up a minor bug with uninitialized bits on the upper end of size_t when sizeof(size_t) > sizeof(T), e.g. in hash<float>. Most of the functionality has been put in one place: __scalar_hash in <memory>. Unfortunately I could not reuse __scalar_hash for hash<long double> on x86 because of the padding bits which need to be zeroed. I didn't want to add this zeroing step to the more general __scalar_hash when it isn't needed (in the absence of padding bits). I'm not ignoring the hash<string> issue (possibly changing that to a better hash). I just haven't gotten there yet.
...
llvm-svn: 145778
2011-12-03 21:11:36 +00:00
Howard Hinnant
7f3884d58a
I had picked up the wrong version of DaveZ's hash patches. Corrected here.
...
llvm-svn: 145728
2011-12-02 23:45:22 +00:00
Howard Hinnant
425d482c21
Fixes to hash for long long, unsigned long long, float, double and long double. Credit Dave Zarzycki
...
llvm-svn: 145721
2011-12-02 22:52:09 +00:00
Howard Hinnant
1196716270
unord test fixes by Edward Meewis
...
llvm-svn: 145707
2011-12-02 21:23:14 +00:00
Howard Hinnant
132bd622cf
Fix http://llvm.org/bugs/show_bug.cgi?id=11459 . Patch supplied by Alberto Ganesh Barbati.
...
llvm-svn: 145703
2011-12-02 20:41:47 +00:00
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
Howard Hinnant
a5bc2f877f
Jean-Daniel: __builtin_popcountll support for Windows
...
llvm-svn: 145684
2011-12-02 17:22:38 +00:00
Howard Hinnant
c206366fd7
Quash a whole bunch of warnings
...
llvm-svn: 145624
2011-12-01 20:21:04 +00:00
Howard Hinnant
c003db1fca
Further macro protection by replacing _[A-Z] with _[A-Z]p
...
llvm-svn: 145410
2011-11-29 18:15:50 +00:00
Howard Hinnant
ab4f438239
Add protection from min/max macros
...
llvm-svn: 145407
2011-11-29 16:45:27 +00:00
Howard Hinnant
1c2c87c502
Remove redundant iterator assignment detected by Marshall Clow
...
llvm-svn: 145265
2011-11-28 19:49:26 +00:00
Bob Wilson
8a3c663e95
Refactor libcxx makefile. No functional changes intended.
...
Besides cleaning up the repetition in the installhdrs target, the point of this
change is to provide a separate do-installhdrs target that can be used directly
from clang's runtime/libcxx makefile to install a copy of the headers along
with clang. <rdar://problem/10397739>
llvm-svn: 145162
2011-11-27 05:39:58 +00:00
Howard Hinnant
7319160e7c
Clarify building instructions for 10.7
...
llvm-svn: 144910
2011-11-17 17:14:16 +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
91ed25d186
Remove support folder from Apple install
...
llvm-svn: 143702
2011-11-04 15:59:51 +00:00
Howard Hinnant
05e485879c
Fix ratio arithmetic with zero
...
llvm-svn: 143519
2011-11-01 23:13:37 +00:00
Howard Hinnant
decdcacece
Add include file install path
...
llvm-svn: 143497
2011-11-01 21:06:50 +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
0176bc6cf5
Fixed bug in __independent_bits_engine found by Nick (from stackoverflow)
...
llvm-svn: 143104
2011-10-27 16:12:10 +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
a892966218
de-tabbify
...
llvm-svn: 142237
2011-10-17 20:08:59 +00:00
Howard Hinnant
073458b1ab
Windows support by Ruben Van Boxem.
...
llvm-svn: 142235
2011-10-17 20:05:10 +00:00
Howard Hinnant
7ba930bfca
Fix http://llvm.org/bugs/show_bug.cgi?id=11113
...
llvm-svn: 141714
2011-10-11 21:28:38 +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
03a466b3b9
Remove -Wglobal-constructors from flags. This was an accidental addition.
...
llvm-svn: 141551
2011-10-10 17:36:59 +00:00
Howard Hinnant
287e20e824
Update instructions for building on Mac OS 10.6
...
llvm-svn: 141507
2011-10-09 15:25:34 +00:00
Howard Hinnant
1ed7df111b
Fix <rdar://problem/10256836> getline of an empty string mistakenly causes failure
...
llvm-svn: 141506
2011-10-09 15:20:46 +00:00
Howard Hinnant
2a4812fd04
Fix <rdar://problem/10255403> match_results::begin() is off by one
...
llvm-svn: 141494
2011-10-08 14:36:16 +00:00
Howard Hinnant
b5a46edf35
reverting change to compatibility_version
...
llvm-svn: 141445
2011-10-07 23:55:11 +00:00
Howard Hinnant
e5bb431d3f
Change compatibility_version
...
llvm-svn: 141391
2011-10-07 19:52:29 +00:00
Howard Hinnant
7ba069074a
Fix <rdar://problem/10136825>
...
llvm-svn: 141132
2011-10-04 23:11:56 +00:00
Howard Hinnant
1e31e53fe1
Fix <rdar://problem/10226704>
...
llvm-svn: 141054
2011-10-04 01:25:20 +00:00
Howard Hinnant
33a30f4159
Windows porting work by Ruben Van Boxem
...
llvm-svn: 141003
2011-10-03 15:23:59 +00:00
Howard Hinnant
20dde1e8fb
Updated testit to run on Windows and fresh Windows results by Ruben Van Boxem
...
llvm-svn: 140950
2011-10-01 15:34:27 +00:00
Howard Hinnant
2c0a65ee78
Fix <rdar://problem/10217868>.
...
llvm-svn: 140907
2011-10-01 00:26:36 +00:00
Howard Hinnant
4f4d310e3e
Provide link to developer's policy
...
llvm-svn: 140857
2011-09-30 16:58:02 +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
0c06e58fae
Windows patch work by Ruben Van Boxem
...
llvm-svn: 140781
2011-09-29 13:33:15 +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