Commit Graph

456 Commits

Author SHA1 Message Date
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
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
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 b77c0c03bb [futures.atomic_future] and notify_all_at_thread_exit. This completes the header <future> and all of Chapter 30 (for C++0x enabled compilers).
llvm-svn: 113017
2010-09-03 21:46:37 +00:00
Howard Hinnant ead85506a7 [futures.shared_future]
llvm-svn: 112990
2010-09-03 18:39:25 +00:00
Howard Hinnant 1f7ae51ef2 Updated for weekly test results.
llvm-svn: 112737
2010-09-01 20:33:41 +00:00
Howard Hinnant 27f000e10b [futures.task] and [futures.async]. Requires variadics and rvalue-ref support.
llvm-svn: 112500
2010-08-30 18:46:21 +00:00
Howard Hinnant c009b09c2b [futures.unique_future]
llvm-svn: 112423
2010-08-29 14:20:30 +00:00
Howard Hinnant 8759d9d4d0 [futures.promise]. Depends on rvalue-ref support to work 100%.
llvm-svn: 112388
2010-08-28 21:01:06 +00:00
Howard Hinnant 167fd1084b future continues ...
llvm-svn: 112284
2010-08-27 20:10:19 +00:00
Howard Hinnant 370bbab490 Updated for weekly test results
llvm-svn: 112078
2010-08-25 19:45:31 +00:00
Howard Hinnant dae3481b28 Getting started on <future>
llvm-svn: 112061
2010-08-25 17:32:05 +00:00
Howard Hinnant 01f586ca2c Corrected some int -> char narrowing conversions
llvm-svn: 111849
2010-08-23 21:41:03 +00:00
Howard Hinnant 8c93ff2ce3 Accidentally changed a data file during the whitespace cleanup
llvm-svn: 111845
2010-08-23 21:23:21 +00:00
Howard Hinnant fae824a32d Remove tabs
llvm-svn: 111778
2010-08-22 13:53:14 +00:00
Howard Hinnant 2807d4a58b Fixing whitespace problems
llvm-svn: 111769
2010-08-22 01:04:38 +00:00
Howard Hinnant 94b2dd0998 Fixing whitespace problems
llvm-svn: 111767
2010-08-22 00:59:46 +00:00
Howard Hinnant 2cb7936efe Fixing whitespace problems
llvm-svn: 111765
2010-08-22 00:50:25 +00:00
Howard Hinnant bf2897cf45 Fixing whitespace problems
llvm-svn: 111764
2010-08-22 00:47:54 +00:00
Howard Hinnant f36101dd3d Fixing whitespace problems
llvm-svn: 111763
2010-08-22 00:45:01 +00:00
Howard Hinnant a0eaf608cd Fixing whitespace problems
llvm-svn: 111762
2010-08-22 00:42:21 +00:00
Howard Hinnant 3bad6b61e5 Fixing whitespace problems
llvm-svn: 111761
2010-08-22 00:39:25 +00:00
Howard Hinnant b5a4c50a03 Fixing whitespace problems
llvm-svn: 111760
2010-08-22 00:31:12 +00:00
Howard Hinnant 0022123b95 Fixing whitespace problems
llvm-svn: 111759
2010-08-22 00:29:01 +00:00
Howard Hinnant 66dbf0d311 Fixing whitespace problems
llvm-svn: 111758
2010-08-22 00:26:48 +00:00
Howard Hinnant 62bfbb0974 Fixing whitespace problems
llvm-svn: 111757
2010-08-22 00:22:24 +00:00
Howard Hinnant 5cf4e1f1f0 Fixing whitespace problems
llvm-svn: 111756
2010-08-22 00:20:12 +00:00
Howard Hinnant 8f2f7e7c79 Fixing whitespace problems
llvm-svn: 111755
2010-08-22 00:15:28 +00:00
Howard Hinnant 664ae8118e Fixing whitespace problems
llvm-svn: 111753
2010-08-22 00:08:10 +00:00
Howard Hinnant 940e211c87 Fixing whitespace problems
llvm-svn: 111751
2010-08-22 00:03:27 +00:00
Howard Hinnant b3371f6f49 Fixing whitespace problems
llvm-svn: 111750
2010-08-22 00:02:43 +00:00
Howard Hinnant 9f1102b7fe US 108, N3109
llvm-svn: 111747
2010-08-21 21:14:53 +00:00
Howard Hinnant e8e7af2477 DE 23
llvm-svn: 111746
2010-08-21 21:01:59 +00:00
Howard Hinnant 3db88036f6 US 117
llvm-svn: 111745
2010-08-21 20:58:44 +00:00
Howard Hinnant 4eb27b79c1 US 122, N3106
llvm-svn: 111742
2010-08-21 20:10:01 +00:00
Howard Hinnant 9b0b6d45d2 Installed allocator into std::function
llvm-svn: 111672
2010-08-20 19:36:46 +00:00
Howard Hinnant cbbc430d24 JP 3 & JP 4
llvm-svn: 111547
2010-08-19 19:20:10 +00:00
Howard Hinnant 907af2668f GB 85, GB 87
llvm-svn: 111546
2010-08-19 19:15:54 +00:00
Howard Hinnant de6d046575 DE 19
llvm-svn: 111544
2010-08-19 19:09:08 +00:00
Howard Hinnant 1102fbbd67 US 98, US 99
llvm-svn: 111542
2010-08-19 18:59:38 +00:00
Howard Hinnant 20cc2a42b8 US 107
llvm-svn: 111538
2010-08-19 18:39:17 +00:00
Howard Hinnant e57dc14c44 LWG 1278
llvm-svn: 111532
2010-08-19 17:40:04 +00:00
Howard Hinnant 5e2f7b89e9 Updated by-chapter chart with weekly test results. Also did some prototyping on result_of, but if-def'd out the prototyped part (which the LWG may or may not accept)
llvm-svn: 111389
2010-08-18 18:52:04 +00:00
Howard Hinnant 86550b0038 [re.alg.replace]. This finishes all of <regex>. That being said, <regex> is exceptionally difficult to thoroughly test. If anyone has the ability to test this, combined with the interest to do so, now would be a good time. :-)
llvm-svn: 111333
2010-08-18 00:13:08 +00:00
Howard Hinnant 14dcd3d1ff [re.tokiter]
llvm-svn: 111278
2010-08-17 20:42:03 +00:00
Howard Hinnant 2bf1fd99b1 [re.regiter]
llvm-svn: 111178
2010-08-16 20:21:16 +00:00
Howard Hinnant 51e3967484 [re.alg.match]
llvm-svn: 111075
2010-08-14 19:58:44 +00:00
Howard Hinnant 48b242a275 Everything under [re.results]
llvm-svn: 111074
2010-08-14 18:14:02 +00:00
Howard Hinnant 5cd6658798 Everything under [re.regex]
llvm-svn: 111024
2010-08-13 18:11:23 +00:00
Howard Hinnant 3d87b69f7d Filling out regex tests...
llvm-svn: 110955
2010-08-12 21:14:20 +00:00
Howard Hinnant 824ea8f9cd Didn't mean to change lib/buildit on the last check in
llvm-svn: 110834
2010-08-11 18:11:36 +00:00
Howard Hinnant 54b409fdb9 now works with -fno-exceptions and -fno-rtti
llvm-svn: 110828
2010-08-11 17:04:31 +00:00
David Chisnall 37aab7674a #ifdef around Solaris/Linux/Darwin-specific error codes and replace them with their BSD equivalents if they are not available.
llvm-svn: 110827
2010-08-11 16:52:41 +00:00
David Chisnall 2a072dde4b Include sys/endian.h on FreeBSD and use that to detect the byte order.
llvm-svn: 110824
2010-08-11 16:27:20 +00:00
Howard Hinnant 08b0997cc1 Modified the definition of std::foward to address National Body Comment US 90
llvm-svn: 110805
2010-08-11 14:05:55 +00:00
Howard Hinnant 2bcfef5e9c Fix conflict with cstring and using namespace std
llvm-svn: 110736
2010-08-10 21:57:23 +00:00