Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								f13cf89df2
								
							
						 | 
						
							
							
								
								Apply LWG 2021.  This is only a documentation change.  Also bringing c++1y status page up to date.
							
							
							
							
							
							
							
							llvm-svn: 191141 
							
						 | 
						
							2013-09-21 18:17:23 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								3b2d7ee18c
								
							
						 | 
						
							
							
								
								Marshall Clow:  LWG Issue 2056: future_errc enums start with value 0 (invalid value for broken_promise).
							
							
							
							
							
							
							
							llvm-svn: 190756 
							
						 | 
						
							2013-09-14 18:20:10 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								f0544c2086
								
							
						 | 
						
							
							
								
								Nico Rieck:  this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>.
							
							
							
							
							
							
							
							llvm-svn: 188192 
							
						 | 
						
							2013-08-12 18:38:34 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								8c9742051d
								
							
						 | 
						
							
							
								
								My previous reorganization of addressof broke -std=c++03.  Thanks much to Arnold Schwaighofer for catching this.  This patch also catches a few more missing addressof in <future>, thanks go to Zhihao Yuan for catching these.
							
							
							
							
							
							
							
							llvm-svn: 187997 
							
						 | 
						
							2013-08-08 18:38:55 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								3fc9ef22b3
								
							
						 | 
						
							
							
								
								Constrain launch ~ operator to defined bits.
							
							
							
							
							
							
							
							llvm-svn: 185452 
							
						 | 
						
							2013-07-02 18:01:41 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								1836462545
								
							
						 | 
						
							
							
								
								Add operators to make launch a bitmask type.  Searched all of the standard, and libc++ to see if this error occurred elsewhere and didn't see any other place.  This fixes http://llvm.org/bugs/show_bug.cgi?id=16207
							
							
							
							
							
							
							
							llvm-svn: 185265 
							
						 | 
						
							2013-06-29 18:38:17 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								6e41256f68
								
							
						 | 
						
							
							
								
								No functionality change at this time.  I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS.  This is in preparation for taking advantage of clang's new __type_visibility__ attribute.
							
							
							
							
							
							
							
							llvm-svn: 176593 
							
						 | 
						
							2013-03-06 23:30:19 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								8d3e797444
								
							
						 | 
						
							
							
								
								Donated anonymously:  This enables GCC 4.8.0 to build libc++.
							
							
							
							
							
							
							
							llvm-svn: 173060 
							
						 | 
						
							2013-01-21 17:26:55 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								2153d69672
								
							
						 | 
						
							
							
								
								Fix a race in the construction of future.  This fixes http://llvm.org/bugs/show_bug.cgi?id=14934.
							
							
							
							
							
							
							
							llvm-svn: 172456 
							
						 | 
						
							2013-01-14 20:01:24 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								54d333a601
								
							
						 | 
						
							
							
								
								Rename uses of _ and __ because these are getting stepped on by macros from other system code.
							
							
							
							
							
							
							
							llvm-svn: 167038 
							
						 | 
						
							2012-10-30 19:06:59 +00:00 | 
						
					
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 | 
						
							
							
							
							
							
								
							
							
								88db3171dd
								
							
						 | 
						
							
							
								
								Don't neglect to "return *this".
							
							
							
							
							
							
							
							llvm-svn: 165860 
							
						 | 
						
							2012-10-13 02:03:45 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								aeb85680fb
								
							
						 | 
						
							
							
								
								Dimitry Andric:  many visibility fixes.  Howard:  Much appreciated.  Can you send me a patch to CREDITS.TXT?
							
							
							
							
							
							
							
							llvm-svn: 163862 
							
						 | 
						
							2012-09-14 00:39:16 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								9d772d17b3
								
							
						 | 
						
							
							
								
								Apple LWG 2067: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3318.html#2067 .  This is the only actionable change that has been made to the C++ draft since C++11.  In general it has not been decided exactly how libc++ will track changes made to C++11.  New features and design changes will probably be #ifdef'd, especially if they are not backwards compatible.  Defects and 'dumb mistakes' are more likely to just be put in.  Decisions on telling one from the other will be made on a case by case basis.
							
							
							
							
							
							
							
							llvm-svn: 160608 
							
						 | 
						
							2012-07-21 19:34:12 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								a4820bc4d5
								
							
						 | 
						
							
							
								
								noexcept applied to <future>.
							
							
							
							
							
							
							
							llvm-svn: 160607 
							
						 | 
						
							2012-07-21 17:46:55 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								a960edd203
								
							
						 | 
						
							
							
								
								Fix memory corruption bug found and fixed by Andrew C. Morrow.
							
							
							
							
							
							
							
							llvm-svn: 157476 
							
						 | 
						
							2012-05-25 15:55:46 +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
							
						 | 
						
							
							
							
							
							
								
							
							
								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
							
						 | 
						
							
							
							
							
							
								
							
							
								073458b1ab
								
							
						 | 
						
							
							
								
								Windows support by Ruben Van Boxem.
							
							
							
							
							
							
							
							llvm-svn: 142235 
							
						 | 
						
							2011-10-17 20:05:10 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								88410049fa
								
							
						 | 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=10346
							
							
							
							
							
							
							
							llvm-svn: 135045 
							
						 | 
						
							2011-07-13 16:00:50 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								11af28bdbd
								
							
						 | 
						
							
							
								
								Fixing up some ABI issues
							
							
							
							
							
							
							
							llvm-svn: 134639 
							
						 | 
						
							2011-07-07 21:03:52 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								ce48a1137d
								
							
						 | 
						
							
							
								
								_STD -> _VSTD to avoid macro clash on windows
							
							
							
							
							
							
							
							llvm-svn: 134190 
							
						 | 
						
							2011-06-30 21:18:19 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								ce53420e37
								
							
						 | 
						
							
							
								
								Provide names for template and function parameters in forward declarations.  The purpose is to aid automated documentation tools.
							
							
							
							
							
							
							
							llvm-svn: 133008 
							
						 | 
						
							2011-06-14 19:58:17 +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
							
						 | 
						
							
							
							
							
							
								
							
							
								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
							
						 | 
						
							
							
							
							
							
								
							
							
								7735ccaf86
								
							
						 | 
						
							
							
								
								Supply missing std::qualifier to call.
							
							
							
							
							
							
							
							llvm-svn: 131410 
							
						 | 
						
							2011-05-16 16:20:59 +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
							
						 | 
						
							
							
							
							
							
								
							
							
								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
							
						 | 
						
							
							
							
							
							
								
							
							
								412dbebe1b
								
							
						 | 
						
							
							
								
								license change
							
							
							
							
							
							
							
							llvm-svn: 119395 
							
						 | 
						
							2010-11-16 22:09:02 +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
							
						 | 
						
							
							
							
							
							
								
							
							
								a3988679f9
								
							
						 | 
						
							
							
								
								visibility-decoration.
							
							
							
							
							
							
							
							llvm-svn: 114543 
							
						 | 
						
							2010-09-22 14:16:26 +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 | 
						
					
				
					
						
							
							
								 
								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
							
						 | 
						
							
							
							
							
							
								
							
							
								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
							
						 | 
						
							
							
							
							
							
								
							
							
								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
							
						 | 
						
							
							
							
							
							
								
							
							
								dae3481b28
								
							
						 | 
						
							
							
								
								Getting started on <future>
							
							
							
							
							
							
							
							llvm-svn: 112061 
							
						 | 
						
							2010-08-25 17:32:05 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								5b08a8a432
								
							
						 | 
						
							
							
								
								Wiped out some non-ascii characters that snuck into the copyright.
							
							
							
							
							
							
							
							llvm-svn: 103516 
							
						 | 
						
							2010-05-11 21:36:01 +00:00 | 
						
					
				
					
						
							
							
								 
								Howard Hinnant
							
						 | 
						
							
							
							
							
							
								
							
							
								3e519524c1
								
							
						 | 
						
							
							
								
								libcxx initial import
							
							
							
							
							
							
							
							llvm-svn: 103490 
							
						 | 
						
							2010-05-11 19:42:16 +00:00 |