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 |
Howard Hinnant
|
cd39d413b4
|
Getting started on <atomic>
llvm-svn: 114887
|
2010-09-27 21:17:38 +00:00 |
Howard Hinnant
|
f5241d7586
|
Bugzilla 8231
llvm-svn: 114851
|
2010-09-27 18:09:23 +00:00 |
Howard Hinnant
|
30ad985b6b
|
Cleaning up some tuple code.
llvm-svn: 114848
|
2010-09-27 17:54:17 +00:00 |
Howard Hinnant
|
789847ddbb
|
visibility-decoration sweep completed.
llvm-svn: 114685
|
2010-09-23 18:58:28 +00:00 |
Howard Hinnant
|
e060133553
|
visibility-decoration.
llvm-svn: 114671
|
2010-09-23 17:31:07 +00:00 |
Howard Hinnant
|
53ec0b4e8e
|
visibility-decoration.
llvm-svn: 114658
|
2010-09-23 16:27:36 +00:00 |
Howard Hinnant
|
3e84caaebb
|
visibility-decoration.
llvm-svn: 114647
|
2010-09-23 15:13:20 +00:00 |
Howard Hinnant
|
392183f99d
|
visibility-decoration.
llvm-svn: 114559
|
2010-09-22 18:02:38 +00:00 |
Howard Hinnant
|
848a5374d0
|
visibility-decoration.
llvm-svn: 114551
|
2010-09-22 16:48:34 +00:00 |
Howard Hinnant
|
3030b2f1ab
|
visibility-decoration.
llvm-svn: 114545
|
2010-09-22 15:29:08 +00:00 |
Howard Hinnant
|
a3988679f9
|
visibility-decoration.
llvm-svn: 114543
|
2010-09-22 14:16:26 +00:00 |
Howard Hinnant
|
0af133f941
|
visibility-decoration.
llvm-svn: 114496
|
2010-09-21 22:55:27 +00:00 |
Howard Hinnant
|
fb100021b7
|
visibility-decoration.
llvm-svn: 114486
|
2010-09-21 21:28:23 +00:00 |
Howard Hinnant
|
f5ab703f68
|
visibility-decoration.
llvm-svn: 114470
|
2010-09-21 20:16:37 +00:00 |
Howard Hinnant
|
35ae4a20cd
|
visibility-decoration.
llvm-svn: 114465
|
2010-09-21 18:58:51 +00:00 |
Howard Hinnant
|
43d9923860
|
visibility-decoration.
llvm-svn: 114451
|
2010-09-21 17:32:39 +00:00 |
Howard Hinnant
|
4c88c9803f
|
Getting started on a visibility-decoration sweep.
llvm-svn: 114440
|
2010-09-21 16:04:28 +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
|
5da7228ec0
|
Updated chart for weekly test results.
llvm-svn: 114029
|
2010-09-15 21:56:37 +00:00 |
Daniel Dunbar
|
5f09d9e00a
|
tests/lit: Split options into two groups, so we don't get driver warnings about
unused linker arguments for compile only tests.
llvm-svn: 113935
|
2010-09-15 04:31:58 +00:00 |
Daniel Dunbar
|
ecd98d5173
|
tests: Remove some stray cleanup code.
llvm-svn: 113934
|
2010-09-15 04:18:37 +00:00 |
Daniel Dunbar
|
bc9a848e04
|
tests: Fixup lit config, which got garbled somehow...
llvm-svn: 113931
|
2010-09-15 04:11:29 +00:00 |
Daniel Dunbar
|
42ea463089
|
tests: Sketch a lit config for running libc++ tests; currently expects libc++ to have been installed.
llvm-svn: 113925
|
2010-09-15 03:57:04 +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
|
8fb62e398a
|
Experimenting with a new forward fomulation (kudos Daniel Kruegler), updated insert iterators to work better with pproxies, and doubled the speed of __next_prime.
llvm-svn: 113731
|
2010-09-13 01:43:27 +00:00 |
Howard Hinnant
|
37030a77a0
|
Fix another const bug in function. Thanks to Daniel Krugler for finding this and the previous bug.
llvm-svn: 113686
|
2010-09-11 15:33:21 +00:00 |
Howard Hinnant
|
42daac442b
|
Fix const bug in function
llvm-svn: 113684
|
2010-09-11 15:09:37 +00:00 |
Nick Kledzik
|
d1d6f2ca46
|
<rdar://problem/8279559> [libstdcxx] use new linker options to make symbols non-weak
llvm-svn: 113616
|
2010-09-10 20:42:36 +00:00 |
Howard Hinnant
|
f9cca3b7d0
|
I am experimenting with putting visibility-default attributes on all struct/classes in libc++. This checkin decorates only basic_string and vector as an experiment, and for review by those in this audience that might know more about visibilty than I do. If I get no negative feedback on this procedure I will begin to decorate the entire library in this way.
llvm-svn: 113590
|
2010-09-10 16:42:26 +00:00 |
Howard Hinnant
|
7d1c2a0f3a
|
Yonggang Luo fixed gcc version checking for type_traits support.
llvm-svn: 113487
|
2010-09-09 13:58:34 +00:00 |
Howard Hinnant
|
1c1620b269
|
Updated by-chapter-summary with weekly test results, and fixed up some bad paths in some tests caused by aligning the test suite with N3126.
llvm-svn: 113403
|
2010-09-08 20:31:42 +00:00 |
Howard Hinnant
|
10b9b7b4bd
|
Hooked the following up to clang: is_class, is_enum, has_nothrow_copy_assign, has_trivial_destructor, has_virtual_destructor, is_pod. Implemented has_copy_assign.
llvm-svn: 113373
|
2010-09-08 17:55:32 +00:00 |
Howard Hinnant
|
1be27f0929
|
has_nothrow_copy_assign hooked up to clang
llvm-svn: 113364
|
2010-09-08 16:39:18 +00:00 |
Howard Hinnant
|
331b3dd2ad
|
has_trivial_copy_assign hooked up to clang (without workarounds). Filed http://llvm.org/bugs/show_bug.cgi?id=8109 to take care of several types which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle most of them in the library.
llvm-svn: 113312
|
2010-09-07 23:38:59 +00:00 |
Howard Hinnant
|
bfc4026f4c
|
Made a stab at has_copy_constructor. Got it mostly working for g++-4.0, but only works for scalar types on clang. Ultimately this needs a compiler-supported is_constructible which clang is missing, and won't be able to use until it gets variadic templates.
llvm-svn: 113304
|
2010-09-07 23:11:28 +00:00 |
Howard Hinnant
|
06fc97019a
|
has_nothrow_copy_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8107 to take care of several types which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle most of them in the library.
llvm-svn: 113294
|
2010-09-07 22:09:07 +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
|
ba6f71b030
|
Made a stab at has_default_constructor. Got it mostly working for g++-4.0, but only works for scalar types on clang. Ultimately this needs a compiler-supported is_constructible which clang is missing, and won't be able to use until it gets variadic templates.
llvm-svn: 113225
|
2010-09-07 17:47:31 +00:00 |
Howard Hinnant
|
f336abfcd2
|
has_nothrow_default_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8101 to take care of void, arrays of incomplete types, and classes with virtual destructors which don't work yet. If there is some reasons we don't want to handle these types in the compiler, I can handle them in the library.
llvm-svn: 113217
|
2010-09-07 17:15:17 +00:00 |
Howard Hinnant
|
c3ed8c312e
|
has_trivial_default_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8097 to take care of void and arrays of incomplete types which don't work yet. If there is some reasons we don't want to handle these types in the compiler, I can handle them in the library.
llvm-svn: 113205
|
2010-09-07 15:53:26 +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
|
eea166dfd4
|
Updated current status.
llvm-svn: 113110
|
2010-09-05 17:31:48 +00:00 |
Howard Hinnant
|
cbf93f3959
|
sync with N3126
llvm-svn: 113101
|
2010-09-05 01:14:30 +00:00 |
Howard Hinnant
|
f9e81f9acb
|
sync with N3126
llvm-svn: 113100
|
2010-09-05 01:10:45 +00:00 |
Howard Hinnant
|
771f325a1f
|
sync with N3126
llvm-svn: 113099
|
2010-09-05 01:06:34 +00:00 |
Howard Hinnant
|
5bed8c6f65
|
sync with N3126
llvm-svn: 113098
|
2010-09-05 00:57:20 +00:00 |
Howard Hinnant
|
e7d99b29be
|
sync with N3126
llvm-svn: 113097
|
2010-09-05 00:49:04 +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 |
Daniel Dunbar
|
0a779b97fe
|
Fix typos, noticed by Clang.
llvm-svn: 113061
|
2010-09-04 03:15:51 +00:00 |