Howard Hinnant
|
542b2507de
|
I've seen this question enough times to know that it should be fixed: http://stackoverflow.com/questions/6193734/implicit-conversions-with-stdfunction
llvm-svn: 132363
|
2011-05-31 21:45:26 +00:00 |
|
Howard Hinnant
|
8f0cd597f1
|
noexcept for <array>.
llvm-svn: 132359
|
2011-05-31 21:06:33 +00:00 |
|
Howard Hinnant
|
e3c6708439
|
Upgrade <ratio> to use template aliases when available.
llvm-svn: 132342
|
2011-05-31 16:55:36 +00:00 |
|
Howard Hinnant
|
b5d866d4a3
|
noexcept for Chapter 22 [localization].
llvm-svn: 132337
|
2011-05-31 15:34:58 +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
|
76c7cd0e15
|
noexcept for Chapter 21 [strings].
llvm-svn: 132296
|
2011-05-29 19:57:12 +00:00 |
|
Howard Hinnant
|
af152c8431
|
minor documentation update
llvm-svn: 132286
|
2011-05-29 13:53:56 +00:00 |
|
Howard Hinnant
|
9e5c99f61f
|
noexcept for <typeindex>. This completes Chapter 20 [utilities].
llvm-svn: 132267
|
2011-05-28 18:57:24 +00:00 |
|
Howard Hinnant
|
cfd52789dc
|
noexcept for <scoped_allocator>.
llvm-svn: 132266
|
2011-05-28 18:51:12 +00:00 |
|
Howard Hinnant
|
d53d81522d
|
noexcept for <chrono>.
llvm-svn: 132265
|
2011-05-28 18:34:36 +00:00 |
|
Howard Hinnant
|
6a07d6f06d
|
noexcept for <functional>.
llvm-svn: 132264
|
2011-05-28 17:59:48 +00:00 |
|
Howard Hinnant
|
3739fe79e5
|
noexcept for <memory>. I've added a few extension noexcept to: allocator_traits<A>::deallocate, allocaate<T>::deallocate, return_temporary_buffer, and default_delete<T>::operator()(T*) const. My rationale was: If a std-dicated noexcept function needs to call another std-defined function, that called function must be noexcept. We're all a little new to noexcept, so things like this are to be expected. Also included fix for broken __is_swappable trait pointed out by Marc Glisse, thanks Marc|. And fixed a test case for is_nothrow_destructible. Destructors are now noexcept by default|
llvm-svn: 132261
|
2011-05-28 14:41:13 +00:00 |
|
Howard Hinnant
|
d368a84c91
|
noexcept for <bitset>.
llvm-svn: 132216
|
2011-05-27 20:52:28 +00:00 |
|
Howard Hinnant
|
27d0a2a75d
|
noexcept for <tuple>. And in the process learned that I had done it wrong for pair's swap. I needed to create an __is_nothrow_swappable<T>::value trait that was smart enought to answer false when __is_swappable<T>::value is false. Otherwise one gets compile-time errors when using pair or tuple of non-swappable types, even if you never try to swap the pair or tuple.
llvm-svn: 132204
|
2011-05-27 19:08:18 +00:00 |
|
Howard Hinnant
|
a676f7d36a
|
noexcept for <utility>. This included a little repair on pair, and some noexcept workarounds.
llvm-svn: 132186
|
2011-05-27 15:04:19 +00:00 |
|
Howard Hinnant
|
a62f28994c
|
Applied noexcept to everything in [diagnostics] (Chapter 19)
llvm-svn: 132137
|
2011-05-26 19:48:01 +00:00 |
|
Howard Hinnant
|
411d1bcc3b
|
Turn on cxx_alias_templates support
llvm-svn: 132134
|
2011-05-26 19:07:54 +00:00 |
|
Howard Hinnant
|
fafca58c58
|
Applied noexcept to everything in [language.support] (Chapter 18)
llvm-svn: 132129
|
2011-05-26 18:23:59 +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
|
2fa07ae9a0
|
Fix const correctness bug in bind involving reference_wrapper found by Jonathan Sauer
llvm-svn: 131852
|
2011-05-22 15:07:43 +00:00 |
|
Howard Hinnant
|
5eb6bdfa1d
|
__invokable and __invoke_of now check for incomplete types and issue a compile-time diagnostic if they are used with incomplete types for anything except a return type. Note that both arguments *and* parameters are checked for completeness.
llvm-svn: 131818
|
2011-05-22 00:09:02 +00:00 |
|
Howard Hinnant
|
6282a4a1d3
|
This is a simplified (and superior) implementation of __invoke, __invokable and __invoke_of. It is superior in that __invoke now handles reference qualified member functions whereas the previous implementation did not. And it simply has less infrastructure in its implementation. I'm still learning how to program in C++11 (and probably will be for a long time). This change does not impact the behavior we're seeing in http://llvm.org/bugs/show_bug.cgi?id=9975
llvm-svn: 131761
|
2011-05-20 22:02:53 +00:00 |
|
Howard Hinnant
|
2344d6c195
|
Simplied bind using __invoke. In the process, found and fixed a couple of bugs. C++11 only.
llvm-svn: 131667
|
2011-05-19 19:41:47 +00:00 |
|
Howard Hinnant
|
ec0810e1c8
|
I had a giant misunderstanding of what 'synchronizes with' meant in [futures.async]/p5. This invalidated the current design of async in <future>. This is a new design, based on my new understanding, which has been confirmed on the lwg mailing list. The summary is that ~future() (and ~shared_future()) will block when they are created from within async, and the thread hasn't finished yet. As part of this work I created two new type traits: __invokable<F, Args...>::value and __invoke_of<F, Args...>::type. These are what result_of<F(Args...)> wanted to be when it grew up, but never will be. __invoke_of is carefully crafted so that it can serve as its own enable_if (type doesn't exist if the signature isn't invokable). All of this work is C++11 only.
llvm-svn: 131639
|
2011-05-19 15:05:04 +00:00 |
|
Howard Hinnant
|
dcaa2e9294
|
Fix ambiguity in operator== of scoped_allocator_adaptor.
llvm-svn: 131485
|
2011-05-17 20:41:18 +00:00 |
|
Howard Hinnant
|
651fedb82c
|
Fixed bug in recently introduced bind move constructor
llvm-svn: 131484
|
2011-05-17 20:27:51 +00:00 |
|
Howard Hinnant
|
872a91167e
|
Brought call_once variadic call up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.
llvm-svn: 131414
|
2011-05-16 19:05:11 +00:00 |
|
Howard Hinnant
|
8df61ea84d
|
Brought thread variadic constructor up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.
llvm-svn: 131413
|
2011-05-16 18:40:35 +00:00 |
|
Howard Hinnant
|
7735ccaf86
|
Supply missing std::qualifier to call.
llvm-svn: 131410
|
2011-05-16 16:20:59 +00:00 |
|
Howard Hinnant
|
23fdcd70c6
|
Spit 5th bullet __invoke into function pointers and everything else because result_of doesn't deal with function pointers.
llvm-svn: 131409
|
2011-05-16 16:20:21 +00:00 |
|
Howard Hinnant
|
07de7bcaa0
|
Supply missing move ctor in __bind_r, though this one will eventually be defaulted
llvm-svn: 131408
|
2011-05-16 16:19:01 +00:00 |
|
Howard Hinnant
|
15c34d48ba
|
Redesign of result_of to handle reference-qualified member functions
llvm-svn: 131407
|
2011-05-16 16:17:21 +00:00 |
|
Howard Hinnant
|
b12c37b302
|
Fix type-o found by Justin Hibbits
llvm-svn: 131348
|
2011-05-14 18:20:45 +00:00 |
|
Howard Hinnant
|
6db38ae05c
|
Fix type-o found by Justin Hibbits
llvm-svn: 131346
|
2011-05-14 17:24:22 +00:00 |
|
Howard Hinnant
|
fb7f07e3bd
|
http://llvm.org/bugs/show_bug.cgi?id=9854. Also created an emulated hexfloat literal for use in some of the tests. <sigh> And cleaned up some harmless but irritating warnings in the tests.
llvm-svn: 131318
|
2011-05-13 21:52:40 +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
|
467fc38320
|
A much improved type_traits for C++0x. Not yet done: is_trivially_constructible, is_trivially_assignable and underlying_type.
llvm-svn: 131291
|
2011-05-13 14:08:16 +00:00 |
|
Howard Hinnant
|
f738497500
|
Corrected some bugs in both memory and the tests. Preparing for being able to turn on support for alias templates.
llvm-svn: 131199
|
2011-05-11 20:21:19 +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
|
0cfdb9517e
|
Updated type_traits and the type_traits design doc with recent work done in clang.
llvm-svn: 131090
|
2011-05-09 19:21:17 +00:00 |
|
Howard Hinnant
|
575d41ee92
|
Correction to set of overloaded pair constructors for C++0x
llvm-svn: 130521
|
2011-04-29 18:10:55 +00:00 |
|
Douglas Gregor
|
6c38001ec5
|
Qualify calls to std::next(), to avoid conflicts with
libraries/applications that define their own 'next' template.
llvm-svn: 130511
|
2011-04-29 16:20:26 +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 |
|
Howard Hinnant
|
866d73c7b4
|
Think-o in poisson_distribution at mean == 10
llvm-svn: 129520
|
2011-04-14 15:59:22 +00:00 |
|
Howard Hinnant
|
a23551cad4
|
Fix bug in Sseq constraints found by Seth Cantrell
llvm-svn: 129285
|
2011-04-11 18:22:12 +00:00 |
|
Howard Hinnant
|
40dab2ce86
|
http://llvm.org/bugs/show_bug.cgi?id=9672
llvm-svn: 129266
|
2011-04-11 02:18:41 +00:00 |
|
Howard Hinnant
|
784ba65787
|
Changes to cerrno to protect against the case the ELAST is not defined.
llvm-svn: 129255
|
2011-04-10 19:46:55 +00:00 |
|
Howard Hinnant
|
1444d85b5a
|
time_get was missing the %F specifier. This change impacts the binary.
llvm-svn: 129251
|
2011-04-10 17:54:14 +00:00 |
|
Howard Hinnant
|
a9c7c14ebb
|
Chris Jefferson found a missing const (Bugzilla 9632)
llvm-svn: 128885
|
2011-04-05 14:55:28 +00:00 |
|
Howard Hinnant
|
dbe14303da
|
Chris Jefferson submitted this patch to fix http://llvm.org/bugs/show_bug.cgi?id=9351
llvm-svn: 128796
|
2011-04-03 20:05:29 +00:00 |
|