Howard Hinnant
|
2503626838
|
Add attribute to inlined member.
llvm-svn: 123392
|
2011-01-13 20:05:05 +00:00 |
Howard Hinnant
|
59a7dc95de
|
Fixing an ambiguity in variadics found by clang.
llvm-svn: 123337
|
2011-01-12 22:56:59 +00:00 |
Howard Hinnant
|
119cd0ba12
|
fix guard
llvm-svn: 123269
|
2011-01-11 20:02:45 +00:00 |
Howard Hinnant
|
b5b2a1e19a
|
Two minor fixes: 1. Put integral_constant conversion to integral in even without constexpr support. 2. Add ios_base to <iosfwd>. The latter is being tracked by LWG 2026.
llvm-svn: 123080
|
2011-01-08 20:00:48 +00:00 |
Howard Hinnant
|
36fd9f96cf
|
Reverting an old optimization that conflicts with the new allocator model, and causes some test casees to compile that shouldn't.
llvm-svn: 122830
|
2011-01-04 19:53:31 +00:00 |
Howard Hinnant
|
ab061a656d
|
Marshall Clow's fix for Bug 8421.
llvm-svn: 122825
|
2011-01-04 19:21:05 +00:00 |
Howard Hinnant
|
c950e77d1d
|
Effort to reduce the number of exported symbols
llvm-svn: 122057
|
2010-12-17 14:46:43 +00:00 |
Howard Hinnant
|
ba31cbdbca
|
Reduced copying cost of tuple_cat from quadratic to linear.
llvm-svn: 121655
|
2010-12-12 23:04:37 +00:00 |
Howard Hinnant
|
7f64810bc8
|
LWG 1385 [FCD] tuple_cat should be a single variadic signature (http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#1385). This issue is only in Ready status, meaning it is not official, but probably will be this March in Madrid. It was tentatively accepted in Batavia with the previso that Bill and I didn't have any problems implementing it. This is my part of that agreement.
llvm-svn: 121619
|
2010-12-11 20:47:50 +00:00 |
Howard Hinnant
|
d4a83d078c
|
The implementation of the new definition of result_of (N3123) resulted in some test failures in [func.memfn] that I failed to previously notice. This corrects that mistake.
llvm-svn: 121600
|
2010-12-11 00:05:19 +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
|
7f8e26867f
|
Test adjustment for recent changes in allocator_traits
llvm-svn: 121503
|
2010-12-10 19:22:37 +00:00 |
Howard Hinnant
|
088bd9aa14
|
This got accidentally removed
llvm-svn: 121502
|
2010-12-10 19:22:00 +00:00 |
Howard Hinnant
|
966b5a3157
|
N3158 Missing preconditions for default-constructed match_result objects
llvm-svn: 121282
|
2010-12-08 21:07:55 +00:00 |
Howard Hinnant
|
3135def61d
|
cleaning up...
llvm-svn: 121275
|
2010-12-08 20:09:09 +00:00 |
Howard Hinnant
|
b5452b3db5
|
After a long break to wait for the atomic spec to settle, this completes the library part of <atomic>. It currently won't even parse as it depends on the existence of the intrinsics specified at http://libcxx.llvm.org/atomic_design_a.html. Everything has been tested using fake intrinsics which have now been removed. As the intrinsics come online, the ATOMIC_* macros will need to be adjusted to reflect which operations are lock-free. These macros will probably need to be #ifdef'd for each supported platform.
llvm-svn: 121267
|
2010-12-08 17:20:28 +00:00 |
Michael J. Spencer
|
5f53fceff0
|
test: Rename string_op+= to string_op_plus_equal. Windows git doesn't like it.
llvm-svn: 121265
|
2010-12-08 17:06:47 +00:00 |
Howard Hinnant
|
c5f5f0a166
|
atomics ...
llvm-svn: 121204
|
2010-12-07 23:24:41 +00:00 |
Howard Hinnant
|
0e1cd17d0a
|
atomics ...
llvm-svn: 121202
|
2010-12-07 23:20:28 +00:00 |
Howard Hinnant
|
c772a62096
|
Work on <atomic> continues. The file size is actually sane now...
llvm-svn: 121181
|
2010-12-07 20:46:14 +00:00 |
Howard Hinnant
|
9847abacb1
|
Getting <atomic> warmed back up. We have a hopefully more stable spec now. And I believe the intrinsic spec at http://libcxx.llvm.org/atomic_design_a.html is still good.
llvm-svn: 121064
|
2010-12-06 23:10:08 +00:00 |
Howard Hinnant
|
fd18df5b2e
|
Add a couple more std-qualifers.
llvm-svn: 121002
|
2010-12-06 15:11:48 +00:00 |
Howard Hinnant
|
75357bcd39
|
oops, forgot std::
llvm-svn: 120915
|
2010-12-04 19:56:43 +00:00 |
Howard Hinnant
|
816cb8975d
|
Fix up uses of new/terminate/unexpected handlers to use the new getters.
llvm-svn: 120914
|
2010-12-04 19:54:11 +00:00 |
Howard Hinnant
|
4dcf83cbd5
|
Add typeinfo for char16_t, char32_t and nullptr.
llvm-svn: 120810
|
2010-12-03 17:25:24 +00:00 |
Howard Hinnant
|
1596c4531b
|
N3189 Observers for the three handler functions
llvm-svn: 120712
|
2010-12-02 16:45:21 +00:00 |
Howard Hinnant
|
92e3718b13
|
Implemented N3194
llvm-svn: 120458
|
2010-11-30 20:23:32 +00:00 |
Howard Hinnant
|
6fd5c65095
|
Minor fixup in <ratio> and add optional support for shared_mutex and upgrade_mutex which must be opted into with #define _LIBCPP_SHARED_LOCK
llvm-svn: 120258
|
2010-11-28 19:41:07 +00:00 |
Howard Hinnant
|
0c6a0fe7fb
|
Add template alias emulation to <ratio>
llvm-svn: 120098
|
2010-11-24 17:05:06 +00:00 |
Howard Hinnant
|
e78881314a
|
Update testsuite strucuture to latest draft
llvm-svn: 120064
|
2010-11-23 22:13:07 +00:00 |
Howard Hinnant
|
b32f147bbf
|
Update testsuite strucuture to latest draft
llvm-svn: 120058
|
2010-11-23 20:55:56 +00:00 |
Howard Hinnant
|
fedfe3b69c
|
Update testsuite strucuture to latest draft
llvm-svn: 120057
|
2010-11-23 20:55:36 +00:00 |
Howard Hinnant
|
ab7be6e43c
|
Update testsuite strucuture to latest draft
llvm-svn: 120054
|
2010-11-23 20:47:09 +00:00 |
Howard Hinnant
|
4030e72457
|
Update testsuite strucuture to latest draft
llvm-svn: 120045
|
2010-11-23 20:26:48 +00:00 |
Howard Hinnant
|
46cc61ea7c
|
Update testsuite strucuture to latest draft
llvm-svn: 120043
|
2010-11-23 20:25:10 +00:00 |
Howard Hinnant
|
e8ce332127
|
Update testsuite strucuture to latest draft
llvm-svn: 120040
|
2010-11-23 20:21:36 +00:00 |
Howard Hinnant
|
274541968b
|
Update testsuite strucuture to latest draft
llvm-svn: 120036
|
2010-11-23 19:52:19 +00:00 |
Howard Hinnant
|
e5cb278766
|
Update testsuite strucuture to latest draft
llvm-svn: 120029
|
2010-11-23 19:15:49 +00:00 |
Howard Hinnant
|
e3120ed1bf
|
N3188 - Revision to N3113: Async Launch Policies (CH 36)
llvm-svn: 120027
|
2010-11-23 18:33:54 +00:00 |
Howard Hinnant
|
3dc6455ff0
|
N3191: C++ Timeout Specification
llvm-svn: 119909
|
2010-11-20 19:16:30 +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
|
348bb56a82
|
type_traits intrinsics design
llvm-svn: 119776
|
2010-11-19 01:48:13 +00:00 |
Howard Hinnant
|
4b88967b70
|
type_traits intrinsics design
llvm-svn: 119775
|
2010-11-19 01:38:58 +00:00 |
Howard Hinnant
|
d518d1c807
|
LWG 1522
llvm-svn: 119710
|
2010-11-18 17:34:48 +00:00 |
Howard Hinnant
|
908484b147
|
LWG 1439
llvm-svn: 119703
|
2010-11-18 17:01:36 +00:00 |
Howard Hinnant
|
48d05bd26c
|
LWG 1339
llvm-svn: 119699
|
2010-11-18 16:13:03 +00:00 |
Howard Hinnant
|
fb34010258
|
LWG 1432
llvm-svn: 119611
|
2010-11-18 01:47:02 +00:00 |
Howard Hinnant
|
a4a1ef1fc2
|
LWG 1404
llvm-svn: 119609
|
2010-11-18 01:40:00 +00:00 |
Howard Hinnant
|
d09f711dc2
|
LWG 1325
llvm-svn: 119571
|
2010-11-17 21:53:14 +00:00 |
Howard Hinnant
|
5ba1459c4c
|
LWG 1323
llvm-svn: 119560
|
2010-11-17 21:11:40 +00:00 |
Howard Hinnant
|
601afb30ec
|
LWG 1191
llvm-svn: 119545
|
2010-11-17 19:52:17 +00:00 |
Howard Hinnant
|
ef6168357a
|
LWG 1118
llvm-svn: 119541
|
2010-11-17 19:22:43 +00:00 |
Howard Hinnant
|
57d1ebcc38
|
Update <string> to use allocator_traits.
llvm-svn: 119522
|
2010-11-17 17:55:08 +00:00 |
Howard Hinnant
|
412dbebe1b
|
license change
llvm-svn: 119395
|
2010-11-16 22:09:02 +00:00 |
Chris Lattner
|
58dffe641b
|
libc++ is now dual licensed under both UIUC and MIT licenses.
llvm-svn: 119391
|
2010-11-16 21:40:19 +00:00 |
Chris Lattner
|
4c9fa8a132
|
add a credits file for libc++
llvm-svn: 119390
|
2010-11-16 21:39:15 +00:00 |
Howard Hinnant
|
9b35c8275c
|
Dave Zarzycki showed how the efficiency of shared_ptr could be significantly
increased. The following program is running 49% faster:
#include <iostream>
#include <memory>
#include <chrono>
#include <vector>
#include "chrono_io"
int main()
{
typedef std::chrono::high_resolution_clock Clock;
Clock::time_point t0 = Clock::now();
{
std::shared_ptr<int> p(new int (1));
std::vector<std::shared_ptr<int> > v(1000000, p);
v.insert(v.begin(), p);
v.insert(v.begin(), p);
v.insert(v.begin(), p);
v.insert(v.begin(), p);
}
Clock::time_point t1 = Clock::now();
std::cout << (t1-t0) << '\n';
}
llvm-svn: 119388
|
2010-11-16 21:33:17 +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 |
Nick Kledzik
|
4b6ccfd9ce
|
update to use new linker option to re-export from libc++abi.dylb
llvm-svn: 117691
|
2010-10-29 19:46:14 +00:00 |
Howard Hinnant
|
5ec1826429
|
Secure __next_prime from overflowing
llvm-svn: 117650
|
2010-10-29 14:10:30 +00:00 |
Howard Hinnant
|
007b26be68
|
Fixed bug in random_shuffle to avoid swapping with self
llvm-svn: 117098
|
2010-10-22 15:26:39 +00:00 |
Howard Hinnant
|
a7c2f3eac3
|
[atomics.types.address]
llvm-svn: 117033
|
2010-10-21 17:44:19 +00:00 |
Howard Hinnant
|
6b4120915e
|
Updated chart with weekly test results, and updated export files for chnages in <atomic>.
llvm-svn: 116943
|
2010-10-20 20:15:14 +00:00 |
Howard Hinnant
|
f9c02e15c4
|
atomic_schar, atomic_uchar, atomic_short, atomic_ushort, atomic_int, atomic_uint, atomic_long, atomic_ulong, atomic_llong, atomic_ullong, atomic_char16_t, atomic_char32_t and atomic_wchar_t.
llvm-svn: 116860
|
2010-10-19 21:22:10 +00:00 |
Howard Hinnant
|
d89b01e521
|
atomic_char
llvm-svn: 116813
|
2010-10-19 16:51:18 +00:00 |
Howard Hinnant
|
b2b5513dcc
|
Changing <atomic> to follow Design A
llvm-svn: 116742
|
2010-10-18 20:39:07 +00:00 |
Howard Hinnant
|
8166eca7b4
|
Update atomic Design A spec with reference C++ implementations for the purpose of documeting the semantics of each atomic operation.
llvm-svn: 116713
|
2010-10-18 16:40:13 +00:00 |
Howard Hinnant
|
1f1f63a698
|
Update atomic Design A spec
llvm-svn: 116707
|
2010-10-18 16:02:24 +00:00 |
Howard Hinnant
|
c1ef47986b
|
Fix two test bugs
llvm-svn: 116515
|
2010-10-14 21:08:32 +00:00 |
Howard Hinnant
|
3daef8dce2
|
Convert __thread_local_data to the singleton pattern and change export files...
llvm-svn: 116501
|
2010-10-14 19:24:23 +00:00 |
Howard Hinnant
|
10e4a48a26
|
Convert __thread_local_data to the singleton pattern
llvm-svn: 116500
|
2010-10-14 19:18:04 +00:00 |
Howard Hinnant
|
a65a935ba4
|
Bug 7983 fixed by Bernhard Rosenkraenzer
llvm-svn: 116487
|
2010-10-14 17:11:39 +00:00 |
Nick Kledzik
|
fd6fdbecd4
|
temporarily use cc to link instead of clang to work around issue with -Xarch
llvm-svn: 116435
|
2010-10-13 21:12:41 +00:00 |
Nick Kledzik
|
2b23d60cb3
|
update export list for when building with clang++
llvm-svn: 116434
|
2010-10-13 21:11:52 +00:00 |
Howard Hinnant
|
279312ec4e
|
updated for weekly test results
llvm-svn: 116425
|
2010-10-13 20:24:31 +00:00 |
Howard Hinnant
|
e79d71e2e3
|
Patch by Marshall Clow to make the assignment operators of piecewise_constant_distribution and piecewise_linear_distribution exception safe.
llvm-svn: 116404
|
2010-10-13 14:37:09 +00:00 |
Howard Hinnant
|
71dee18c43
|
Updated atomic design docs
llvm-svn: 116065
|
2010-10-08 17:36:50 +00:00 |
Howard Hinnant
|
0f444b3b16
|
Corrected an inconsistency with recent changes in tuple, and perfect forwarding within bind
llvm-svn: 115930
|
2010-10-07 18:03:23 +00:00 |
Howard Hinnant
|
149f659af3
|
Relaxing timing test a bit to avoid spurious test failures under load
llvm-svn: 115920
|
2010-10-07 16:25:31 +00:00 |
Howard Hinnant
|
dc2394f856
|
Update atomic design A
llvm-svn: 115913
|
2010-10-07 14:18:37 +00:00 |
Howard Hinnant
|
a35a35fc90
|
Updated <atomic> docs with three design options
llvm-svn: 115791
|
2010-10-06 16:15:10 +00:00 |
Howard Hinnant
|
b93850f370
|
A compiler writer's guide to <atomic>, minor update
llvm-svn: 115633
|
2010-10-05 17:22:28 +00:00 |
Howard Hinnant
|
1de2266f07
|
A compiler writer's guide to <atomic>
llvm-svn: 115629
|
2010-10-05 16:44:40 +00:00 |
Howard Hinnant
|
772699070e
|
Make flag type configurable by the compiler
llvm-svn: 115614
|
2010-10-05 14:02:23 +00:00 |
Howard Hinnant
|
69c3cb85ab
|
Thanks Sebastian\!
llvm-svn: 115612
|
2010-10-05 13:38:23 +00:00 |
Howard Hinnant
|
668523a1b8
|
Filling out the infrastructure in <atomic>
llvm-svn: 115577
|
2010-10-04 23:55:35 +00:00 |
Howard Hinnant
|
d5a97fc683
|
__has_feature crutch
llvm-svn: 115540
|
2010-10-04 19:01:30 +00:00 |
Howard Hinnant
|
2b672e24a5
|
Still working on the basic design of <atomic>. I'm working towards a system by which the compiler only needs to define the strongest intrinsics it can. Weaker atomics in the library automatically try stronger and stronger variants, picking the weakest compiler intrinsic available. If no compiler intrinsics are available for a given operation, the library locks a mutex and does the job. Better documentation to follow...
llvm-svn: 115538
|
2010-10-04 18:52:54 +00:00 |
Howard Hinnant
|
2ec672fff5
|
Tweak to make clang blocks work with std::functional (very fragile)
llvm-svn: 115461
|
2010-10-03 13:59:56 +00:00 |
Howard Hinnant
|
f717f3ae61
|
Bug 7984 by Bernhard Rosenkraenzer
llvm-svn: 115443
|
2010-10-02 23:27:23 +00:00 |
Howard Hinnant
|
18217738c7
|
Bug 8254 by Bernhard Rosenkraenzer
llvm-svn: 115430
|
2010-10-02 23:23:25 +00:00 |
Howard Hinnant
|
748a5279b1
|
[atomics.flag] completed. Initialization is not working on clang and can't be made to work without defaulted default constructors.
llvm-svn: 115207
|
2010-09-30 21:05:29 +00:00 |
Howard Hinnant
|
a31e741ac9
|
Name change of intrinsics as suggested by Jeffrey Yasskin
llvm-svn: 115145
|
2010-09-30 14:04:35 +00:00 |
Howard Hinnant
|
88efc1c7a5
|
Contemplating this <atomic> reorganization...
llvm-svn: 115087
|
2010-09-29 21:20:03 +00:00 |
Howard Hinnant
|
77f965b75a
|
updated per weekly tests
llvm-svn: 115081
|
2010-09-29 20:15:25 +00:00 |
Howard Hinnant
|
7d489d7a73
|
Didn't mean to commit that one
llvm-svn: 115058
|
2010-09-29 18:33:45 +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
|
eb9e9a3710
|
fixing whitespace
llvm-svn: 114967
|
2010-09-28 17:19:10 +00:00 |
Howard Hinnant
|
cfe0b0a1ab
|
[atomics.order]
llvm-svn: 114966
|
2010-09-28 17:13:38 +00:00 |