bbb3a7f51c 
								
							 
						 
						
							
							
								
								Fix PR#20834 - 'is_trivially_destructible yeilds wrong answer for arrays of unknown bound' Thanks to K-ballo for the bug report. Update a few of the other tests while we're here, and fix a typo in a test name.  
							
							... 
							
							
							
							llvm-svn: 216909 
							
						 
						
							2014-09-02 16:19:38 +00:00  
				
					
						
							
							
								 
						
							
								7d1c2d8878 
								
							 
						 
						
							
							
								
								Mark test types for <atomic> nothrow default constructible. Patch from Steve MacKenzie.  
							
							... 
							
							
							
							The way the standard currently specifies the default constructor for atomic<T>
requires T to be nothrow default constructible. This patch makes our test types
meet this requirement.
Note: The nothrow default constructible requirment is subject to the outcome of
LWG issue 1265.
llvm-svn: 216561 
							
						 
						
							2014-08-27 17:00:11 +00:00  
				
					
						
							
							
								 
						
							
								0aacbc92df 
								
							 
						 
						
							
							
								
								Fix bug 20740 - std::set/std::map don't support heterogeneous lookup for count(). Thanks to Jim Porter for the bug report  
							
							... 
							
							
							
							llvm-svn: 216353 
							
						 
						
							2014-08-24 23:54:16 +00:00  
				
					
						
							
							
								 
						
							
								1f7bd5f24d 
								
							 
						 
						
							
							
								
								Fix assignments that should be comparisons x3  
							
							... 
							
							
							
							llvm-svn: 216318 
							
						 
						
							2014-08-23 07:55:29 +00:00  
				
					
						
							
							
								 
						
							
								67c94867ba 
								
							 
						 
						
							
							
								
								Add return statement to a test class's assignment operator. Defect found by Coverity Scan.  
							
							... 
							
							
							
							llvm-svn: 216317 
							
						 
						
							2014-08-23 06:36:11 +00:00  
				
					
						
							
							
								 
						
							
								916223b61f 
								
							 
						 
						
							
							
								
								[libcxx] Add --show-unsupported and --show-xfail to check-libcxx's default LIT args.  
							
							... 
							
							
							
							Summary:
In order to gather more information about testsuite results these flags should be added to LIT's default args.
These new switches were recently added to LIT. It been more than two weeks since both switches were added.
I think its time we add these to our LIT flags.
Reviewers: mclow.lists, danalbert
Reviewed By: danalbert
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D5037 
llvm-svn: 216315 
							
						 
						
							2014-08-23 04:33:20 +00:00  
				
					
						
							
							
								 
						
							
								561dfb57fc 
								
							 
						 
						
							
							
								
								Fix handling of format strings to work with python 2.6  
							
							... 
							
							
							
							llvm-svn: 216314 
							
						 
						
							2014-08-23 04:02:21 +00:00  
				
					
						
							
							
								 
						
							
								ae2526b4cd 
								
							 
						 
						
							
							
								
								Refactor lit.cfg.  
							
							... 
							
							
							
							The purely imperative format of the configuration performed in lit.cfg
was making merge conflicts with changes I have for Android an
unbelievable pain in the ass. I've moved all of the configuration into a
Configuration class, with each piece of configuration happening in a
different method. This way I can avoid merge conflicts, and any new
features that get added (as have been done with the sanitizers, the -std
flag, etc.) can be easily applied to Android as well.
Reviewers: mclow.lists, EricWF
Reviewed By: EricWF
Differential Revision: http://reviews.llvm.org/D4952 
llvm-svn: 216196 
							
						 
						
							2014-08-21 17:30:44 +00:00  
				
					
						
							
							
								 
						
							
								43e866a136 
								
							 
						 
						
							
							
								
								Mark some localization time tests as XFAIL on linux.  
							
							... 
							
							
							
							This marks some of the localization test XFAIL on linux.
There has been some discussion on D4861 about doing this.
Please let me know if any of these tests for you on linux.
llvm-svn: 216151 
							
						 
						
							2014-08-21 02:38:21 +00:00  
				
					
						
							
							
								 
						
							
								df5efb9a51 
								
							 
						 
						
							
							
								
								Mark some localization monetary tests as XFAIL on linux.  
							
							... 
							
							
							
							This marks some of the localization test XFAIL on linux.
There has been some discussion on D4861 about doing this.
Please let me know if any of these tests for you on linux.
llvm-svn: 216150 
							
						 
						
							2014-08-21 02:22:54 +00:00  
				
					
						
							
							
								 
						
							
								65b31a903b 
								
							 
						 
						
							
							
								
								Mark localization ctype tests as XFAIL on linux.  
							
							... 
							
							
							
							This marks some of the localization test XFAIL on linux.
There has been some discussion on D4861 about doing this.
Please let me know if any of these tests for you on linux.
llvm-svn: 216148 
							
						 
						
							2014-08-21 02:03:01 +00:00  
				
					
						
							
							
								 
						
							
								ab79a7a98b 
								
							 
						 
						
							
							
								
								fix missing include for ::close in platform_support.h  
							
							... 
							
							
							
							llvm-svn: 215998 
							
						 
						
							2014-08-19 17:52:40 +00:00  
				
					
						
							
							
								 
						
							
								ca39572270 
								
							 
						 
						
							
							
								
								Add extra test case for PR20345. Should have been commited with r215984  
							
							... 
							
							
							
							llvm-svn: 215985 
							
						 
						
							2014-08-19 16:33:05 +00:00  
				
					
						
							
							
								 
						
							
								0acf0d2701 
								
							 
						 
						
							
							
								
								Fix is_member_function_pointer does not account for ellipsis. PR20345. Patch from Agustin Berge.  
							
							... 
							
							
							
							I reviewed the patch and added the test cases.
llvm-svn: 215984 
							
						 
						
							2014-08-19 16:31:47 +00:00  
				
					
						
							
							
								 
						
							
								1542a60c0b 
								
							 
						 
						
							
							
								
								Give libcxx tests temporary filenames that are actually unique.  
							
							... 
							
							
							
							This fixes a race condition on temp file name creation.
http://reviews.llvm.org/D4962 
llvm-svn: 215977 
							
						 
						
							2014-08-19 13:56:56 +00:00  
				
					
						
							
							
								 
						
							
								59174710d5 
								
							 
						 
						
							
							
								
								Add standard version to lit.cfg's available features  
							
							... 
							
							
							
							llvm-svn: 215885 
							
						 
						
							2014-08-18 07:05:40 +00:00  
				
					
						
							
							
								 
						
							
								339bdc3be9 
								
							 
						 
						
							
							
								
								[libcxx] Add UNSUPPORTED tag to lit. It mirrors REQUIRES.  
							
							... 
							
							
							
							Summary:
This patch adds support for // UNSUPPORTED: feature. If an excluded feature is found in the list of available features then the test is marked unsupported.
I hope to use this to mark test unsupported if the fail with msan on asan. As well as tests that fail in particular standard modes.
Reviewers: mclow.lists, danalbert
Reviewed By: danalbert
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4950 
llvm-svn: 215883 
							
						 
						
							2014-08-18 06:43:06 +00:00  
				
					
						
							
							
								 
						
							
								3faba8d464 
								
							 
						 
						
							
							
								
								Mark cuchar tests as always xfail since we don't provide the header'  
							
							... 
							
							
							
							llvm-svn: 215873 
							
						 
						
							2014-08-18 05:09:51 +00:00  
				
					
						
							
							
								 
						
							
								0058c80cc7 
								
							 
						 
						
							
							
								
								[libcxx] Add support for LLVM_USE_SANITIZER to libcxx when being built standalone and in-tree  
							
							... 
							
							
							
							Summary:
This patch adds support for LLVM_USE_SANITIZER when being built in-tree and standalone. 
This patch does the following things:
1. define the LLVM_USE_SANITIZER option to "" when being built standalone. This also helps show we support it.
2. Translate LLVM_USE_SANITIZER when standalone in a very similar way done in llvm/cmake/HandleLLVMOptions.cmake.
3. Add config.llvm_use_sanitizer to lit.site.cfg.in
4. Add code to translate config.llvm_use_sanitizer's value into the needed compile flags in lit.cfg.
Currently lit.cfg assumes that that the compiler supports '-fno-omit-frame-pointer' while CMakeLists.txt actually checks to see if its supported. We could pass this information to lit but I'm not sure its needed. 
Reviewers: mclow.lists, danalbert
Reviewed By: danalbert
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4949 
llvm-svn: 215872 
							
						 
						
							2014-08-18 05:03:46 +00:00  
				
					
						
							
							
								 
						
							
								1b44db22c6 
								
							 
						 
						
							
							
								
								[libcxx] Update the way the -std= flag is chosen by CMake and LibcxxTestFormat  
							
							... 
							
							
							
							Summary:
This patch does two things:
CMake Update:
  - Add compiler flag checks for -std=c++11 and -std=c++1y and remove check for -std=c++0x.
  - Add configuration option LIBCXX_ENABLE_CXX1Y to prevent/allow -std=c++1y from being chosen as the std version. LIBCXX_ENABLE_CXX1Y is set to OFF by default.
  - if LIBCXX_ENABLE_CXX1Y is enabled then set LIBCXX_STD_VERSION to c++1y and fail if the compiler does not support -std=c++1y
  - If c++1y is not enabled then use c++11 and fail if the compiler does not support c++11.
Lit Update:
  - Update lit.site.cfg.in to capture LIBCXX_STD_VERSION information as config.std.
  - Remove mentions of has_cxx0X configuration option.
  - Check for `--param std=X' passed to lit on the command line.
  - Choose the std for the tests either from command line parameter or (if it doesn't exist) the lit.site.cfg.
Reviewers: mclow.lists, danalbert
Reviewed By: danalbert
Subscribers: emaste, rnk, ajwong, danalbert, cfe-commits
Differential Revision: http://reviews.llvm.org/D4329 
llvm-svn: 215802 
							
						 
						
							2014-08-16 01:35:36 +00:00  
				
					
						
							
							
								 
						
							
								983484fb11 
								
							 
						 
						
							
							
								
								Readding FreeBSD support to lit.cfg. Patch from Pawel Worach.  
							
							... 
							
							
							
							Pawel has been using this patch on his buildbots for a while. This should
allow the testsuite to run on FreeBSD with libcxxrt.
llvm-svn: 215787 
							
						 
						
							2014-08-15 23:24:00 +00:00  
				
					
						
							
							
								 
						
							
								f11170406e 
								
							 
						 
						
							
							
								
								Tame a few enum size tests when using -fshort-enums on ARM.  
							
							... 
							
							
							
							llvm-svn: 215769 
							
						 
						
							2014-08-15 21:34:52 +00:00  
				
					
						
							
							
								 
						
							
								db36dc23e4 
								
							 
						 
						
							
							
								
								Revert get testsuite running on FreeBSD.  
							
							... 
							
							
							
							There is a similar patch up for review. I'll submit my changes via that.
llvm-svn: 215750 
							
						 
						
							2014-08-15 18:49:28 +00:00  
				
					
						
							
							
								 
						
							
								1a0b735340 
								
							 
						 
						
							
							
								
								Get testsuite running on FreeBSD.  
							
							... 
							
							
							
							Add initial support for using LIT to run the tests on FreeBSD. 
More work may need to be done to add support for FreeBSD but this is a
good initial step.
llvm-svn: 215742 
							
						 
						
							2014-08-15 18:00:47 +00:00  
				
					
						
							
							
								 
						
							
								d237ac80f9 
								
							 
						 
						
							
							
								
								Fix incorrect locale requirements in tests  
							
							... 
							
							
							
							llvm-svn: 215694 
							
						 
						
							2014-08-15 05:02:05 +00:00  
				
					
						
							
							
								 
						
							
								e3981b8fac 
								
							 
						 
						
							
							
								
								Add bare_allocator archetype that implements the minimal possible allocator interface.  
							
							... 
							
							
							
							llvm-svn: 215691 
							
						 
						
							2014-08-15 04:15:41 +00:00  
				
					
						
							
							
								 
						
							
								90e0867742 
								
							 
						 
						
							
							
								
								Change two tests to be less dependant on locales.  
							
							... 
							
							
							
							This patch removes the use of the "%c" specifier for getting/setting times.
The semantics of this specifier differ between linux and Mac. I don't believe
the use of this specifier was important to the test.
The following tests now pass on linux.
test/input.output/iostream.format/ext.manip/get_time.pass.cpp
test/input.output/iostream.format/ext.manip/put_time.pass.cpp
llvm-svn: 215417 
							
						 
						
							2014-08-12 00:48:56 +00:00  
				
					
						
							
							
								 
						
							
								981a64c380 
								
							 
						 
						
							
							
								
								Add return statement to slice_array and mask_array assignment. Closes PR20614.  
							
							... 
							
							
							
							This patch just adds the required return statements to slice_array::operator=
and mask_array::operator=.
Tests were added to check that the return value is the same as the object assigned
to.
llvm-svn: 215414 
							
						 
						
							2014-08-12 00:06:58 +00:00  
				
					
						
							
							
								 
						
							
								399e99ae75 
								
							 
						 
						
							
							
								
								fix stdio.h test to reflect removal of ::gets in c++14  
							
							... 
							
							
							
							llvm-svn: 215329 
							
						 
						
							2014-08-10 22:39:11 +00:00  
				
					
						
							
							
								 
						
							
								c6dbc22b9b 
								
							 
						 
						
							
							
								
								Revert "Add some extra checks to the MoveOnly test class to ensure it is not constructed or assigned from in a moved-from state."  
							
							... 
							
							
							
							Premature commit due to misreading CR feedback.
This reverts commit r215301.
llvm-svn: 215302 
							
						 
						
							2014-08-09 22:42:19 +00:00  
				
					
						
							
							
								 
						
							
								f63d5fa236 
								
							 
						 
						
							
							
								
								Add some extra checks to the MoveOnly test class to ensure it is not constructed or assigned from in a moved-from state.  
							
							... 
							
							
							
							Some tests were constructing it with 0, so use -1 as the invalid state
instead.
Reviewers: Marshall Clow
Differential Revision: http://reviews.llvm.org/D4095 
llvm-svn: 215301 
							
						 
						
							2014-08-09 22:35:47 +00:00  
				
					
						
							
							
								 
						
							
								f5f5862a27 
								
							 
						 
						
							
							
								
								fix copy and pasted comment in test  
							
							... 
							
							
							
							llvm-svn: 215276 
							
						 
						
							2014-08-09 02:43:16 +00:00  
				
					
						
							
							
								 
						
							
								95b0d0f888 
								
							 
						 
						
							
							
								
								Mark math.h and cmath tests as xfail on linux.  
							
							... 
							
							
							
							These tests were marked as failing because the libc implementation does not
use the proper return type on certain math functions. There is other weirdness
that prevents us from defining our own version of these functions.
The failing tests in cmake were separated into their own files so that the rest
failures in the rest of the cmath tests were not hidden.
This was not done for the math.h test since we don't actually supply math.h
llvm-svn: 215275 
							
						 
						
							2014-08-09 02:39:03 +00:00  
				
					
						
							
							
								 
						
							
								99d2df956d 
								
							 
						 
						
							
							
								
								Apply a similar fix to <forward_list> as I did for <list> in r215210. Again, thanks to Ion Gaztañaga for noticing this problem w.r.t LWG#526  
							
							... 
							
							
							
							llvm-svn: 215213 
							
						 
						
							2014-08-08 15:58:00 +00:00  
				
					
						
							
							
								 
						
							
								ced70066c2 
								
							 
						 
						
							
							
								
								While reading LWG#526, Ion Gaztañaga noticed that libc++ didn't correctly handle list::remove(const value_type &x), if x was an element of the list. Added a test for this, and a fix. Thanks to Ion for the report.  
							
							... 
							
							
							
							llvm-svn: 215210 
							
						 
						
							2014-08-08 15:35:52 +00:00  
				
					
						
							
							
								 
						
							
								88d6dc962a 
								
							 
						 
						
							
							
								
								Fix re-building in-tree libc++ against in-tree libc++abi  
							
							... 
							
							
							
							Differential Revision: http://reviews.llvm.org/D4805 
llvm-svn: 215186 
							
						 
						
							2014-08-08 06:53:30 +00:00  
				
					
						
							
							
								 
						
							
								48e28e09bb 
								
							 
						 
						
							
							
								
								Fix typo.  
							
							... 
							
							
							
							llvm-svn: 214768 
							
						 
						
							2014-08-04 20:27:45 +00:00  
				
					
						
							
							
								 
						
							
								89872e99a5 
								
							 
						 
						
							
							
								
								Fix a problem with reference_wrapper in C++03 that was causing counting predicates to fail. Add a test to make sure it works. However, most of the reference_wrapper tests still fail in C++03 mode, due to a lack of decltype. No change there.  
							
							... 
							
							
							
							llvm-svn: 214760 
							
						 
						
							2014-08-04 19:20:17 +00:00  
				
					
						
							
							
								 
						
							
								a85b27f6f7 
								
							 
						 
						
							
							
								
								Add locales to available_features for tests.  
							
							... 
							
							
							
							Linux has a lot of failures caused by not having support for certain
locales. Since these come out as a lot of noise in the test results,
have lit.cfg detect the presence of the various locales used in the
tests and add them to config.available_features as locale.LOCALE_NAME.
This patch also adds REQUIRES: locale.REQUIRED_LOCALE to every test that
I saw failing in this manner. We probably need to add more for all the
tests requiring en_US.UTF-8, but we can do that on an as-needed basis.
One thing that concerns me is how many tests get skipped because of
missing locales (especially in regex/). We should make a point of
splitting up any tests that test default behavior _and_ behavior under a
given locale so that we aren't losing coverage for default behavior.
llvm-svn: 214753 
							
						 
						
							2014-08-04 18:44:48 +00:00  
				
					
						
							
							
								 
						
							
								90ba0533cd 
								
							 
						 
						
							
							
								
								Fix PR#202520 - predicate called too many times in list::remove_if. Add tests for list, forward_list, and the std::remove_if algorithm  
							
							... 
							
							
							
							llvm-svn: 214736 
							
						 
						
							2014-08-04 17:32:25 +00:00  
				
					
						
							
							
								 
						
							
								993dfb1eef 
								
							 
						 
						
							
							
								
								Change lit.cfg to allow whitespace before comments  
							
							... 
							
							
							
							llvm-svn: 214454 
							
						 
						
							2014-07-31 22:56:52 +00:00  
				
					
						
							
							
								 
						
							
								2628dbb214 
								
							 
						 
						
							
							
								
								Add test cases for creating atomic types for trivially copyable types.  
							
							... 
							
							
							
							llvm-svn: 214406 
							
						 
						
							2014-07-31 15:20:48 +00:00  
				
					
						
							
							
								 
						
							
								6a577a819f 
								
							 
						 
						
							
							
								
								Fix numeric_limits<XXX>::is_modulo for signed arithmetic types. We were reporting true, for all arithmetic types, which is incorrect. Fix the tests which were wrong, too. This fixes PR#20158.  
							
							... 
							
							
							
							llvm-svn: 214371 
							
						 
						
							2014-07-31 01:18:05 +00:00  
				
					
						
							
							
								 
						
							
								15c010a37e 
								
							 
						 
						
							
							
								
								Base regex code on char_class_type.  
							
							... 
							
							
							
							__get_classname() and __bracket_expression were assuming that
char_class_type was ctype_base::mask rather than using
regex_traits<_CharT>::char_class_type.
This change allows char_class_type to be defined to something other than
ctype_base::mask so that the implementation will still work for
platforms with an 8-bit ctype mask (such as Android and OpenBSD).
llvm-svn: 214201 
							
						 
						
							2014-07-29 19:23:39 +00:00  
				
					
						
							
							
								 
						
							
								aa873af53d 
								
							 
						 
						
							
							
								
								[libcxx] expose experimental::erased_type for all standard versions.  
							
							... 
							
							
							
							Summary: The polymorphic allocator implementation would greatly benefit by defining virtual functions in the dynlib instead of inline. In order to do that some types are going to have to be available outside of c++1y. This is the first step.
Reviewers: mclow.lists, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4554 
llvm-svn: 213889 
							
						 
						
							2014-07-24 19:17:38 +00:00  
				
					
						
							
							
								 
						
							
								567bb79bf2 
								
							 
						 
						
							
							
								
								D4451: Fix copy/move issues casude by __tuple_leafs's converting constructor  
							
							... 
							
							
							
							llvm-svn: 213888 
							
						 
						
							2014-07-24 18:48:34 +00:00  
				
					
						
							
							
								 
						
							
								d1854f9cb1 
								
							 
						 
						
							
							
								
								test commit  
							
							... 
							
							
							
							llvm-svn: 213887 
							
						 
						
							2014-07-24 18:41:56 +00:00  
				
					
						
							
							
								 
						
							
								8b51260274 
								
							 
						 
						
							
							
								
								Fix std::make_heap's worst case time complexity  
							
							... 
							
							
							
							std::make_heap is currently implemented by iteratively applying a
siftup-type algorithm.  Since sift-up is O(ln n), this gives
std::make_heap a worst case time complexity of O(n ln n).
The C++ standard mandates that std::make_heap make no more than O(3n)
comparisons, this makes our std::make_heap out of spec.
Fix this by introducing an implementation of __sift_down and switch
std::make_heap to create the heap using it.
This gives std::make_heap linear time complexity in the worst case.
This fixes PR20161.
llvm-svn: 213615 
							
						 
						
							2014-07-22 06:07:09 +00:00  
				
					
						
							
							
								 
						
							
								3dd8846840 
								
							 
						 
						
							
							
								
								Fix bug  #20335  - memory leak when move-constructing a string with unequal allocator. Thanks to Thomas Koeppe for the report  
							
							... 
							
							
							
							llvm-svn: 213269 
							
						 
						
							2014-07-17 15:32:20 +00:00  
				
					
						
							
							
								 
						
							
								531d8b2bc4 
								
							 
						 
						
							
							
								
								[libcxx] Add <experimental/utility> header for LFTS.  
							
							... 
							
							
							
							Summary:
This patch adds the `<experimental/utility>` header as specified in the latest draft of the library fundamentals TS.
`<experimental/utility>` only contains `class erased_type`. 
This patch also updates the documentation to list the `erased_type` class as "initial implementation complete".
Test Plan:
Three test cases where added:
1. Test that `_LIBCPP_VERSION` is defined.
2. Test that `<utility>` has been included.
3. Test that `erased_type` is in the correct namespace and is constexpr default constructible.
Reviewers: mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4510 
llvm-svn: 213226 
							
						 
						
							2014-07-17 05:31:31 +00:00  
				
					
						
							
							
								 
						
							
								68c89c2480 
								
							 
						 
						
							
							
								
								Test commit: Reverting whitespace changes  
							
							... 
							
							
							
							llvm-svn: 213223 
							
						 
						
							2014-07-17 05:10:03 +00:00  
				
					
						
							
							
								 
						
							
								712ac189cc 
								
							 
						 
						
							
							
								
								Test commit: whitespace change  
							
							... 
							
							
							
							llvm-svn: 213222 
							
						 
						
							2014-07-17 05:06:09 +00:00  
				
					
						
							
							
								 
						
							
								f52c88f015 
								
							 
						 
						
							
							
								
								Correctly implement LWG 2049; std::is_destructible.  
							
							... 
							
							
							
							llvm-svn: 213163 
							
						 
						
							2014-07-16 15:51:50 +00:00  
				
					
						
							
							
								 
						
							
								490349d262 
								
							 
						 
						
							
							
								
								Fix warning in test - missing exception specifier for overload of operator new  
							
							... 
							
							
							
							llvm-svn: 212723 
							
						 
						
							2014-07-10 15:19:50 +00:00  
				
					
						
							
							
								 
						
							
								79d4ffbc8f 
								
							 
						 
						
							
							
								
								Add a reset method to the counting predicates in the test suite  
							
							... 
							
							
							
							llvm-svn: 212651 
							
						 
						
							2014-07-09 21:04:22 +00:00  
				
					
						
							
							
								 
						
							
								926731b1e5 
								
							 
						 
						
							
							
								
								string_view enhancements. Move to the correct namespace. Better constexpr support (thanks to Richard for the suggestions). Update the tests to match this. Add <experimental/__config for experimental macros/etc to live.  
							
							... 
							
							
							
							llvm-svn: 212569 
							
						 
						
							2014-07-08 22:38:11 +00:00  
				
					
						
							
							
								 
						
							
								56cca89fc3 
								
							 
						 
						
							
							
								
								Fix some failing tests for the standard containers. The tests were failing in 32-bit mode because they assumed that std::size_type and make_unsigned<ptrdiff_t>::type were always the same type. No change to libc++, just the tests.  
							
							... 
							
							
							
							llvm-svn: 212538 
							
						 
						
							2014-07-08 15:19:40 +00:00  
				
					
						
							
							
								 
						
							
								35af19ab1f 
								
							 
						 
						
							
							
								
								Minor cleanup for string_view; mostly from suggestions by Richard Smith. Also, make the tests pass under c++03  
							
							... 
							
							
							
							llvm-svn: 212185 
							
						 
						
							2014-07-02 15:45:57 +00:00  
				
					
						
							
							
								 
						
							
								38cae6330b 
								
							 
						 
						
							
							
								
								Fix libc++ bug  #20039 : 'Constructing std::function from empty compatible std::function results in half-empty state' Thanks to Agustin Berge for the report, and for his and Eric Fiselier's work on a fix.  
							
							... 
							
							
							
							llvm-svn: 212070 
							
						 
						
							2014-06-30 21:27:51 +00:00  
				
					
						
							
							
								 
						
							
								3484495b3d 
								
							 
						 
						
							
							
								
								Add checking for the complexity guarantees in the standard  
							
							... 
							
							
							
							llvm-svn: 212017 
							
						 
						
							2014-06-30 05:04:20 +00:00  
				
					
						
							
							
								 
						
							
								5aa8fa250d 
								
							 
						 
						
							
							
								
								Implement string_view from the library fundamentals TS (n4023). Also works in C++11 and 03, with reduced functionality (mostly in the area of constexpr)  
							
							... 
							
							
							
							llvm-svn: 210659 
							
						 
						
							2014-06-11 16:44:55 +00:00  
				
					
						
							
							
								 
						
							
								d0817f526c 
								
							 
						 
						
							
							
								
								Mark assign to be constepr only in c++14; can't have constexpr fns that return void in C++11  
							
							... 
							
							
							
							llvm-svn: 210562 
							
						 
						
							2014-06-10 18:52:57 +00:00  
				
					
						
							
							
								 
						
							
								98763eb520 
								
							 
						 
						
							
							
								
								A bunch of the char.traits tests were using unicode literals. #ifdef those bits out on c++03, since it doesn't support u"" and U "" style strings.  
							
							... 
							
							
							
							llvm-svn: 210560 
							
						 
						
							2014-06-10 18:46:59 +00:00  
				
					
						
							
							
								 
						
							
								57e06dfb41 
								
							 
						 
						
							
							
								
								Testing infastructure: A template for char_traits where all the functions are constexpr, and a comparison predicate which counts how many times it's been called.  
							
							... 
							
							
							
							llvm-svn: 210381 
							
						 
						
							2014-06-06 22:33:40 +00:00  
				
					
						
							
							
								 
						
							
								58a0a70fb2 
								
							 
						 
						
							
							
								
								Handle partial nanosleeps in this_thread::sleep_for  
							
							... 
							
							
							
							Signals may result in nanosleep returning with only some of the
requested sleeping performed.
Utilize nanosleep's "time-remaining" out parameter to continue sleeping
when this occurs.
llvm-svn: 210210 
							
						 
						
							2014-06-04 19:43:20 +00:00  
				
					
						
							
							
								 
						
							
								7babe4f074 
								
							 
						 
						
							
							
								
								Make meta.trans.other/aligned_storage.pass.cpp pass on arm.  
							
							... 
							
							
							
							The maximum alignment on arm is 8, not 16 like on x86. Use alignof(max_align_t)
to make the test work in both cases.
llvm-svn: 210195 
							
						 
						
							2014-06-04 16:25:58 +00:00  
				
					
						
							
							
								 
						
							
								2dfdfdf45c 
								
							 
						 
						
							
							
								
								[libc++] Don't return uninitialized data from random_device::operator()  
							
							... 
							
							
							
							Make sure we appropriately retry calls to read if the return result is
less than what we asked for.
Additionally, check and handle IO errors: EINTR results in the read
operation getting restarted; other errors turn into exceptions.
llvm-svn: 210061 
							
						 
						
							2014-06-03 02:40:39 +00:00  
				
					
						
							
							
								 
						
							
								1e9592a9c7 
								
							 
						 
						
							
							
								
								[libc++] random_device fails if open returns zero  
							
							... 
							
							
							
							random_device::random_device(const string&) wrongly assumes that open
can only validly return a file descriptor greater than zero.
This results in random_device believing that it didn't successfully open
the device causing it to throw in it's constructor, this ends up leaking
a file descriptor.
The fix is simple, don't error on file descriptors which are zero.
llvm-svn: 210060 
							
						 
						
							2014-06-03 02:21:37 +00:00  
				
					
						
							
							
								 
						
							
								0797874f33 
								
							 
						 
						
							
							
								
								Remove unused code in a libc++ test.  
							
							... 
							
							
							
							Other tests in this directory use this type, so it's probably copypasta from
there.
(test_buf only forwards to the superclass in all tests where it's used though,
so I wonder if it can be replaced with just using filebuf / wfilebuf
everywhere?)
llvm-svn: 210019 
							
						 
						
							2014-06-02 12:00:08 +00:00  
				
					
						
							
							
								 
						
							
								ca14e2b132 
								
							 
						 
						
							
							
								
								Fix XFAIL condition from r208840  
							
							... 
							
							
							
							The XFAILs in r208840 were too general. They were meant to only apply
to testing when use_system_lib was set.
llvm-svn: 209972 
							
						 
						
							2014-05-31 07:59:03 +00:00  
				
					
						
							
							
								 
						
							
								ded9de5981 
								
							 
						 
						
							
							
								
								fix typo  
							
							... 
							
							
							
							llvm-svn: 209819 
							
						 
						
							2014-05-29 14:58:38 +00:00  
				
					
						
							
							
								 
						
							
								31234844ef 
								
							 
						 
						
							
							
								
								Linux: Correctly identify valid error codes  
							
							... 
							
							
							
							[syserr.errcat.objects]p4 specifies that
system_category().default_error_condition(ev) map to
error_condition(posv, generic_category()) if ev could map to a POSIX
errno.
Linux reserves up to and including 4095 for errno values, use this as a
bound.
This fixes syserr.errcat.objects/system_category.pass.cpp on Linux.
llvm-svn: 209795 
							
						 
						
							2014-05-29 05:02:22 +00:00  
				
					
						
							
							
								 
						
							
								2de60eb213 
								
							 
						 
						
							
							
								
								Fix a problem exposed by r208825, which caused bind (and other bits of libc++) to stop working. And tests  
							
							... 
							
							
							
							llvm-svn: 209785 
							
						 
						
							2014-05-29 01:10:28 +00:00  
				
					
						
							
							
								 
						
							
								af236d36fb 
								
							 
						 
						
							
							
								
								Fix bug 19840, where some tests were not testing what we wanted. Thanks to Eric for the bug report  
							
							... 
							
							
							
							llvm-svn: 209520 
							
						 
						
							2014-05-23 15:30:23 +00:00  
				
					
						
							
							
								 
						
							
								9393b5113b 
								
							 
						 
						
							
							
								
								Fix Bug 19678 - libc++ does not correctly handle the regex: '[^\0]*'  
							
							... 
							
							
							
							llvm-svn: 209307 
							
						 
						
							2014-05-21 16:29:50 +00:00  
				
					
						
							
							
								 
						
							
								ef0e8c391e 
								
							 
						 
						
							
							
								
								Fix bug 19740; round-tripping a pointer through a stream doesn't work  
							
							... 
							
							
							
							llvm-svn: 209305 
							
						 
						
							2014-05-21 16:02:20 +00:00  
				
					
						
							
							
								 
						
							
								281dfe85d3 
								
							 
						 
						
							
							
								
								Fix typo 'fourty' in tests  
							
							... 
							
							
							
							llvm-svn: 208870 
							
						 
						
							2014-05-15 11:33:29 +00:00  
				
					
						
							
							
								 
						
							
								f03763a44b 
								
							 
						 
						
							
							
								
								Fix typos  
							
							... 
							
							
							
							llvm-svn: 208869 
							
						 
						
							2014-05-15 11:27:39 +00:00  
				
					
						
							
							
								 
						
							
								e077269764 
								
							 
						 
						
							
							
								
								Work around ABI differences due to LWG 2056 in tests  
							
							... 
							
							
							
							When testing against the system library, there is a relatively minor
ABI breakage that the std::future_errc values have been changed to
avoid using zero. Update the tests that rely on the values being
consistent.
llvm-svn: 208840 
							
						 
						
							2014-05-15 01:57:42 +00:00  
				
					
						
							
							
								 
						
							
								1f393c3eaf 
								
							 
						 
						
							
							
								
								Remove XFAIL from a number of tests that aren't expected to fail  
							
							... 
							
							
							
							These tests haven't been failing on darwin11 or 12 since r189610 when
pr17027 was fixed, but they've been keeping the libc++ bot red by
XPASSing since then.
llvm-svn: 208831 
							
						 
						
							2014-05-15 00:55:44 +00:00  
				
					
						
							
							
								 
						
							
								5c520bd985 
								
							 
						 
						
							
							
								
								Add Address Sanitizer support to std::vector  
							
							... 
							
							
							
							llvm-svn: 208319 
							
						 
						
							2014-05-08 14:14:06 +00:00  
				
					
						
							
							
								 
						
							
								0fc6e981b0 
								
							 
						 
						
							
							
								
								Fix PR 19663. Some calls to find(vector<bool>) were returning iterators that were subtly invalid (didn't compare equal). Thanks to Erik Verbruggen for the report (and diagnosis)  
							
							... 
							
							
							
							llvm-svn: 208096 
							
						 
						
							2014-05-06 15:33:23 +00:00  
				
					
						
							
							
								 
						
							
								85d3e7a729 
								
							 
						 
						
							
							
								
								Fix bug  #18350 . Add tests for tuples of all the smart pointers (except auto_ptr)  
							
							... 
							
							
							
							llvm-svn: 207307 
							
						 
						
							2014-04-26 05:19:48 +00:00  
				
					
						
							
							
								 
						
							
								190cc60a2d 
								
							 
						 
						
							
							
								
								Added some tests for equal elements in min_element and max_element. Bug  #19547  was invalid, but we weren't testing that case  
							
							... 
							
							
							
							llvm-svn: 207232 
							
						 
						
							2014-04-25 15:50:54 +00:00  
				
					
						
							
							
								 
						
							
								7546a111a9 
								
							 
						 
						
							
							
								
								Default the copy and move constructors for __tuple_leaf. This fixes bugs 18853 and 19118. Add a test case for that.  
							
							... 
							
							
							
							llvm-svn: 206829 
							
						 
						
							2014-04-21 23:48:09 +00:00  
				
					
						
							
							
								 
						
							
								79a770ba45 
								
							 
						 
						
							
							
								
								Add more tests for std::ws as pointed out by bug  #19497  
							
							... 
							
							
							
							llvm-svn: 206770 
							
						 
						
							2014-04-21 18:12:09 +00:00  
				
					
						
							
							
								 
						
							
								5f7c2db2ce 
								
							 
						 
						
							
							
								
								Bug  #19473 . If you pass an allocator to std::function, we should use that allocator, not construct one from scratch. Add a test to make sure  
							
							... 
							
							
							
							llvm-svn: 206623 
							
						 
						
							2014-04-18 17:23:36 +00:00  
				
					
						
							
							
								 
						
							
								b040647672 
								
							 
						 
						
							
							
								
								Fixed a test that was attempting to use rvalue-references w/o checking to see if they were supported in the language. This resulted in a warning when testing using C++03.  
							
							... 
							
							
							
							llvm-svn: 206482 
							
						 
						
							2014-04-17 18:11:38 +00:00  
				
					
						
							
							
								 
						
							
								886c6a645f 
								
							 
						 
						
							
							
								
								Fix PR19819  
							
							... 
							
							
							
							llvm-svn: 205709 
							
						 
						
							2014-04-07 13:32:26 +00:00  
				
					
						
							
							
								 
						
							
								e180ecab2c 
								
							 
						 
						
							
							
								
								[libc++] Teach is_integral, is_[un]signed and make_[un]signed about __[u]int128_t  
							
							... 
							
							
							
							This commit also adds tests for std::numeric_limits<__[u]int128_t>.
Reviewed in http://llvm-reviews.chandlerc.com/D2917 
llvm-svn: 204849 
							
						 
						
							2014-03-26 19:45:52 +00:00  
				
					
						
							
							
								 
						
							
								28c391f68e 
								
							 
						 
						
							
							
								
								Add tests that should fail when lock() throws. THis is part of LWG issue  #2135 . No library changes here.  
							
							... 
							
							
							
							llvm-svn: 204777 
							
						 
						
							2014-03-26 02:11:47 +00:00  
				
					
						
							
							
								 
						
							
								4fdb070817 
								
							 
						 
						
							
							
								
								Add a test to make sure we're doing the right thing for throwing exceptions from deferred functions. This is LWG issue  #2186 . No change to the library needed.  
							
							... 
							
							
							
							llvm-svn: 204678 
							
						 
						
							2014-03-24 22:25:24 +00:00  
				
					
						
							
							
								 
						
							
								7ec93f9b1c 
								
							 
						 
						
							
							
								
								Implement N3891: A proposal to rename shared_mutex to shared_timed_mutex  
							
							... 
							
							
							
							This is as straightforward as it sounds, a renamed from shared_mutex to
shared_timed_mutex.
Note that libcxx .dylib and .so files built with c++14 support need to
be rebuilt.
llvm-svn: 204078 
							
						 
						
							2014-03-17 20:19:44 +00:00  
				
					
						
							
							
								 
						
							
								ef3d680093 
								
							 
						 
						
							
							
								
								Implement LWG 2360: 'reverse_iterator::operator*() is unimplementable'. Note that this is a (small) behavior change in the library. Reverse iterators whose base iterators' operator* return references to 'within themselves' have been sacrificed to the greater goal of avoiding data races.  
							
							... 
							
							
							
							llvm-svn: 203587 
							
						 
						
							2014-03-11 17:16:17 +00:00  
				
					
						
							
							
								 
						
							
								b708306128 
								
							 
						 
						
							
							
								
								Patch from Steve MacKenzie to make the libc++ tests play nicely with MSVC's STL. Add '#include <functional>' to four of the priority queue tests.  
							
							... 
							
							
							
							llvm-svn: 203584 
							
						 
						
							2014-03-11 16:22:53 +00:00  
				
					
						
							
							
								 
						
							
								b33d838bcf 
								
							 
						 
						
							
							
								
								Final bit for LWG  #2263 ; test different allocator pointer types. Note that libc++ already does the right thing here; I've just added tests to ensure that it stays this way.  
							
							... 
							
							
							
							llvm-svn: 203539 
							
						 
						
							2014-03-11 04:32:12 +00:00  
				
					
						
							
							
								 
						
							
								17af2f56ab 
								
							 
						 
						
							
							
								
								Add tests for LWG issue  #2356 . Stability of erasure in unordered associative containers. Libc++ already does this, but now we have tests for it.  
							
							... 
							
							
							
							llvm-svn: 203494 
							
						 
						
							2014-03-10 21:36:36 +00:00  
				
					
						
							
							
								 
						
							
								988a4e8d0e 
								
							 
						 
						
							
							
								
								More tests for LWG Issue  #2263 ; this time to the associative and unordered containers. Still no changes to libc++  
							
							... 
							
							
							
							llvm-svn: 203480 
							
						 
						
							2014-03-10 19:18:49 +00:00  
				
					
						
							
							
								 
						
							
								9f60718286 
								
							 
						 
						
							
							
								
								Added tests to the sequence containers for for LWG Issue  #2263 . Comparing iterators and allocator pointers with different const-character. No changes to libc++  
							
							... 
							
							
							
							llvm-svn: 203479 
							
						 
						
							2014-03-10 18:54:56 +00:00  
				
					
						
							
							
								 
						
							
								b162b17f05 
								
							 
						 
						
							
							
								
								Implement LWG  #2344 : quoted()'s interaction with padding is unclear. I think that anyone using quoted with padding is really confused, but it should work the way the rest of iostreams works.  
							
							... 
							
							
							
							llvm-svn: 203290 
							
						 
						
							2014-03-07 21:45:32 +00:00  
				
					
						
							
							
								 
						
							
								66b2226eb8 
								
							 
						 
						
							
							
								
								Fix a couple of -Wabsolute-value warnings in the libc++ tests  
							
							... 
							
							
							
							llvm-svn: 203126 
							
						 
						
							2014-03-06 16:27:17 +00:00  
				
					
						
							
							
								 
						
							
								8845dbd798 
								
							 
						 
						
							
							
								
								Do not derive __gnu_cxx::hash<T> from std::hash<T>.  
							
							... 
							
							
							
							Instead, define explicit specializations for the basic types listed in
the SGI documentation. This solves two problems:
 1) Helps avoid silent ODR violations caused by the absence of a
    user-supplied __gnu_cxx::hash specialization in cases where a std::hash
    specialization exists (e.g. for std::string).
 2) __gnu_cxx::hash semantics are slightly different to those of
    std::hash (for example, the former may dereference a pointer argument)
    so it is inappropriate for __gnu_cxx::hash to receive std::hash
    specializations by default.
Differential Revision: http://llvm-reviews.chandlerc.com/D2747 
llvm-svn: 203070 
							
						 
						
							2014-03-06 04:11:10 +00:00  
				
					
						
							
							
								 
						
							
								78a87e8a68 
								
							 
						 
						
							
							
								
								Implement LWG 2193. Default constructors for standard library containers are explicit. Note that libc++ already did this for string/deque/forward_list/list/vector and the unordered containers; implement it for set/multiset/map/multimap. Add tests for all the containers. Two drive-by fixes as well: add a missing explicit in <deque>, and remove a tab that snuck into a container test. This issue is also LLVM bug 15724, and resolves it.  
							
							... 
							
							
							
							llvm-svn: 202994 
							
						 
						
							2014-03-05 19:06:20 +00:00  
				
					
						
							
							
								 
						
							
								28eded3845 
								
							 
						 
						
							
							
								
								Mark is_final as a C++14 feature.  
							
							... 
							
							
							
							llvm-svn: 202991 
							
						 
						
							2014-03-05 17:58:48 +00:00  
				
					
						
							
							
								 
						
							
								f2c10e1340 
								
							 
						 
						
							
							
								
								Remove definition of std::fmaf from libc++. Fixes bug  #18910 . This function should come from the C standard library. As a drive-by fix, update the tests to remove a warning from -Wabsolute-value  
							
							... 
							
							
							
							llvm-svn: 202990 
							
						 
						
							2014-03-05 17:09:51 +00:00  
				
					
						
							
							
								 
						
							
								39bca1ea99 
								
							 
						 
						
							
							
								
								Implement LWG  #2212 : std::is_final. This requires compiler support, which modern versions of clang provide. Also mark LWG  #2230  as complete - no code changes needed.  
							
							... 
							
							
							
							llvm-svn: 202934 
							
						 
						
							2014-03-05 03:39:25 +00:00  
				
					
						
							
							
								 
						
							
								4703f76376 
								
							 
						 
						
							
							
								
								Update synposis in <memory> to show move semantics for weak_ptr; add tests for already existing move semantics. Mark LWG issues  #2315  (no changes needed), 2316 (move semantics for weak_ptr), 2252 (previous commit) and 2271 (previous commit) as complete.  
							
							... 
							
							
							
							llvm-svn: 202931 
							
						 
						
							2014-03-05 03:12:04 +00:00  
				
					
						
							
							
								 
						
							
								7f10fc480a 
								
							 
						 
						
							
							
								
								LWG Issue  #2271 : regex_traits::lookup_classname specification unclear. libc++ already does the right thing; just update the tests.  
							
							... 
							
							
							
							llvm-svn: 202904 
							
						 
						
							2014-03-04 22:44:34 +00:00  
				
					
						
							
							
								 
						
							
								d9e7cf3efd 
								
							 
						 
						
							
							
								
								LWG issue  #2252 : Add more tests for exception safety. No changes needed in the library  
							
							... 
							
							
							
							llvm-svn: 202885 
							
						 
						
							2014-03-04 20:31:21 +00:00  
				
					
						
							
							
								 
						
							
								53b88dad6f 
								
							 
						 
						
							
							
								
								Implement LWG  #2268 : Setting a default argument in the declaration of a member function assign of std::basic_string.  
							
							... 
							
							
							
							llvm-svn: 202876 
							
						 
						
							2014-03-04 19:17:19 +00:00  
				
					
						
							
							
								 
						
							
								99aadbdb7d 
								
							 
						 
						
							
							
								
								[libc++] Const qualify __gnu_cxx::hash_map<>::const_iterator::pointer type.  
							
							... 
							
							
							
							Differential Revision: http://llvm-reviews.chandlerc.com/D2811 
llvm-svn: 202749 
							
						 
						
							2014-03-03 19:50:01 +00:00  
				
					
						
							
							
								 
						
							
								f519be343b 
								
							 
						 
						
							
							
								
								Implement LWG 2324: Insert iterator constructors should use addressof(). Add two new container classes to the test suite that overload operator &, and add test cases to the insert/front_insert/back_insert iterator tests that use these containers.  
							
							... 
							
							
							
							llvm-svn: 202741 
							
						 
						
							2014-03-03 19:20:40 +00:00  
				
					
						
							
							
								 
						
							
								c451b43607 
								
							 
						 
						
							
							
								
								Remove a stray tab that snuck into a test. No functionality change  
							
							... 
							
							
							
							llvm-svn: 202739 
							
						 
						
							2014-03-03 19:16:40 +00:00  
				
					
						
							
							
								 
						
							
								05c8dad230 
								
							 
						 
						
							
							
								
								Implement LWG Paper n3887: Consistent Metafunction Aliases. This adds std::tuple_element_t<> as an alias for tuple_element<>::type. Clean up the synopsis for tuple_element in <utility> as well.  
							
							... 
							
							
							
							llvm-svn: 202673 
							
						 
						
							2014-03-03 06:18:11 +00:00  
				
					
						
							
							
								 
						
							
								6a640a18a4 
								
							 
						 
						
							
							
								
								Implement LWG Issue  #2285  - make_reverse_iterator. Also mark issues  #1450  and  #2205  as complete; they are just wording changes in the standard. Mark issues  #2359 ,  #2320  and  #2322  as complete - libc++ implements them already.  
							
							... 
							
							
							
							llvm-svn: 202671 
							
						 
						
							2014-03-03 01:24:04 +00:00  
				
					
						
							
							
								 
						
							
								4ab4534964 
								
							 
						 
						
							
							
								
								More LWG issues. Mark  #2182 ,  #2323  and  #2213  as complete. Add a test for  #2339 , and mark that as complete. No actual changes to the libc++ code; all of these were already in place.  
							
							... 
							
							
							
							llvm-svn: 202407 
							
						 
						
							2014-02-27 16:13:36 +00:00  
				
					
						
							
							
								 
						
							
								c204c130fa 
								
							 
						 
						
							
							
								
								LWG issue  #2188 : Reverse iterator does not fully support targets that overload operator&. Also mark  #2272  and  #2299   as complete; libc++ already implements them.  
							
							... 
							
							
							
							llvm-svn: 202339 
							
						 
						
							2014-02-27 02:11:50 +00:00  
				
					
						
							
							
								 
						
							
								16da324051 
								
							 
						 
						
							
							
								
								Implement LWG issue 2306: match_results::reference should be value_type&, not const value_type&. This is a general move by the LWG to have the reference type of read-only containers be a non-const reference; however, there are no methods that return a non-const reference to a match_result entry, so there's no worries about getting a non-const reference to a constant object.  
							
							... 
							
							
							
							llvm-svn: 202214 
							
						 
						
							2014-02-26 01:56:31 +00:00  
				
					
						
							
							
								 
						
							
								0d1560e10e 
								
							 
						 
						
							
							
								
								Implement LWG issue 2301: Mark std::tie as constexpr  
							
							... 
							
							
							
							llvm-svn: 202158 
							
						 
						
							2014-02-25 16:11:46 +00:00  
				
					
						
							
							
								 
						
							
								7d35711187 
								
							 
						 
						
							
							
								
								Implement LWG Issues  #2329  and  #2332  - disallow iterators into temporary regexes and regexes into temporary strings  
							
							... 
							
							
							
							llvm-svn: 201717 
							
						 
						
							2014-02-19 21:21:11 +00:00  
				
					
						
							
							
								 
						
							
								6c3f5ffbb8 
								
							 
						 
						
							
							
								
								Implement LWG Issue: 2280. begin/end for arrays should be constexpr and noexcept, plus a drive-by fix for cbegin/cend suggested by Peter Sommerlad.  
							
							... 
							
							
							
							llvm-svn: 201703 
							
						 
						
							2014-02-19 17:53:30 +00:00  
				
					
						
							
							
								 
						
							
								9d67c6d5fd 
								
							 
						 
						
							
							
								
								Implement LWG2350: min, max, and minmax should be constexpr.  
							
							... 
							
							
							
							llvm-svn: 201697 
							
						 
						
							2014-02-19 16:51:35 +00:00  
				
					
						
							
							
								 
						
							
								cdf2fae610 
								
							 
						 
						
							
							
								
								Add a test to make sure that vector supports incomplete types  
							
							... 
							
							
							
							llvm-svn: 201349 
							
						 
						
							2014-02-13 17:56:12 +00:00  
				
					
						
							
							
								 
						
							
								5bd869490b 
								
							 
						 
						
							
							
								
								Fix for PR17606 - result_of (and INVOKE) works incorrectly for member function pointers with ref qualifiers. Also a drive-by fix for common_type in C++03 mode. Thanks to Michel Morin for the bug report and the proposed fix.  
							
							... 
							
							
							
							llvm-svn: 201101 
							
						 
						
							2014-02-10 17:40:28 +00:00  
				
					
						
							
							
								 
						
							
								74cf6ff5e5 
								
							 
						 
						
							
							
								
								Fix for PR18735 - self-assignment for map/multimap gives incorrect results in C++03  
							
							... 
							
							
							
							llvm-svn: 201021 
							
						 
						
							2014-02-08 04:03:14 +00:00  
				
					
						
							
							
								 
						
							
								09df4a6675 
								
							 
						 
						
							
							
								
								Support forward_list<Incomplete Type>. Patch by Zhihao Yuan!  
							
							... 
							
							
							
							llvm-svn: 200814 
							
						 
						
							2014-02-05 01:44:17 +00:00  
				
					
						
							
							
								 
						
							
								7fe6441cc3 
								
							 
						 
						
							
							
								
								Albert Wong:  Fix thread.thread.id/lt.pass.cpp to not assume thread::id() produces a minimal value.  This enables this test to pass on andriod arm.  
							
							... 
							
							
							
							llvm-svn: 200793 
							
						 
						
							2014-02-04 19:51:48 +00:00  
				
					
						
							
							
								 
						
							
								0c8bb8f0f2 
								
							 
						 
						
							
							
								
								Fix numeric.limits.members/traps.pass.cpp to pass on non-x86 architectures. Fixes bug  #18468  
							
							... 
							
							
							
							llvm-svn: 200724 
							
						 
						
							2014-02-03 23:26:56 +00:00  
				
					
						
							
							
								 
						
							
								7584238232 
								
							 
						 
						
							
							
								
								lit.site.cfg:cxx_under_test should take precedence over 'which clang++'  
							
							... 
							
							
							
							(reviewed by Marshall Clow)
llvm-svn: 200364 
							
						 
						
							2014-01-29 01:54:52 +00:00  
				
					
						
							
							
								 
						
							
								30f1883eee 
								
							 
						 
						
							
							
								
								Removed extra line that I left in when committing 199694. Thanks to Jared Grubb for the catch.  
							
							... 
							
							
							
							llvm-svn: 200108 
							
						 
						
							2014-01-26 01:59:59 +00:00  
				
					
						
							
							
								 
						
							
								a5adf489b7 
								
							 
						 
						
							
							
								
								Const qualify __mem_fn call operator  
							
							... 
							
							
							
							QOI improvement.
Differential Revision: http://llvm-reviews.chandlerc.com/D2059 
llvm-svn: 199848 
							
						 
						
							2014-01-22 22:56:52 +00:00  
				
					
						
							
							
								 
						
							
								d724d60fff 
								
							 
						 
						
							
							
								
								Removed extra space; thanks to thakis_'s eagle eye  
							
							... 
							
							
							
							llvm-svn: 199695 
							
						 
						
							2014-01-21 00:03:44 +00:00  
				
					
						
							
							
								 
						
							
								683268b2d8 
								
							 
						 
						
							
							
								
								Fixed test failure in is_iec559.pass.cpp on darwin-ppc32. Thanks to David Fang for the report (and suggested fix)  
							
							... 
							
							
							
							llvm-svn: 199694 
							
						 
						
							2014-01-20 23:57:16 +00:00  
				
					
						
							
							
								 
						
							
								7132122196 
								
							 
						 
						
							
							
								
								Fix erroneous test; was failing on darwin-ppc32. Fixes PR18469.  
							
							... 
							
							
							
							llvm-svn: 199542 
							
						 
						
							2014-01-18 03:41:54 +00:00  
				
					
						
							
							
								 
						
							
								354d39cabc 
								
							 
						 
						
							
							
								
								Add license headers to a bunch of libc++ files that were missing them. No functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch.  
							
							... 
							
							
							
							llvm-svn: 199400 
							
						 
						
							2014-01-16 16:58:45 +00:00  
				
					
						
							
							
								 
						
							
								9f4be3fa4f 
								
							 
						 
						
							
							
								
								Apply patch for Albert Wong: 'Modify testit to allow filtering tests by prefixes'.  
							
							... 
							
							
							
							llvm-svn: 199318 
							
						 
						
							2014-01-15 16:28:42 +00:00  
				
					
						
							
							
								 
						
							
								b183f8594f 
								
							 
						 
						
							
							
								
								Whoops! Set the default in the last commit to c++1y instead of c++11  
							
							... 
							
							
							
							llvm-svn: 199224 
							
						 
						
							2014-01-14 17:04:06 +00:00  
				
					
						
							
							
								 
						
							
								4cdc6feb4f 
								
							 
						 
						
							
							
								
								Update lib/buildit and test/testit to both pay attention to an env flag CXX_LANG, which people can set to 'c++03', 'c++11' or 'c++1y' to build/test using that language variant. If you don't set this env variable, you get c++11, just like today. Drive-by fix; remove duplicate -nostdinc++.  
							
							... 
							
							
							
							llvm-svn: 199222 
							
						 
						
							2014-01-14 17:00:40 +00:00  
				
					
						
							
							
								 
						
							
								79b0fee3c6 
								
							 
						 
						
							
							
								
								Fix PR18404 - 'Bug in regex_token_iterator::operator++(int) implementation'. Enhance the tests for regex_token_iterator and regex_iterator.  
							
							... 
							
							
							
							llvm-svn: 198878 
							
						 
						
							2014-01-09 18:25:57 +00:00  
				
					
						
							
							
								 
						
							
								a429ba738c 
								
							 
						 
						
							
							
								
								Back out the <type_traits> changes from r198431; they were breaking when building with glibc. Need to find a better solution for PR18218.  
							
							... 
							
							
							
							llvm-svn: 198623 
							
						 
						
							2014-01-06 18:12:50 +00:00  
				
					
						
							
							
								 
						
							
								d41295da72 
								
							 
						 
						
							
							
								
								Patch by Howard. First part of fix for PR18218; add type traits needed to do the right thing. Fix the problems in PR18218 for isnan and pow - they also need to be applied to the other functions in <cmath>. Also, a drive-by fix for the test - now actually calls test_abs()  
							
							... 
							
							
							
							llvm-svn: 198431 
							
						 
						
							2014-01-03 18:21:14 +00:00  
				
					
						
							
							
								 
						
							
								ce81aed463 
								
							 
						 
						
							
							
								
								Make cv_status a class enum. Fixes PR18314. Thanks to Andersca for the report and the patch.  
							
							... 
							
							
							
							llvm-svn: 197921 
							
						 
						
							2013-12-23 22:14:27 +00:00  
				
					
						
							
							
								 
						
							
								c3deeb5f89 
								
							 
						 
						
							
							
								
								Found six (nmostly) identical files named 'test_allocator.h' in the libcxx test suite. Moved one to /support, made it a superset, and removed all but one of the others, and iupdated all the includes. Left the odd one (thread/futures/test_allocator.h) for later.  
							
							... 
							
							
							
							llvm-svn: 196174 
							
						 
						
							2013-12-03 00:18:10 +00:00  
				
					
						
							
							
								 
						
							
								e7d582a75c 
								
							 
						 
						
							
							
								
								Found two identical files named 'allocators.h' in the libcxx test suite. Moved one to /support, removed the other, and iupdated all the includes. No functionality change  
							
							... 
							
							
							
							llvm-svn: 196127 
							
						 
						
							2013-12-02 18:08:31 +00:00  
				
					
						
							
							
								 
						
							
								a26fcc7989 
								
							 
						 
						
							
							
								
								Found two identical files named 'DefaultOnly.h' in the libcxx test suite. Moved one to /support, removed the other, and iupdated all the includes. No functionality change  
							
							... 
							
							
							
							llvm-svn: 196118 
							
						 
						
							2013-12-02 17:00:56 +00:00  
				
					
						
							
							
								 
						
							
								3772a46ab4 
								
							 
						 
						
							
							
								
								Fix for PRPR17934; based on a fix suggested by Peter Sommerlad  
							
							... 
							
							
							
							llvm-svn: 196058 
							
						 
						
							2013-12-02 03:24:33 +00:00  
				
					
						
							
							
								 
						
							
								3973d59f9b 
								
							 
						 
						
							
							
								
								Remove executable permissions on a text file  
							
							... 
							
							
							
							llvm-svn: 196041 
							
						 
						
							2013-12-01 10:15:11 +00:00  
				
					
						
							
							
								 
						
							
								e34f6f6a12 
								
							 
						 
						
							
							
								
								There were two identical files named 'min_allocator.h'. Move one of them to /support and delete the other. Then adjust all the tests that used them to include the moved one. No functionality change.  
							
							... 
							
							
							
							llvm-svn: 195785 
							
						 
						
							2013-11-26 20:58:02 +00:00  
				
					
						
							
							
								 
						
							
								eed0bdee59 
								
							 
						 
						
							
							
								
								Fix a test that I broke over the weekend  
							
							... 
							
							
							
							llvm-svn: 195143 
							
						 
						
							2013-11-19 19:14:27 +00:00  
				
					
						
							
							
								 
						
							
								dfdac03c8f 
								
							 
						 
						
							
							
								
								Move <optional> into include/experimental, and into the std::experimental namespace, since it's not part of C++14, but of an upcoming TS  
							
							... 
							
							
							
							llvm-svn: 194867 
							
						 
						
							2013-11-15 22:42:10 +00:00  
				
					
						
							
							
								 
						
							
								513ecaba91 
								
							 
						 
						
							
							
								
								Fixed bug in quoted strings implementation. Added test to be sure. Thanks to Peter Sommerlad for the report (and suggested fix)  
							
							... 
							
							
							
							llvm-svn: 194725 
							
						 
						
							2013-11-14 20:01:38 +00:00  
				
					
						
							
							
								 
						
							
								21fee96f69 
								
							 
						 
						
							
							
								
								Move <dynarray> into include/experimental, and into the std::experimental namespace, since it's not part of C++14, but of an upcoming TS  
							
							... 
							
							
							
							llvm-svn: 194614 
							
						 
						
							2013-11-13 22:44:48 +00:00  
				
					
						
							
							
								 
						
							
								ccad8c32e0 
								
							 
						 
						
							
							
								
								This fixes a very subtle ABI problem concerning the copy constructor of  
							
							... 
							
							
							
							pair, and a couple of pair-like implementation detail types.  The
C++98/03 and 11 standards all specify that the copy constructor of
pair<int, int> is trivial. However as libc++ tracked the draft C++11
standard over the years, this copy constructor became non-trivial, and
then just recently was corrected back to trivial for C++11.
Unfortunately (for libc++1) the Itanium ABI specifies different calling
conventions for trivial and non-trivial copy constructors.  Therefore
currently the C++03 libc++ copy constructor for pair<int, int> is ABI
incompatible with the C++11 libc++ copy constructor for pair<int, int>.
This is Bad(tm).   This patch corrects the situation by making this copy
constructor trivial in C++03 mode as well.
Just in case it is needed for an incomplete C++11 compiler, libc++
retains the ability to support pair with rvalue references, but without
defaulted special members.  However the pair needs non-trivial special
members to implement this special case, (as it did when clang was in
this place a couple of years ago).
During this work a bug was also found and fixed in
is_trivially_constructible.
And there is a minor drive-by fix in <__config> regarding
__type_visibility__.
A test is updated to ensure that the copy constructor of pair<int, int>
is trivial in both C++03 and C++11.  This test will necessarily fail for
a compiler that implements rvalue references but not defaulted special
members.
llvm-svn: 194536 
							
						 
						
							2013-11-13 00:39:22 +00:00  
				
					
						
							
							
								 
						
							
								e427322327 
								
							 
						 
						
							
							
								
								Fix an off-by-one error in basic_string::__grow_by, where it would incorrectly throw length_error (instead of bad_alloc) when attempting to resize the string to 'max_size()'. Add tests for resizing to max_size +/-1  
							
							... 
							
							
							
							llvm-svn: 194151 
							
						 
						
							2013-11-06 14:24:38 +00:00  
				
					
						
							
							
								 
						
							
								e1bedf4e93 
								
							 
						 
						
							
							
								
								LWG issue 2341; Make the two variants of basic_ostream::seekp and basic_istream::seekg behave consistently; update tests to make sure  
							
							... 
							
							
							
							llvm-svn: 193814 
							
						 
						
							2013-10-31 22:20:45 +00:00  
				
					
						
							
							
								 
						
							
								f5fa53882f 
								
							 
						 
						
							
							
								
								Fixes PR17148  
							
							... 
							
							
							
							llvm-svn: 193772 
							
						 
						
							2013-10-31 17:23:08 +00:00  
				
					
						
							
							
								 
						
							
								1483143e7a 
								
							 
						 
						
							
							
								
								Avoid using the name 'bzero' for an enumerator in global scope. <strings.h> might declare this as a function.  
							
							... 
							
							
							
							llvm-svn: 193066 
							
						 
						
							2013-10-21 04:59:37 +00:00  
				
					
						
							
							
								 
						
							
								58af7e177c 
								
							 
						 
						
							
							
								
								r192075 broke the buildbot at  
							
							... 
							
							
							
							http://lab.llvm.org:8013/builders/libcxx_clang-x86_64-darwin11-RA 
lit.py: <string>:230: note: inferred use_system_lib as: False
lit.py: <string>:247: fatal: C++ ABI setting None unsupported for tests
cxx_abi is geting set to None, and the lit script errors out shortly after
that.  This patch changes the default of cxx_abi from None to 'libcxxabi'.
This is likely not the right way to fix this problem.  However it gets the
buildbot running again.  Improvements to this fix are welcome.
llvm-svn: 192609 
						
							2013-10-14 18:02:02 +00:00  
				
					
						
							
							
								 
						
							
								d58daf9433 
								
							 
						 
						
							
							
								
								LWG Issue 2097: packaged_task constructors should be constrained  
							
							... 
							
							
							
							llvm-svn: 192544 
							
						 
						
							2013-10-12 22:49:17 +00:00  
				
					
						
							
							
								 
						
							
								8de32cb3dc 
								
							 
						 
						
							
							
								
								Implement national body comment GB9: remove std::gets  
							
							... 
							
							
							
							llvm-svn: 192538 
							
						 
						
							2013-10-12 19:09:47 +00:00  
				
					
						
							
							
								 
						
							
								db78c7049e 
								
							 
						 
						
							
							
								
								Fix LWG Issue 2141: common_type trait produces reference types  
							
							... 
							
							
							
							llvm-svn: 192142 
							
						 
						
							2013-10-07 23:43:33 +00:00  
				
					
						
							
							
								 
						
							
								4f44079a2c 
								
							 
						 
						
							
							
								
								Apparently, I don't know the difference between 'left' and 'right'. Swap parameters named 'lhs' and 'rhs' so that they correctly refer to the 'left hand side' and 'right hand side' of comparisons. No functionality change. Thanks to Arthur O'Dwyer for pointing this out to me.  
							
							... 
							
							
							
							llvm-svn: 192080 
							
						 
						
							2013-10-07 02:37:18 +00:00  
				
					
						
							
							
								 
						
							
								26dd09e57f 
								
							 
						 
						
							
							
								
								Make it possible to link against libstdc++ as well as libsupc++ with CMake.  
							
							... 
							
							
							
							Linking against libstdc++, rather than libsupc++, is probably better
for people who need to link against clients of libstdc++.  Because
libsupc++ is provided only as a static library, its globals are not
shared between the static library and the copy linked into libstdc++.
This has been found to cause at least one test failure.
This also removes a number of symbols which were multiply defined
between libstdc++ and libc++, only when linking with libstdc++.
Differential Revision: http://llvm-reviews.chandlerc.com/D1825 
llvm-svn: 192075 
							
						 
						
							2013-10-06 22:13:19 +00:00  
				
					
						
							
							
								 
						
							
								6d48bdd2a8 
								
							 
						 
						
							
							
								
								G M: 1. It changes the temp file handling to use the template and the current directory for windows, matching how it works on other platforms.  
							
							... 
							
							
							
							2. It re-enables the temp file handling for mingw that regressed.
llvm-svn: 192073 
							
						 
						
							2013-10-06 21:14:05 +00:00  
				
					
						
							
							
								 
						
							
								d2f095e5ba 
								
							 
						 
						
							
							
								
								Add tests making sure that optional<T>s can be compared at compile time; this functionality was enabled by N3789  
							
							... 
							
							
							
							llvm-svn: 192051 
							
						 
						
							2013-10-05 23:29:16 +00:00  
				
					
						
							
							
								 
						
							
								dbd2ebb07e 
								
							 
						 
						
							
							
								
								LWG Issue 2247: Implement type trait 'is_null_pointer'  
							
							... 
							
							
							
							llvm-svn: 192049 
							
						 
						
							2013-10-05 21:21:17 +00:00  
				
					
						
							
							
								 
						
							
								ea7c7cc521 
								
							 
						 
						
							
							
								
								Implement literal suffixes for compled  
							
							... 
							
							
							
							llvm-svn: 192048 
							
						 
						
							2013-10-05 21:19:49 +00:00  
				
					
						
							
							
								 
						
							
								3ceafc7f01 
								
							 
						 
						
							
							
								
								Mark namespaces for user defined literals as 'inline'  
							
							... 
							
							
							
							llvm-svn: 192047 
							
						 
						
							2013-10-05 21:18:32 +00:00  
				
					
						
							
							
								 
						
							
								de9320aa2b 
								
							 
						 
						
							
							
								
								Implement LWG issue 2275 'forward_as_tuple should be constexpr'  
							
							... 
							
							
							
							llvm-svn: 192038 
							
						 
						
							2013-10-05 18:46:37 +00:00  
				
					
						
							
							
								 
						
							
								4806fcd697 
								
							 
						 
						
							
							
								
								Make it possible to run the test suite when built as part of LLVM.  
							
							... 
							
							
							
							llvm-svn: 191930 
							
						 
						
							2013-10-03 21:58:25 +00:00  
				
					
						
							
							
								 
						
							
								45b983c4d0 
								
							 
						 
						
							
							
								
								Part 8 of LWG Issue 2210' unordered_set and unordered multiset; this got missed when I went on vacation  
							
							... 
							
							
							
							llvm-svn: 191705 
							
						 
						
							2013-09-30 21:33:51 +00:00  
				
					
						
							
							
								 
						
							
								9fd9f84f48 
								
							 
						 
						
							
							
								
								SCARY/N2913 iterator support between the multi and non-multi versions of the associative and unordered containers.  I beleive lack of support for this was accidentally recently introduced (by me) and this is fixing a regression.  This time tests are put in to prevent such a regression in the future.  
							
							... 
							
							
							
							llvm-svn: 191692 
							
						 
						
							2013-09-30 19:08:22 +00:00  
				
					
						
							
							
								 
						
							
								3d5134dd52 
								
							 
						 
						
							
							
								
								Implement n3789; constexpr support in named function objects  
							
							... 
							
							
							
							llvm-svn: 191626 
							
						 
						
							2013-09-28 19:06:12 +00:00  
				
					
						
							
							
								 
						
							
								7a828034c6 
								
							 
						 
						
							
							
								
								Peter Collingbourne: If a pointer is passed as the third argument of the (iterator,  
							
							... 
							
							
							
							iterator, allocator) constructor with the intention of it being
implicitly converted to the allocator type, it is possible for overload
resolution to favour the (iterator, iterator, enable_if) constructor.
Eliminate this possibility by moving the enable_if to one of the
existing arguments and removing the third argument.
llvm-svn: 191145 
							
						 
						
							2013-09-21 21:13:54 +00:00  
				
					
						
							
							
								 
						
							
								ead6f1699d 
								
							 
						 
						
							
							
								
								N3659: Shared locking in C++  Revision 2, c++1y only  
							
							... 
							
							
							
							llvm-svn: 191127 
							
						 
						
							2013-09-21 01:49:28 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								a369cb6280 
								
							 
						 
						
							
							
								
								LWG Issue 2210 (Part  #7 ): vector and vector<bool>  
							
							... 
							
							
							
							llvm-svn: 190736 
							
						 
						
							2013-09-14 00:47:59 +00:00  
				
					
						
							
							
								 
						
							
								ef6f1151b0 
								
							 
						 
						
							
							
								
								Initial implementation of <dynarray>. No allocator support pending resolution of LWG  #2235 ; no stack allocation pending compiler support  
							
							... 
							
							
							
							llvm-svn: 190697 
							
						 
						
							2013-09-13 15:22:55 +00:00  
				
					
						
							
							
								 
						
							
								b387ea89a6 
								
							 
						 
						
							
							
								
								Test for 'bad_array_length'; got left out of initial commit  
							
							... 
							
							
							
							llvm-svn: 190614 
							
						 
						
							2013-09-12 17:01:38 +00:00  
				
					
						
							
							
								 
						
							
								3cd37e6456 
								
							 
						 
						
							
							
								
								LWG Issue 2210 (Part  #6 ): unordered_map and unordered_multimap  
							
							... 
							
							
							
							llvm-svn: 190576 
							
						 
						
							2013-09-12 03:00:31 +00:00  
				
					
						
							
							
								 
						
							
								872ac4b5f0 
								
							 
						 
						
							
							
								
								A collection of minor type-o fixes.  The first two aren't testable, but all tests pass with them.  I stumbled across them while experimenting with a std::move that checks its argument for non-const.  The third corrects a test that is currently failing.  
							
							... 
							
							
							
							llvm-svn: 190563 
							
						 
						
							2013-09-12 00:10:44 +00:00  
				
					
						
							
							
								 
						
							
								fbc317d480 
								
							 
						 
						
							
							
								
								LWG Issue  #2210  Part 5 - map/multimap; no, really - the last one was set/multiset. THIS is map/multimap  
							
							... 
							
							
							
							llvm-svn: 190474 
							
						 
						
							2013-09-11 01:15:47 +00:00  
				
					
						
							
							
								 
						
							
								0a55d17bcd 
								
							 
						 
						
							
							
								
								LWG Issue  #2210  Part 4 - map/multimap  
							
							... 
							
							
							
							llvm-svn: 190454 
							
						 
						
							2013-09-11 00:06:45 +00:00  
				
					
						
							
							
								 
						
							
								cdd01917ff 
								
							 
						 
						
							
							
								
								Remove a tab that snuck in  
							
							... 
							
							
							
							llvm-svn: 190283 
							
						 
						
							2013-09-08 21:13:57 +00:00  
				
					
						
							
							
								 
						
							
								224ccb38d3 
								
							 
						 
						
							
							
								
								Fix minor type-o in tests.  
							
							... 
							
							
							
							llvm-svn: 190280 
							
						 
						
							2013-09-08 19:28:51 +00:00  
				
					
						
							
							
								 
						
							
								fb8297668f 
								
							 
						 
						
							
							
								
								LWG Issue 2210 (Part  #2  &  #3 ): list and forward_list  
							
							... 
							
							
							
							llvm-svn: 190279 
							
						 
						
							2013-09-08 19:11:51 +00:00  
				
					
						
							
							
								 
						
							
								630c5e535c 
								
							 
						 
						
							
							
								
								LWG Issue 2210 (Part  #1 ): deque  
							
							... 
							
							
							
							llvm-svn: 190251 
							
						 
						
							2013-09-07 16:16:19 +00:00  
				
					
						
							
							
								 
						
							
								ef44edfde4 
								
							 
						 
						
							
							
								
								N3545: Quoted strings  
							
							... 
							
							
							
							llvm-svn: 190032 
							
						 
						
							2013-09-05 04:48:45 +00:00  
				
					
						
							
							
								 
						
							
								5155a569d1 
								
							 
						 
						
							
							
								
								LWG Issue 2148: Hashing Enums  
							
							... 
							
							
							
							llvm-svn: 189831 
							
						 
						
							2013-09-03 17:55:32 +00:00  
				
					
						
							
							
								 
						
							
								cb2e838ed0 
								
							 
						 
						
							
							
								
								Eradicate tabs  
							
							... 
							
							
							
							llvm-svn: 189808 
							
						 
						
							2013-09-03 14:14:27 +00:00  
				
					
						
							
							
								 
						
							
								e7d746d8b9 
								
							 
						 
						
							
							
								
								Implement N3672, optional<T>.  
							
							... 
							
							
							
							llvm-svn: 189772 
							
						 
						
							2013-09-02 20:30:37 +00:00  
				
					
						
							
							
								 
						
							
								dda6f242fb 
								
							 
						 
						
							
							
								
								Forgot to svn add the test for r189722.  
							
							... 
							
							
							
							llvm-svn: 189723 
							
						 
						
							2013-08-31 17:03:02 +00:00  
				
					
						
							
							
								 
						
							
								69bc206547 
								
							 
						 
						
							
							
								
								SFINAE out duration converting constructor if the constructor would otherwise cause a ratio compile-time overflow.  This fixes LWG 2094.  
							
							... 
							
							
							
							llvm-svn: 189722 
							
						 
						
							2013-08-31 16:51:56 +00:00  
				
					
						
							
							
								 
						
							
								b6b3e50bf3 
								
							 
						 
						
							
							
								
								[tests] Change with_system_lib feature to match what XFAIL lines expect.  
							
							... 
							
							
							
							- The lit builtin XFAIL handling is more restrictive than what we were
   previously using, and for now I'd rather keep the lit one restrictive.
llvm-svn: 189692 
							
						 
						
							2013-08-30 19:52:12 +00:00  
				
					
						
							
							
								 
						
							
								525dc284b4 
								
							 
						 
						
							
							
								
								is_destructible for function types was mistakenly returning true instead of false.  This is true in both C++11 and C++1y, but has been clarified by the post C++11 LWG issue 2049.  
							
							... 
							
							
							
							llvm-svn: 189687 
							
						 
						
							2013-08-30 19:12:42 +00:00  
				
					
						
							
							
								 
						
							
								1e548c72e7 
								
							 
						 
						
							
							
								
								LWG Issue 2128: Implement global cbegin/rbegin/cend/rbegin  
							
							... 
							
							
							
							llvm-svn: 189634 
							
						 
						
							2013-08-30 01:17:07 +00:00  
				
					
						
							
							
								 
						
							
								06fbed03fc 
								
							 
						 
						
							
							
								
								LWG Issue 2162: mark allocator_traits::maxsize as noexcept  
							
							... 
							
							
							
							llvm-svn: 189399 
							
						 
						
							2013-08-27 20:22:15 +00:00  
				
					
						
							
							
								 
						
							
								7988106b21 
								
							 
						 
						
							
							
								
								LWG issues 2174/5/6 - mark wstring_convert::converted as noexcept, and make (some of) the constructors for wstring_convert and wbuffer_convert as explicit. Add configuration macro _LIBCPP_EXPLICIT_AFTER_CXX11  
							
							... 
							
							
							
							llvm-svn: 189398 
							
						 
						
							2013-08-27 20:18:59 +00:00  
				
					
						
							
							
								 
						
							
								54c83368a5 
								
							 
						 
						
							
							
								
								Implement LWG issue 2061  
							
							... 
							
							
							
							llvm-svn: 189345 
							
						 
						
							2013-08-27 13:03:03 +00:00  
				
					
						
							
							
								 
						
							
								93288117a5 
								
							 
						 
						
							
							
								
								Apply constexpr to initializer_list for c++1y.  
							
							... 
							
							
							
							llvm-svn: 189271 
							
						 
						
							2013-08-26 20:11:32 +00:00  
				
					
						
							
							
								 
						
							
								145afa17ca 
								
							 
						 
						
							
							
								
								Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.  
							
							... 
							
							
							
							llvm-svn: 189140 
							
						 
						
							2013-08-23 20:10:18 +00:00  
				
					
						
							
							
								 
						
							
								fc88dbd298 
								
							 
						 
						
							
							
								
								Debug mode for string.  This commit also marks the first time libc++ debug-mode has found a bug (found one in regex).  Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib.  
							
							... 
							
							
							
							llvm-svn: 189114 
							
						 
						
							2013-08-23 17:37:05 +00:00  
				
					
						
							
							
								 
						
							
								427ae44637 
								
							 
						 
						
							
							
								
								XFAIL a few tests on darwin12  
							
							... 
							
							
							
							llvm-svn: 189043 
							
						 
						
							2013-08-22 18:47:39 +00:00  
				
					
						
							
							
								 
						
							
								9ff3203fcc 
								
							 
						 
						
							
							
								
								Zhihao Yuan noted that a move assignment operation was missing from std::adjacent_difference.  Fixed.  
							
							... 
							
							
							
							llvm-svn: 189036 
							
						 
						
							2013-08-22 18:02:34 +00:00  
				
					
						
							
							
								 
						
							
								d8bf850359 
								
							 
						 
						
							
							
								
								David Blaikie suggested this test for detecting constexpr on the error_category default constructor.  Additionally I decided to make this constructor trivial as well, as I could not come up with a rationale for not doing so.  Fully tested with both current Apple clang and tip-of-trunk clang.  
							
							... 
							
							
							
							llvm-svn: 189034 
							
						 
						
							2013-08-22 17:41:48 +00:00  
				
					
						
							
							
								 
						
							
								56c917c57f 
								
							 
						 
						
							
							
								
								XFAIL 3 tests on darwin 11-12.  The tests have recently been modified, are correct, and pass with an updated libc++.dylib  
							
							... 
							
							
							
							llvm-svn: 188964 
							
						 
						
							2013-08-22 00:04:22 +00:00  
				
					
						
							
							
								 
						
							
								019c5905df 
								
							 
						 
						
							
							
								
								[tests] Update to use lit's now-integrated XFAIL handling.  
							
							... 
							
							
							
							llvm-svn: 188960 
							
						 
						
							2013-08-21 23:06:32 +00:00  
				
					
						
							
							
								 
						
							
								2d6e2834a8 
								
							 
						 
						
							
							
								
								Implement LWG Issue  #2187  (emplace_back and emplace for vector<bool>)  
							
							... 
							
							
							
							llvm-svn: 188333 
							
						 
						
							2013-08-13 23:54:12 +00:00  
				
					
						
							
							
								 
						
							
								e4fa0dee48 
								
							 
						 
						
							
							
								
								Eradicate tabs  
							
							... 
							
							
							
							llvm-svn: 188322 
							
						 
						
							2013-08-13 22:22:40 +00:00  
				
					
						
							
							
								 
						
							
								2585835c3b 
								
							 
						 
						
							
							
								
								Second half (map/multimap) of N3657  
							
							... 
							
							
							
							llvm-svn: 188320 
							
						 
						
							2013-08-13 22:18:47 +00:00  
				
					
						
							
							
								 
						
							
								914993df0b 
								
							 
						 
						
							
							
								
								Added more tests for numeric conversion error handing; Refs LWG issue 2009  
							
							... 
							
							
							
							llvm-svn: 188282 
							
						 
						
							2013-08-13 15:52:51 +00:00  
				
					
						
							
							
								 
						
							
								75f9aa9993 
								
							 
						 
						
							
							
								
								More support for N3657; tests for is_transparent  
							
							... 
							
							
							
							llvm-svn: 188242 
							
						 
						
							2013-08-13 01:12:41 +00:00  
				
					
						
							
							
								 
						
							
								25d3402c6a 
								
							 
						 
						
							
							
								
								First half of support for N3657; heterogenous lookups for set/multiset  
							
							... 
							
							
							
							llvm-svn: 188241 
							
						 
						
							2013-08-13 01:11:06 +00:00  
				
					
						
							
							
								 
						
							
								6afbc442d6 
								
							 
						 
						
							
							
								
								Add a check for arrays of unknown bounds to is_destructible.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16839  
							
							... 
							
							
							
							llvm-svn: 188080 
							
						 
						
							2013-08-09 16:53:45 +00:00  
				
					
						
							
							
								 
						
							
								4a38129468 
								
							 
						 
						
							
							
								
								[tests] Update to use lit_config and lit package, as appropriate.  
							
							... 
							
							
							
							llvm-svn: 188073 
							
						 
						
							2013-08-09 14:44:11 +00:00  
				
					
						
							
							
								 
						
							
								2472b928d2 
								
							 
						 
						
							
							
								
								N3644 tests for map/multimap/set/multiset. Drive-by NOEXCEPT for __tree_const_iterator constructor. Fix comment typos in other tests  
							
							... 
							
							
							
							llvm-svn: 188019 
							
						 
						
							2013-08-08 21:52:50 +00:00  
				
					
						
							
							
								 
						
							
								2c1a894061 
								
							 
						 
						
							
							
								
								N3644 support for <unordered_set> and <unordered_map>  
							
							... 
							
							
							
							llvm-svn: 187915 
							
						 
						
							2013-08-07 21:30:44 +00:00  
				
					
						
							
							
								 
						
							
								798061ded6 
								
							 
						 
						
							
							
								
								N3644 support for vector<bool>  
							
							... 
							
							
							
							llvm-svn: 187910 
							
						 
						
							2013-08-07 20:53:38 +00:00  
				
					
						
							
							
								 
						
							
								07186a7d2d 
								
							 
						 
						
							
							
								
								N3644 support for <string> and <vector>  
							
							... 
							
							
							
							llvm-svn: 187909 
							
						 
						
							2013-08-07 20:48:48 +00:00  
				
					
						
							
							
								 
						
							
								303e27d8ce 
								
							 
						 
						
							
							
								
								Correct logic bug in find optimization for vector<bool>.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16816  
							
							... 
							
							
							
							llvm-svn: 187908 
							
						 
						
							2013-08-07 20:42:16 +00:00  
				
					
						
							
							
								 
						
							
								d098713aaf 
								
							 
						 
						
							
							
								
								War on tabs  
							
							... 
							
							
							
							llvm-svn: 187906 
							
						 
						
							2013-08-07 19:39:48 +00:00  
				
					
						
							
							
								 
						
							
								c5582b57c6 
								
							 
						 
						
							
							
								
								Rename time.duration.literals step 3  
							
							... 
							
							
							
							llvm-svn: 187905 
							
						 
						
							2013-08-07 19:39:11 +00:00  
				
					
						
							
							
								 
						
							
								35e09c7ad7 
								
							 
						 
						
							
							
								
								Rename time.duration.literals step 2  
							
							... 
							
							
							
							llvm-svn: 187904 
							
						 
						
							2013-08-07 19:36:50 +00:00  
				
					
						
							
							
								 
						
							
								453ca75d24 
								
							 
						 
						
							
							
								
								Rename time.duration.literals step 1  
							
							... 
							
							
							
							llvm-svn: 187903 
							
						 
						
							2013-08-07 19:35:46 +00:00  
				
					
						
							
							
								 
						
							
								e141dc0490 
								
							 
						 
						
							
							
								
								Implement tests for NULL iterators for <array> re: N3644  
							
							... 
							
							
							
							llvm-svn: 187809 
							
						 
						
							2013-08-06 17:17:13 +00:00  
				
					
						
							
							
								 
						
							
								8fe0a3722c 
								
							 
						 
						
							
							
								
								Implement NULL iterators for <forward_list> and <deque> re: N3644  
							
							... 
							
							
							
							llvm-svn: 187805 
							
						 
						
							2013-08-06 16:14:36 +00:00  
				
					
						
							
							
								 
						
							
								0c37cfd8b8 
								
							 
						 
						
							
							
								
								Implement NULL iterators for <list> re: N3644  
							
							... 
							
							
							
							llvm-svn: 187740 
							
						 
						
							2013-08-05 21:23:28 +00:00  
				
					
						
							
							
								 
						
							
								2f51de568f 
								
							 
						 
						
							
							
								
								debug mode for unordered_map.  Also picked up a missing check and test in unordered_multimap.  This wraps up debug mode for the unordered containers.  
							
							... 
							
							
							
							llvm-svn: 187659 
							
						 
						
							2013-08-02 17:50:49 +00:00  
				
					
						
							
							
								 
						
							
								42a3046eef 
								
							 
						 
						
							
							
								
								Ok, 3 major changes for debug mode in one commit:  
							
							... 
							
							
							
							1.  I had been detecting and trapping iterator == and \!= among iterators
    in different containers as an error.  But the trapping itself is actually
    an error.
    
    Consider:
    
    #include <iostream>
    #include <vector>
    #include <algorithm>
    template <class C>
    void
    display(const C& c)
    {
        std::cout << "{";
        bool first = true;
        for (const auto& x : c)
        {
            if (\!first)
                std::cout << ", ";
            first = false;
            std::cout << x;
        }
        std::cout << "}\n";
    }
    int
    main()
    {
        typedef std::vector<int> V;
        V v1 = {1, 3, 5};
        V v2 = {2, 4, 6};
        display(v1);
        display(v2);
        V::iterator i = std::find(v1.begin(), v1.end(), 1);
        V::iterator j = std::find(v2.begin(), v2.end(), 2);
        if (*i == *j)
            i = j;    // perfectly legal
        // ...
        if (i \!= j)   // the only way to check
            v2.push_back(*i);
        display(v1);
        display(v2);
    }
    It is legal to assign an iterator from one container to another of the
    same type.  This is required to work.  One might want to test whether or
    not such an assignment had been made.  The way one performs such a check
    is using the iterator's ==, \!= operator.  This is a logical and necessary
    function and does not constitute an error.
2.  I had a header circular dependence bug when _LIBCPP_DEBUG2 is defined.
    This caused a problem in several of the libc++ tests.
    Fixed.
3.  There is a serious problem when _LIBCPP_DEBUG2=1 at the moment in that
    std::basic_string is inoperable.  std::basic_string uses __wrap_iterator
    to implement its iterators.  __wrap_iterator has been rigged up in debug
    mode to support vector.  But string hasn't been rigged up yet.  This means
    that one gets false positives when using std::string in debug mode.  I've
    upped std::string's priority in www/debug_mode.html.
llvm-svn: 187636 
							
						 
						
							2013-08-02 00:26:35 +00:00  
				
					
						
							
							
								 
						
							
								0be8f64c44 
								
							 
						 
						
							
							
								
								Nico Rieck:  Currently _MSC_VER and _WIN32 are used to guard code which is  
							
							... 
							
							
							
							MSVC-specific, MSVCRT-specific, or Windows-specific. Because Clang can
also define _MSC_VER, and MSVCRT is not necessarily the only C runtime,
these macros should not be used interchangeably.
This patch divides all Windows-related bits into the aforementioned
categories. Two new macros are introduced:
- _LIBCPP_MSVC: Defined when compiling with MSVC. Detected using
  _MSC_VER, excluding Clang.
- _LIBCPP_MSVCRT: Defined when using the Microsoft CRT. This is the default
   when _WIN32 is defined.
This leaves _WIN32 for code using the Windows API.
This also corrects the spelling of _LIBCP_HAS_IS_BASE_OF to _LIBCPP_HAS_IS_BASE_OF.
Nico, please prepare a patch for CREDITS.TXT, thanks.
llvm-svn: 187593 
							
						 
						
							2013-08-01 18:17:34 +00:00  
				
					
						
							
							
								 
						
							
								0f242bea10 
								
							 
						 
						
							
							
								
								Taking another swing at correctly optimizing fill_n.  
							
							... 
							
							
							
							llvm-svn: 187587 
							
						 
						
							2013-08-01 17:29:28 +00:00  
				
					
						
							
							
								 
						
							
								ce075cf1aa 
								
							 
						 
						
							
							
								
								Constrain fill_n -> memset operations to include implicit convertibility to unsigned char.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16764 .  Also a drive-by fix on a chrono test suite bug.  
							
							... 
							
							
							
							llvm-svn: 187552 
							
						 
						
							2013-08-01 00:41:55 +00:00  
				
					
						
							
							
								 
						
							
								a1cd191624 
								
							 
						 
						
							
							
								
								Implement constexpr (n3302) and fix operator *= and /=  
							
							... 
							
							
							
							llvm-svn: 187529 
							
						 
						
							2013-07-31 21:02:34 +00:00  
				
					
						
							
							
								 
						
							
								a1d0d376c8 
								
							 
						 
						
							
							
								
								Implement n3469 - constexpr for chrono  
							
							... 
							
							
							
							llvm-svn: 187517 
							
						 
						
							2013-07-31 19:32:19 +00:00  
				
					
						
							
							
								 
						
							
								4c80bfbd53 
								
							 
						 
						
							
							
								
								Debug mode for unordered_multimap.  Some mods were done for unordered_map as well to keep all the tests passing.  However unordered_map is at the very least still missing tests, if not functionality (if it isn't tested, it probably isn't working).  
							
							... 
							
							
							
							llvm-svn: 187446 
							
						 
						
							2013-07-30 21:04:42 +00:00  
				
					
						
							
							
								 
						
							
								e5c13decbe 
								
							 
						 
						
							
							
								
								Debug mode for unordered_multiset.  The exercise spotted a few places I had missed on unordered_set, so I picked those up as well.  
							
							... 
							
							
							
							There are actually two debug modes:
   1.  -D_LIBCPP_DEBUG2 or -D_LIBCPP_DEBUG2=1
       This is a relatively expensive debug mode, but very thorough.  This is normally what you want to debug with, but may turn O(1) operations into O(N) operations.
   2.  -D_LIBCPP_DEBUG2=0
       This is "debug lite."  Only preconditions that can be checked with O(1) expense are checked.  For example range checking on an indexing operation.  But not iterator validity.
llvm-svn: 187369 
							
						 
						
							2013-07-29 19:05:47 +00:00  
				
					
						
							
							
								 
						
							
								aa5aa98eab 
								
							 
						 
						
							
							
								
								Add operator new[] to test.  Partial fix for valgrind warning in  http://llvm.org/bugs/show_bug.cgi?id=16703 .  
							
							... 
							
							
							
							llvm-svn: 187358 
							
						 
						
							2013-07-29 14:43:42 +00:00  
				
					
						
							
							
								 
						
							
								83c08b4497 
								
							 
						 
						
							
							
								
								Implement N3421; comparison predicates<void>  
							
							... 
							
							
							
							llvm-svn: 187357 
							
						 
						
							2013-07-29 14:21:53 +00:00  
				
					
						
							
							
								 
						
							
								7aa54577d1 
								
							 
						 
						
							
							
								
								literal suffixes for std::chrono  
							
							... 
							
							
							
							llvm-svn: 187078 
							
						 
						
							2013-07-24 21:18:14 +00:00  
				
					
						
							
							
								 
						
							
								b24c802489 
								
							 
						 
						
							
							
								
								Debug mode for unordered_set.  I believe this to be fairly complete for  
							
							... 
							
							
							
							unordered_set, however it is not complete yet for unordered_multiset,
unordered_map or unordered_multimap.  There has been a lot of work done
for these other three containers, however that work was done just to
keep all of the tests passing.
You can try this out with -D_LIBCPP_DEBUG2.  You will have to link to a
libc++.dylib that has been compiled with src/debug.cpp.  So far, vector
(but not vector<bool>), list, and unordered_set are treated.  I hope to
get the other three unordered containers up fairly quickly now that
unordered_set is done.
The flag _LIBCPP_DEBUG2 will eventually be changed to _LIBCPP_DEBUG, but
not today.  This is my second effort at getting debug mode going for
libc++, and I'm not quite yet ready to throw all of the work under the
first attempt away.
The basic design is that all of the debug information is kept in a
central database, instead of in the containers.  This has been done as
an attempt to have debug mode and non-debug mode be ABI compatible with
each other.  There are some circumstances where if you construct a
container in an environment without debug mode and pass it into debug
mode, the checking will get confused and let you know with a readable
error message.  Passing containers the other way: from debug mode out to
a non-debugging mode container should be 100% safe (at least that is the
goal).
llvm-svn: 186991 
							
						 
						
							2013-07-23 22:01:58 +00:00  
				
					
						
							
							
								 
						
							
								ca0be23b39 
								
							 
						 
						
							
							
								
								Implement string suffixes from N3642  
							
							... 
							
							
							
							llvm-svn: 186956 
							
						 
						
							2013-07-23 17:05:24 +00:00  
				
					
						
							
							
								 
						
							
								7491a16031 
								
							 
						 
						
							
							
								
								Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ignoring capture groups inside lookahead assertions.  
							
							... 
							
							
							
							For example, matching /(?=(a))(a)/ to "a" should yield two captures: \1 = "a", \2 = "a"
llvm-svn: 186954 
							
						 
						
							2013-07-23 16:18:04 +00:00  
				
					
						
							
							
								 
						
							
								8bb1dbbf75 
								
							 
						 
						
							
							
								
								Fix a bug in std::fill_n where memset would end up being called in cases when it shouldn’t.  
							
							... 
							
							
							
							Reviewed by Howard.
llvm-svn: 186875 
							
						 
						
							2013-07-22 21:08:00 +00:00  
				
					
						
							
							
								 
						
							
								75eff74803 
								
							 
						 
						
							
							
								
								Make tuple's constructor and std::get<>(tuple) constexpr. Final stage of fixing bug  #16599 . Thanks to Howard for the review and updates.  
							
							... 
							
							
							
							llvm-svn: 186834 
							
						 
						
							2013-07-22 16:02:19 +00:00  
				
					
						
							
							
								 
						
							
								8bf1f08a2c 
								
							 
						 
						
							
							
								
								Make std::get constexpr  
							
							... 
							
							
							
							llvm-svn: 186525 
							
						 
						
							2013-07-17 18:25:36 +00:00  
				
					
						
							
							
								 
						
							
								fee09c68a0 
								
							 
						 
						
							
							
								
								Add pointer format test for Windows.  
							
							... 
							
							
							
							llvm-svn: 186472 
							
						 
						
							2013-07-16 23:50:06 +00:00  
				
					
						
							
							
								 
						
							
								18191ceb54 
								
							 
						 
						
							
							
								
								Bug 16599 part 2: Make std::pair's constructors and comparison operators (and make_pair) constexpr.  
							
							... 
							
							
							
							llvm-svn: 186430 
							
						 
						
							2013-07-16 17:45:44 +00:00  
				
					
						
							
							
								 
						
							
								1c682f0f0c 
								
							 
						 
						
							
							
								
								Make std::forward and std::move (and std::move_if_noexcept) constexpr in C++14  
							
							... 
							
							
							
							llvm-svn: 186344 
							
						 
						
							2013-07-15 20:46:11 +00:00  
				
					
						
							
							
								 
						
							
								22161401df 
								
							 
						 
						
							
							
								
								Bill Fisher: This patch fixes an ill-formed comparison when parsing control escapes, e.g. "\cA\ca". The code will now throw an error_escape exception for invalid control sequences like "\c:" or "\c".  
							
							... 
							
							
							
							I've added the test cases to bad_escape.pass.cpp.
llvm-svn: 186335 
							
						 
						
							2013-07-15 18:21:11 +00:00  
				
					
						
							
							
								 
						
							
								10f8387b94 
								
							 
						 
						
							
							
								
								A few fixes to tests for Windows port.  
							
							... 
							
							
							
							llvm-svn: 186334 
							
						 
						
							2013-07-15 18:09:11 +00:00  
				
					
						
							
							
								 
						
							
								e99520c72e 
								
							 
						 
						
							
							
								
								Implement n3584 - Addressing Tuples by Type  
							
							... 
							
							
							
							llvm-svn: 186237 
							
						 
						
							2013-07-13 02:54:05 +00:00  
				
					
						
							
							
								 
						
							
								6d8a38c537 
								
							 
						 
						
							
							
								
								Port make_[un]signed tests to platforms where sizeof(wchar_t) == 2.  
							
							... 
							
							
							
							llvm-svn: 186136 
							
						 
						
							2013-07-11 23:51:05 +00:00  
				
					
						
							
							
								 
						
							
								c815a4e297 
								
							 
						 
						
							
							
								
								Bill Fisher: This patch fixes a less likely case where '\b' can back up into invalid memory, when driven by a regex_iterator (for case 1, see r185273 or  http://llvm.org/bugs/show_bug.cgi?id=16240 )  
							
							... 
							
							
							
							The attached test program also supplies a test for the case 1 fix in r185273.
llvm-svn: 186089 
							
						 
						
							2013-07-11 15:32:55 +00:00  
				
					
						
							
							
								 
						
							
								48c9fe29b2 
								
							 
						 
						
							
							
								
								Improved tests (and fixed a bug in the tests); thanks to Richard Smith for the suggestion  
							
							... 
							
							
							
							llvm-svn: 186022 
							
						 
						
							2013-07-10 18:01:34 +00:00  
				
					
						
							
							
								 
						
							
								dbdeb153d8 
								
							 
						 
						
							
							
								
								Bill Fisher: This patch fixes a bug where regex_iterator doesn't indicate when it's restarting in the middle of a string. This bug causes /^a/ to match in the middle of the string "aaaaaaa", during iteration.  
							
							... 
							
							
							
							My patch uses  to communicate when  is false.
llvm-svn: 185950 
							
						 
						
							2013-07-09 17:29:09 +00:00  
				
					
						
							
							
								 
						
							
								e0fe3d2e96 
								
							 
						 
						
							
							
								
								War on tabs.  
							
							... 
							
							
							
							llvm-svn: 185865 
							
						 
						
							2013-07-08 21:06:38 +00:00  
				
					
						
							
							
								 
						
							
								a7b0e5ddf8 
								
							 
						 
						
							
							
								
								Implement n3668 - std::exchange  
							
							... 
							
							
							
							llvm-svn: 185863 
							
						 
						
							2013-07-08 20:54:40 +00:00  
				
					
						
							
							
								 
						
							
								f331327c6a 
								
							 
						 
						
							
							
								
								Implement n3545 for c++14  
							
							... 
							
							
							
							llvm-svn: 185856 
							
						 
						
							2013-07-08 20:05:31 +00:00  
				
					
						
							
							
								 
						
							
								271426e6ab 
								
							 
						 
						
							
							
								
								Windows port for __codecvt_utf8<wchar_t>.  
							
							... 
							
							
							
							llvm-svn: 185849 
							
						 
						
							2013-07-08 19:03:07 +00:00  
				
					
						
							
							
								 
						
							
								5e00063b86 
								
							 
						 
						
							
							
								
								Silence -Wint-to-void-pointer-cast warning in test.  
							
							... 
							
							
							
							llvm-svn: 185756 
							
						 
						
							2013-07-06 14:41:36 +00:00  
				
					
						
							
							
								 
						
							
								abb160e689 
								
							 
						 
						
							
							
								
								Remove implicit conversion from __value_type to value_type in [unordered_][multi]map.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16549  
							
							... 
							
							
							
							llvm-svn: 185711 
							
						 
						
							2013-07-05 18:06:00 +00:00  
				
					
						
							
							
								 
						
							
								4a95f9eb7e 
								
							 
						 
						
							
							
								
								Removed extension in [unordered_][multi]map which allowed one to emplace using just an argument for the key, as opposed to using piecewise_construct.  However a bug report exposed that this created an unfortunate ambiguity.  People who are currently using the extension will be notified the next time they compile, and will have to change to using piecewise_construct.  There are no ABI issues with the removal of this extension.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16542  
							
							... 
							
							
							
							llvm-svn: 185666 
							
						 
						
							2013-07-04 20:59:16 +00:00  
				
					
						
							
							
								 
						
							
								bbdf669bde 
								
							 
						 
						
							
							
								
								Simplify comparators of [unordered_][multi]map.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16538  
							
							... 
							
							
							
							llvm-svn: 185665 
							
						 
						
							2013-07-04 19:46:35 +00:00  
				
					
						
							
							
								 
						
							
								0644627bef 
								
							 
						 
						
							
							
								
								Fix bashism.  
							
							... 
							
							
							
							llvm-svn: 185646 
							
						 
						
							2013-07-04 15:11:10 +00:00  
				
					
						
							
							
								 
						
							
								5b2ef2b1a6 
								
							 
						 
						
							
							
								
								Patch for N3655 (Transformation type traits) with Howard's additions  
							
							... 
							
							
							
							llvm-svn: 185597 
							
						 
						
							2013-07-04 00:10:01 +00:00  
				
					
						
							
							
								 
						
							
								3fc9ef22b3 
								
							 
						 
						
							
							
								
								Constrain launch ~ operator to defined bits.  
							
							... 
							
							
							
							llvm-svn: 185452 
							
						 
						
							2013-07-02 18:01:41 +00:00  
				
					
						
							
							
								 
						
							
								43bbdd29de 
								
							 
						 
						
							
							
								
								Bill Fisher: This patch fixes a bug where the regex parser doesn't advance the pointer after reading the third character of an octal escape (in awk mode).  
							
							... 
							
							
							
							That is, regex{"\141", awk} results in the regular expression /a1/ instead of just /a/.
llvm-svn: 185449 
							
						 
						
							2013-07-02 17:43:31 +00:00  
				
					
						
							
							
								 
						
							
								4a142ec6b0 
								
							 
						 
						
							
							
								
								XFAIL this test on 10.7 and 10.8  
							
							... 
							
							
							
							llvm-svn: 185391 
							
						 
						
							2013-07-01 22:59:14 +00:00  
				
					
						
							
							
								 
						
							
								28d8ba5f79 
								
							 
						 
						
							
							
								
								Implement n3656 - make_unique. Thanks to Howard for the review and suggestions.  
							
							... 
							
							
							
							llvm-svn: 185352 
							
						 
						
							2013-07-01 18:16:03 +00:00  
				
					
						
							
							
								 
						
							
								d51891063f 
								
							 
						 
						
							
							
								
								Implement n3658 - Compile-time integer sequences  
							
							... 
							
							
							
							llvm-svn: 185343 
							
						 
						
							2013-07-01 16:26:55 +00:00  
				
					
						
							
							
								 
						
							
								eecacc0fad 
								
							 
						 
						
							
							
								
								In istream::ignore, check the delimeter as an int_type, not as a char_type, so as to correctly handle EOF.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16427  
							
							... 
							
							
							
							llvm-svn: 185298 
							
						 
						
							2013-07-01 00:37:50 +00:00  
				
					
						
							
							
								 
						
							
								9dbbf8dece 
								
							 
						 
						
							
							
								
								The bind and function functor constructors and assignment operators were overly general and getting confused with the copy constructor and copy assignment operators.  Constrained them.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16385  
							
							... 
							
							
							
							llvm-svn: 185297 
							
						 
						
							2013-07-01 00:01:51 +00:00  
				
					
						
							
							
								 
						
							
								9bf42533b7 
								
							 
						 
						
							
							
								
								Fix bind by making _is_valid_bind_return more robust.  It should return false instead of give a compile time error, always.  The problem was down in ____mu_return, the version that handles nested bind objects.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16343  
							
							... 
							
							
							
							llvm-svn: 185289 
							
						 
						
							2013-06-30 19:48:15 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3f75953d82 
								
							 
						 
						
							
							
								
								Provide missing '{' in parsing extended quoted characters.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16135  
							
							... 
							
							
							
							llvm-svn: 185211 
							
						 
						
							2013-06-28 20:31:05 +00:00  
				
					
						
							
							
								 
						
							
								8d1e822432 
								
							 
						 
						
							
							
								
								William Fisher:  A bug in __lookahead::exec causes /(?=^)b/ to match ab. When  makes a recursive call to , it passes true for the value of . This causes a beginning-of-line anchor (^) inside a lookahead assertion to match anywhere in the text.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=11118  
							
							... 
							
							
							
							llvm-svn: 185196 
							
						 
						
							2013-06-28 19:11:23 +00:00  
				
					
						
							
							
								 
						
							
								21246e3314 
								
							 
						 
						
							
							
								
								Bill Fisher:  Fix for failing to throw an exception in regex when parsing an invalid escape sequence.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=16023  
							
							... 
							
							
							
							llvm-svn: 185192 
							
						 
						
							2013-06-28 18:57:30 +00:00  
				
					
						
							
							
								 
						
							
								eec721826c 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for string.  This completes the custom pointer support for the entire library.  
							
							... 
							
							
							
							llvm-svn: 185167 
							
						 
						
							2013-06-28 16:59:19 +00:00  
				
					
						
							
							
								 
						
							
								3ec1f00b73 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for vector.  
							
							... 
							
							
							
							llvm-svn: 185093 
							
						 
						
							2013-06-27 19:35:32 +00:00  
				
					
						
							
							
								 
						
							
								866d4efa7f 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for list.  
							
							... 
							
							
							
							llvm-svn: 184859 
							
						 
						
							2013-06-25 16:08:47 +00:00  
				
					
						
							
							
								 
						
							
								8a27ba8051 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for forward_list.  
							
							... 
							
							
							
							llvm-svn: 184759 
							
						 
						
							2013-06-24 17:17:28 +00:00  
				
					
						
							
							
								 
						
							
								14e200d14d 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer pointers in custom allocators for deque.  
							
							... 
							
							
							
							llvm-svn: 184673 
							
						 
						
							2013-06-23 21:17:24 +00:00  
				
					
						
							
							
								 
						
							
								307f814372 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer types in custom allocators.  This is for the unordered containers only.  This work still needs to be done on the sequence containers.  
							
							... 
							
							
							
							llvm-svn: 184635 
							
						 
						
							2013-06-22 15:21:29 +00:00  
				
					
						
							
							
								 
						
							
								07d3eccd26 
								
							 
						 
						
							
							
								
								Implement full support for non-pointer types in custom allocators.  This is for the associative containers only.  This work still needs to be done on the unordered and sequence containers.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=15978  
							
							... 
							
							
							
							llvm-svn: 184358 
							
						 
						
							2013-06-19 21:29:40 +00:00  
				
					
						
							
							
								 
						
							
								e7b6d544f0 
								
							 
						 
						
							
							
								
								Test case for r183481.  
							
							... 
							
							
							
							llvm-svn: 183522 
							
						 
						
							2013-06-07 14:24:18 +00:00  
				
					
						
							
							
								 
						
							
								849821cffb 
								
							 
						 
						
							
							
								
								Fix a couple of bugs in linear_congruential_engine::seed.  Regression test added.  
							
							... 
							
							
							
							llvm-svn: 182421 
							
						 
						
							2013-05-21 21:05:12 +00:00  
				
					
						
							
							
								 
						
							
								0125ab809f 
								
							 
						 
						
							
							
								
								Remove cv qualifiers from member pointers in the __member_pointer_traits test.  This was causing a const-qualified bind result to malfunction.  This was a recent regression due to the new use of __member_pointer_traits in restricting the __invokable and __invoke_of tests.  
							
							... 
							
							
							
							llvm-svn: 181935 
							
						 
						
							2013-05-15 21:49:27 +00:00  
				
					
						
							
							
								 
						
							
								a9ac518364 
								
							 
						 
						
							
							
								
								XFAIL this test when using the darwin12 system library. Reviewed by Howard  
							
							... 
							
							
							
							llvm-svn: 181610 
							
						 
						
							2013-05-10 17:25:57 +00:00  
				
					
						
							
							
								 
						
							
								0b0bbd2f22 
								
							 
						 
						
							
							
								
								Implement n3607: 'equal', 'mismatch', and 'is_permutation'  
							
							... 
							
							
							
							llvm-svn: 181548 
							
						 
						
							2013-05-09 21:14:23 +00:00  
				
					
						
							
							
								 
						
							
								866ed94db1 
								
							 
						 
						
							
							
								
								Constrain __invoke functions more accurately.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15861  .  
							
							... 
							
							
							
							llvm-svn: 181377 
							
						 
						
							2013-05-07 23:40:12 +00:00  
				
					
						
							
							
								 
						
							
								6b1455f6f1 
								
							 
						 
						
							
							
								
								Mark some tests with XFAIL for Lion and Mountain Lion.  
							
							... 
							
							
							
							llvm-svn: 181336 
							
						 
						
							2013-05-07 17:37:19 +00:00  
				
					
						
							
							
								 
						
							
								eedfabd96e 
								
							 
						 
						
							
							
								
								Expose accidentally removed __compressed_pair constructor taking piecewise_construct_t.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15918  .  
							
							... 
							
							
							
							llvm-svn: 181217 
							
						 
						
							2013-05-06 16:58:36 +00:00  
				
					
						
							
							
								 
						
							
								da9ca0b405 
								
							 
						 
						
							
							
								
								Stephan Tolksdorf: fixes the issue in the <atomic> header and adds corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro).  
							
							... 
							
							
							
							The tests use placement new to check that atomic values get properly zero-initialized. I had to modify the atomic_is_lock_free test, because default initialization of an object of const type 'const A' (aka 'const atomic<int>') requires a user-provided default constructor.
llvm-svn: 180945 
							
						 
						
							2013-05-02 20:18:43 +00:00  
				
					
						
							
							
								 
						
							
								087e35ec03 
								
							 
						 
						
							
							
								
								Make it possible to provide special (linker) flags for the thread tests.  
							
							... 
							
							
							
							Use it to build & link against libpthread on NetBSD for tests iff they
are testing the thread interface.
llvm-svn: 180942 
							
						 
						
							2013-05-02 19:21:36 +00:00  
				
					
						
							
							
								 
						
							
								aa05f9eaf3 
								
							 
						 
						
							
							
								
								Add explicit casts to unsigned char before calling ctype functions.  
							
							... 
							
							
							
							Fixes the value range on platforms with signed char.
llvm-svn: 180940 
							
						 
						
							2013-05-02 19:17:48 +00:00  
				
					
						
							
							
								 
						
							
								a2ee3a6e2e 
								
							 
						 
						
							
							
								
								İsmail Dönmez:  Change to mktemp template to make it compatible with Linux.  
							
							... 
							
							
							
							llvm-svn: 180267 
							
						 
						
							2013-04-25 16:08:55 +00:00  
				
					
						
							
							
								 
						
							
								03ec04f9b5 
								
							 
						 
						
							
							
								
								default_delete needs a static_assert against void types.  I had previously thought that sizeof(void) would take care of this.  I was wrong.  
							
							... 
							
							
							
							llvm-svn: 180213 
							
						 
						
							2013-04-24 19:44:26 +00:00  
				
					
						
							
							
								 
						
							
								4341ad3500 
								
							 
						 
						
							
							
								
								Avoid bash specific functionality to work with any POSIX shell  
							
							... 
							
							
							
							implementing $(( )).
llvm-svn: 180139 
							
						 
						
							2013-04-23 19:53:24 +00:00  
				
					
						
							
							
								 
						
							
								f8bb3e522d 
								
							 
						 
						
							
							
								
								Zero-initialize all mbstate_t in the codecvt tests.  
							
							... 
							
							
							
							llvm-svn: 180108 
							
						 
						
							2013-04-23 14:09:35 +00:00  
				
					
						
							
							
								 
						
							
								20428e94e0 
								
							 
						 
						
							
							
								
								Somehow aligned_union got dropped through the cracks.  This adds it.  Did a drive-by fix of alignment_of while I was in the neighborhood.  
							
							... 
							
							
							
							llvm-svn: 180036 
							
						 
						
							2013-04-22 19:37:49 +00:00  
				
					
						
							
							
								 
						
							
								ab65a6f560 
								
							 
						 
						
							
							
								
								After years of telling people: 'If you ever find any of my code that self-move-assigns, send me a bug report.' Somebody finally took me up on it.  vector::erase(begin(), begin()) does a self-move-assign of every element in the vector, leaving all of those elements in an unspecified state.  I checked the other containers for this same bug and did not find it.  Added test case.  
							
							... 
							
							
							
							llvm-svn: 179760 
							
						 
						
							2013-04-18 15:02:57 +00:00  
				
					
						
							
							
								 
						
							
								9a20da75ef 
								
							 
						 
						
							
							
								
								I believe this finishes up debug mode for list.  The testing is a little weak, but I believe all of the functionality is there.  Certainly enough for people to checkout and start beating up on.  
							
							... 
							
							
							
							llvm-svn: 179632 
							
						 
						
							2013-04-16 21:42:36 +00:00  
				
					
						
							
							
								 
						
							
								c76d2bda6f 
								
							 
						 
						
							
							
								
								addressof misbehaving for type with an implicit conversion operator to char&.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15754  
							
							... 
							
							
							
							llvm-svn: 179608 
							
						 
						
							2013-04-16 17:27:56 +00:00  
				
					
						
							
							
								 
						
							
								e7389a6915 
								
							 
						 
						
							
							
								
								Numeric parsing was getting the wrong answer when faced with very long inputs.  This fixes both  http://llvm.org/bugs/show_bug.cgi?id=15751  and  http://llvm.org/bugs/show_bug.cgi?id=15740  
							
							... 
							
							
							
							llvm-svn: 179556 
							
						 
						
							2013-04-15 20:40:06 +00:00  
				
					
						
							
							
								 
						
							
								f3b02b17af 
								
							 
						 
						
							
							
								
								Accidentally disallowed explicit tuple conversions when all elements of the tuple can be explicitly converted.  
							
							... 
							
							
							
							llvm-svn: 179467 
							
						 
						
							2013-04-14 00:01:13 +00:00  
				
					
						
							
							
								 
						
							
								40487ca25e 
								
							 
						 
						
							
							
								
								Set failbit when strtold sets errno to ERANGE when parsing floating point values.  
							
							... 
							
							
							
							llvm-svn: 179461 
							
						 
						
							2013-04-13 18:19:25 +00:00  
				
					
						
							
							
								 
						
							
								f750923161 
								
							 
						 
						
							
							
								
								Fix bug in __libcpp_db::__iterator_copy.  Add debug test for swaping lists.  
							
							... 
							
							
							
							llvm-svn: 178892 
							
						 
						
							2013-04-05 17:58:52 +00:00  
				
					
						
							
							
								 
						
							
								1b81829979 
								
							 
						 
						
							
							
								
								More list debug mode tests.  
							
							... 
							
							
							
							llvm-svn: 178873 
							
						 
						
							2013-04-05 15:04:10 +00:00  
				
					
						
							
							
								 
						
							
								b0e4c9d01b 
								
							 
						 
						
							
							
								
								More work on debug mode for list.  
							
							... 
							
							
							
							llvm-svn: 178819 
							
						 
						
							2013-04-05 00:18:49 +00:00  
				
					
						
							
							
								 
						
							
								b13fcad677 
								
							 
						 
						
							
							
								
								Somehow search_n never got tested, so of course it had a bug in it.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15667 .  
							
							... 
							
							
							
							llvm-svn: 178764 
							
						 
						
							2013-04-04 15:40:48 +00:00  
				
					
						
							
							
								 
						
							
								1347d33451 
								
							 
						 
						
							
							
								
								The move / swap members were not correctly taking all of the possible states of the basic_stringbuf into account.  Just rewrote these members.  Test included.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15659 .  
							
							... 
							
							
							
							llvm-svn: 178690 
							
						 
						
							2013-04-03 20:21:29 +00:00  
				
					
						
							
							
								 
						
							
								575e4e3650 
								
							 
						 
						
							
							
								
								Richard Smith: It was pointed out to me off-list that libc++'s non-compiler-builtin  
							
							... 
							
							
							
							implementation of std::is_polymorphic does this:
template <class _Tp> struct __is_polymorphic1 : public _Tp {};
... and that g++ rejects this if _Tp has an inaccessible virtual destructor
(because __is_polymorphic1<_Tp> would have a deleted virtual destructor
overriding _Tp's non-deleted destructor). Clang was failing to reject this;
I've fixed that in r178563, but that causes libc++'s corresponding test
case to fail with both clang and gcc when using the fallback
implementation. The fallback code also incorrectly rejects final types.
The attached patch fixes the fallback implementation of is_polymorphic; we
now use dynamic_cast's detection of polymorphic class types rather than
trying to determine if adding a virtual function makes the type larger:
  enable_if<sizeof((_Tp*)dynamic_cast<const volatile
void*>(declval<_Tp*>())) != 0, ...>
Two things of note here:
* the (_Tp*) cast is necessary to work around bugs in Clang and g++ where
we otherwise don't instantiate the dynamic_cast (filed as PR15656)
* the 'const volatile' is here to treat is_polymorphic<cv T> as true for a
polymorphic class type T -- my reading of the standard suggests this is
incorrect, but it matches our builtin __is_polymorphic and gcc
llvm-svn: 178576 
							
						 
						
							2013-04-02 21:25:06 +00:00  
				
					
						
							
							
								 
						
							
								70e19bd31e 
								
							 
						 
						
							
							
								
								Some debug test cases for list.  
							
							... 
							
							
							
							llvm-svn: 178565 
							
						 
						
							2013-04-02 19:53:32 +00:00  
				
					
						
							
							
								 
						
							
								cf1dc8d39e 
								
							 
						 
						
							
							
								
								Test case was forming the wrong limits when size_t != unsigned long.  
							
							... 
							
							
							
							llvm-svn: 178370 
							
						 
						
							2013-03-29 21:22:22 +00:00  
				
					
						
							
							
								 
						
							
								84718fde7a 
								
							 
						 
						
							
							
								
								The 3rd test in shrink_to_fit.pass.cpp can't possibly pass if exceptions are disabled, so #ifdef'ing out the test.  
							
							... 
							
							
							
							llvm-svn: 178350 
							
						 
						
							2013-03-29 17:20:04 +00:00  
				
					
						
							
							
								 
						
							
								15eaebea15 
								
							 
						 
						
							
							
								
								Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVM  
							
							... 
							
							
							
							bootstrap with libc++.
llvm-svn: 178116 
							
						 
						
							2013-03-27 04:10:25 +00:00  
				
					
						
							
							
								 
						
							
								5a13d8dcea 
								
							 
						 
						
							
							
								
								Tighten up the iterator requirements for the vector member templates.  This is especially important for the constructors so that is_constructible<vector<T>, I, I> gives the right answer when T can not be constructed from *I.  Test case included for this latter point.  
							
							... 
							
							
							
							llvm-svn: 178075 
							
						 
						
							2013-03-26 21:40:54 +00:00  
				
					
						
							
							
								 
						
							
								cd4a9fd301 
								
							 
						 
						
							
							
								
								Another vector debug mode test, and a static test on Allocator::value_type.  This partially addresses  http://llvm.org/bugs/show_bug.cgi?id=15576 .  
							
							... 
							
							
							
							llvm-svn: 178064 
							
						 
						
							2013-03-26 19:04:56 +00:00  
				
					
						
							
							
								 
						
							
								1d8a5164b4 
								
							 
						 
						
							
							
								
								More vector debug tests.  
							
							... 
							
							
							
							llvm-svn: 178033 
							
						 
						
							2013-03-26 15:45:56 +00:00  
				
					
						
							
							
								 
						
							
								a6d24cc19d 
								
							 
						 
						
							
							
								
								Fixed race conditions in thread tests; exposed by UBSan  
							
							... 
							
							
							
							llvm-svn: 178029 
							
						 
						
							2013-03-26 15:28:33 +00:00  
				
					
						
							
							
								 
						
							
								ea95898f29 
								
							 
						 
						
							
							
								
								Simply debug mode tests per Dmitri Gribenko's suggestion.  
							
							... 
							
							
							
							llvm-svn: 178026 
							
						 
						
							2013-03-26 14:28:25 +00:00  
				
					
						
							
							
								 
						
							
								d9db9f90fb 
								
							 
						 
						
							
							
								
								Need one more swap overload for swapping two lvalue vector<bool>::reference's.  
							
							... 
							
							
							
							llvm-svn: 178016 
							
						 
						
							2013-03-26 13:48:57 +00:00  
				
					
						
							
							
								 
						
							
								ea1bbbd135 
								
							 
						 
						
							
							
								
								Added debug tests for indexing, pop_back and both forms of erase.  Added an improved error message for erasing a single element with end().  
							
							... 
							
							
							
							llvm-svn: 177929 
							
						 
						
							2013-03-25 22:12:26 +00:00  
				
					
						
							
							
								 
						
							
								b14037be89 
								
							 
						 
						
							
							
								
								Remove some erroneous code I was using to debug debug mode.  
							
							... 
							
							
							
							llvm-svn: 177908 
							
						 
						
							2013-03-25 20:46:07 +00:00  
				
					
						
							
							
								 
						
							
								2d752fc2f9 
								
							 
						 
						
							
							
								
								Debug mode tests for vector::front and back.  
							
							... 
							
							
							
							llvm-svn: 177904 
							
						 
						
							2013-03-25 20:31:25 +00:00  
				
					
						
							
							
								 
						
							
								35b3b54548 
								
							 
						 
						
							
							
								
								More vector::iterator debug mode tests.  Run by adding to OPTIONS -D_LIBCPP_DEBUG2=1.  
							
							... 
							
							
							
							llvm-svn: 177897 
							
						 
						
							2013-03-25 20:03:19 +00:00  
				
					
						
							
							
								 
						
							
								92bd7c0337 
								
							 
						 
						
							
							
								
								Debug mode: learning to crawl.  I need to set up some tests that actually test that the debug mode is working, but that won't cause problems when debug mode isn't on.  This is my first prototype of such a test.  It should call std::terminate() because it's comparing iterators from different containers.  And std::terminate() is rigged up to exit normally.  If debug mode fails, and doesn't call terminate, then the program asserts.  The test is a no-op if _LIBCPP_DEBUG2 is not defined or is defined to be 0.  
							
							... 
							
							
							
							llvm-svn: 177892 
							
						 
						
							2013-03-25 19:29:35 +00:00  
				
					
						
							
							
								 
						
							
								a60ae88db2 
								
							 
						 
						
							
							
								
								Marshall Clow found some divide-by-zero warnings with UBSan in rand's binomial_distribution test.  This eliminates the divide-by-zeros and describes in comments the numerical difficulties the test is having.  Each of the problematic tests are exploring edge cases of the distribution.  
							
							... 
							
							
							
							llvm-svn: 177826 
							
						 
						
							2013-03-23 19:29:45 +00:00  
				
					
						
							
							
								 
						
							
								65a87ccdbf 
								
							 
						 
						
							
							
								
								This is a start at making the libc++ test suite friendlier to the -fnoexceptions flag.  Although this is not a complete solution, it does reduce the number of test failures on OS X from 467 to 128 on OS X when -fno-exceptions is enabled, and does not impact the number of failures at all when -fno-exceptions is not enabled.  The bulk of this code was donated anonymously.  
							
							... 
							
							
							
							llvm-svn: 177824 
							
						 
						
							2013-03-23 17:27:16 +00:00  
				
					
						
							
							
								 
						
							
								7c5b88b134 
								
							 
						 
						
							
							
								
								Test cleanup with respect to use of deprecated tmpnam function.  Also Windows port for these tests to use _tempnam.  The bulk of this patch was donated anonymously.  I've tested it on OS X and accept responsibility for it.  If I've broken anyone's platform by switching from tmpnam to mktemp for the generation of temporary file names, just let me know.  Should be easy to fix in test/support/platform_support.h  
							
							... 
							
							
							
							llvm-svn: 177755 
							
						 
						
							2013-03-22 20:05:40 +00:00  
				
					
						
							
							
								 
						
							
								761b5cf087 
								
							 
						 
						
							
							
								
								Fix bug in test; found by AddressSanitizer  
							
							... 
							
							
							
							llvm-svn: 177464 
							
						 
						
							2013-03-20 00:01:48 +00:00  
				
					
						
							
							
								 
						
							
								1c00ce5070 
								
							 
						 
						
							
							
								
								Fix bug in test; found by AddressSanitizer  
							
							... 
							
							
							
							llvm-svn: 177355 
							
						 
						
							2013-03-18 23:39:36 +00:00  
				
					
						
							
							
								 
						
							
								b56e8587af 
								
							 
						 
						
							
							
								
								Removed raw references to __APPLE__; now just check to see if it is defined.  
							
							... 
							
							
							
							llvm-svn: 177297 
							
						 
						
							2013-03-18 17:45:34 +00:00  
				
					
						
							
							
								 
						
							
								91907cbe82 
								
							 
						 
						
							
							
								
								Removed raw references to _WIN32; now just check to see if it is defined.  
							
							... 
							
							
							
							llvm-svn: 177291 
							
						 
						
							2013-03-18 17:04:29 +00:00  
				
					
						
							
							
								 
						
							
								7e4844b353 
								
							 
						 
						
							
							
								
								Parsing floating point numbers with very long precision was broken, and this patch fixes it.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=15445 .  
							
							... 
							
							
							
							llvm-svn: 176711 
							
						 
						
							2013-03-08 19:06:24 +00:00  
				
					
						
							
							
								 
						
							
								8b6a4de64a 
								
							 
						 
						
							
							
								
								Fix a bug in mutex_try_to_lock.  This was previously trying to unlock a mutex that it didn't own, causing an assertion failure in mutex.cpp.  The issue was that the unique_lock went out of scope, releasing the lock on m, then m.unlock() was called on an already-unlocked mutex.  
							
							... 
							
							
							
							This change removes the spurious m.unlock() call.  
If this test was previously passing for anyone with assertions enabled, then they should investigate bugs in their pthread implementation, as pthread_unlock() should not return 0 if the mutex is currently unlocked.
llvm-svn: 175506 
							
						 
						
							2013-02-19 11:28:45 +00:00  
				
					
						
							
							
								 
						
							
								62b943935d 
								
							 
						 
						
							
							
								
								[tests] Add support for a link_flags lit parameter.  
							
							... 
							
							
							
							- This is useful for testing with custom ABI libraries.
 - Patch by Michael van der Westhuizen.
llvm-svn: 174997 
							
						 
						
							2013-02-12 19:28:51 +00:00  
				
					
						
							
							
								 
						
							
								496f1765a2 
								
							 
						 
						
							
							
								
								[tests] Another batch of timeout increases.  
							
							... 
							
							
							
							llvm-svn: 174902 
							
						 
						
							2013-02-11 21:04:34 +00:00  
				
					
						
							
							
								 
						
							
								ceb47bb06d 
								
							 
						 
						
							
							
								
								[tests] Another batch of timeout increases.  
							
							... 
							
							
							
							llvm-svn: 174726 
							
						 
						
							2013-02-08 18:26:55 +00:00  
				
					
						
							
							
								 
						
							
								76efb57666 
								
							 
						 
						
							
							
								
								[tests] Add back stdc macros I accidentally refactored out.  
							
							... 
							
							
							
							- Patch by Michael van der Westhuizen:
--
r174404 accidentally removed stdc format, limit and constant macros from the Linux test runner logic.  This small patch re-adds the macros.
Making this change fixes the following tests on Linux:
 - depr/depr.c.headers/inttypes_h.pass.cpp
 - depr/depr.c.headers/stdint_h.pass.cpp
 - input.output/file.streams/c.files/cinttypes.pass.cpp
 - language.support/cstdint/cstdint.syn/cstdint.pass.cpp
--
llvm-svn: 174722 
							
						 
						
							2013-02-08 17:41:28 +00:00  
				
					
						
							
							
								 
						
							
								577e696425 
								
							 
						 
						
							
							
								
								[tests] Increase a bunch of wait limits.  
							
							... 
							
							
							
							- Basically I just ran the thread tests many many times on a busy machine and
   bumped the timeouts whenever I hit a test failure.
 - This is obviously subpar, but is the best I can do without the tests being
   rewritten to not depend on arbitrary timeouts.
llvm-svn: 174721 
							
						 
						
							2013-02-08 17:41:19 +00:00  
				
					
						
							
							
								 
						
							
								584a65befd 
								
							 
						 
						
							
							
								
								Give a lot more timing latitude to some of the timing tests. Busy buildbots are hitting the timing limits too often.  
							
							... 
							
							
							
							llvm-svn: 174539 
							
						 
						
							2013-02-06 20:25:56 +00:00  
				
					
						
							
							
								 
						
							
								05abe9372b 
								
							 
						 
						
							
							
								
								[tests] Infer the cxx_under_test (as clang++).  
							
							... 
							
							
							
							- This is a reasonable default, and makes testing just work with no required
   parameters.
 - Add notes on all of the inferred or default values.
llvm-svn: 174538 
							
						 
						
							2013-02-06 20:24:23 +00:00  
				
					
						
							
							
								 
						
							
								5178942ded 
								
							 
						 
						
							
							
								
								[tests] Change test default to run against locally built library.  
							
							... 
							
							
							
							llvm-svn: 174528 
							
						 
						
							2013-02-06 17:47:08 +00:00  
				
					
						
							
							
								 
						
							
								d2d614cd84 
								
							 
						 
						
							
							
								
								[tests] Enable use_system_lib support on Linux.  
							
							... 
							
							
							
							- Patch by Michael van der Westhuizen.
llvm-svn: 174527 
							
						 
						
							2013-02-06 17:45:53 +00:00  
				
					
						
							
							
								 
						
							
								434fb1f6d5 
								
							 
						 
						
							
							
								
								[tests] One last batch of XFAILs, for tests using new symbols added to libc++.  
							
							... 
							
							
							
							- As of this commit, the test suite should now fully pass on both darwin11 and
   darwin12 when testing against either a locally built libc++ or the system libc++.
llvm-svn: 174478 
							
						 
						
							2013-02-06 00:59:06 +00:00  
				
					
						
							
							
								 
						
							
								ba65d61767 
								
							 
						 
						
							
							
								
								[tests] Accept XFAIL arguments that match any part of a feature.  
							
							... 
							
							
							
							llvm-svn: 174469 
							
						 
						
							2013-02-06 00:04:52 +00:00  
				
					
						
							
							
								 
						
							
								36860df355 
								
							 
						 
						
							
							
								
								[tests] XFAIL some locale tests that don't seem to work on any Darwin.  
							
							... 
							
							
							
							llvm-svn: 174459 
							
						 
						
							2013-02-05 22:51:20 +00:00  
				
					
						
							
							
								 
						
							
								b6354a0767 
								
							 
						 
						
							
							
								
								[tests] If no explicit target triple is given, try to infer it.  
							
							... 
							
							
							
							llvm-svn: 174454 
							
						 
						
							2013-02-05 22:28:03 +00:00  
				
					
						
							
							
								 
						
							
								a563f32c6a 
								
							 
						 
						
							
							
								
								[tests] Mark another stream input expected failure (with system libc++).  
							
							... 
							
							
							
							llvm-svn: 174453 
							
						 
						
							2013-02-05 22:21:52 +00:00  
				
					
						
							
							
								 
						
							
								d0f05fb1b7 
								
							 
						 
						
							
							
								
								[tests] Mark another stream input expected failure (with system libc++).  
							
							... 
							
							
							
							llvm-svn: 174452 
							
						 
						
							2013-02-05 22:10:28 +00:00  
				
					
						
							
							
								 
						
							
								5ce9a5358b 
								
							 
						 
						
							
							
								
								[tests] Mark some string.conversions expected failures (with system libc++).  
							
							... 
							
							
							
							llvm-svn: 174451 
							
						 
						
							2013-02-05 22:10:27 +00:00  
				
					
						
							
							
								 
						
							
								1a7f7bc6bf 
								
							 
						 
						
							
							
								
								[tests] XFAIL a few things that require libc (?) support missing on Darwin.  
							
							... 
							
							
							
							llvm-svn: 174450 
							
						 
						
							2013-02-05 22:10:25 +00:00  
				
					
						
							
							
								 
						
							
								d15f013dc2 
								
							 
						 
						
							
							
								
								[tests] Mark some istream.unformatted expected failures (with system libc++).  
							
							... 
							
							
							
							llvm-svn: 174444 
							
						 
						
							2013-02-05 21:43:32 +00:00  
				
					
						
							
							
								 
						
							
								582c97defa 
								
							 
						 
						
							
							
								
								[tests] Add an available feature that combines the triple and use_system_lib.  
							
							... 
							
							
							
							- This is so that we can easily write XFAIL markers for tests that are known
    to fail with versions of libc++ as were shipped with a particular triple.
llvm-svn: 174443 
							
						 
						
							2013-02-05 21:43:30 +00:00  
				
					
						
							
							
								 
						
							
								f51f0319bb 
								
							 
						 
						
							
							
								
								[tests] Add support for REQUIRES and XFAIL lines in libc++ tests.  
							
							... 
							
							
							
							- We parse up to the first non-empty non-comment (C++ style) line, otherwise
   the format and semantics match what is used for LLVM/Clang tests.
 - For now, the only interesting thing to test against is a user supplied
   target_triple test parameter.
llvm-svn: 174440 
							
						 
						
							2013-02-05 21:03:25 +00:00  
				
					
						
							
							
								 
						
							
								8495871807 
								
							 
						 
						
							
							
								
								[tests] Add a 'use_system_lib' parameter.  
							
							... 
							
							
							
							- This controls whether to execute against the locally built library or
   not. The default is currently True which maps to what was already being done
   by default.
 - I'd appreciate it if someone can implement the proper handling of this flag
   on linux, I no longer remember the details of its .so handling.
llvm-svn: 174404 
							
						 
						
							2013-02-05 18:03:49 +00:00  
				
					
						
							
							
								 
						
							
								d27745e4fb 
								
							 
						 
						
							
							
								
								Make a few tests optimization-proof.  These tests were failing under -O3 because the optimizer was eliminating the call to new.  
							
							... 
							
							
							
							llvm-svn: 172631 
							
						 
						
							2013-01-16 17:56:06 +00:00  
				
					
						
							
							
								 
						
							
								980e7e7402 
								
							 
						 
						
							
							
								
								Make <cmath> classification macros work with integral types.  
							
							... 
							
							
							
							llvm-svn: 172461 
							
						 
						
							2013-01-14 20:56:22 +00:00  
				
					
						
							
							
								 
						
							
								1afbabab32 
								
							 
						 
						
							
							
								
								Fix string conversions functions to throw out_of_range properly.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=14919 .  
							
							... 
							
							
							
							llvm-svn: 172447 
							
						 
						
							2013-01-14 18:59:43 +00:00  
				
					
						
							
							
								 
						
							
								3778f27b23 
								
							 
						 
						
							
							
								
								Michael van der Westhuizen: Improve support for testing on Linux.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=14892 .  
							
							... 
							
							
							
							llvm-svn: 172436 
							
						 
						
							2013-01-14 17:12:54 +00:00  
				
					
						
							
							
								 
						
							
								f1e633c154 
								
							 
						 
						
							
							
								
								Michael van der Westhuizen:  Patches for Linux.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=14648 .  
							
							... 
							
							
							
							llvm-svn: 172435 
							
						 
						
							2013-01-14 17:07:27 +00:00  
				
					
						
							
							
								 
						
							
								8d9aec8802 
								
							 
						 
						
							
							
								
								Fix exception safety bug in vector::push_back  
							
							... 
							
							
							
							llvm-svn: 172250 
							
						 
						
							2013-01-11 20:36:59 +00:00  
				
					
						
							
							
								 
						
							
								4476100a2f 
								
							 
						 
						
							
							
								
								Made test output iterators have value_type of 'void'; matches ones in library  
							
							... 
							
							
							
							llvm-svn: 171980 
							
						 
						
							2013-01-09 17:20:02 +00:00  
				
					
						
							
							
								 
						
							
								322270842c 
								
							 
						 
						
							
							
								
								Move common header files into a 'support' directory; make 'testit' include -I to that directory; rename 'iterators.h' to 'iterator_test.h'; remove hard-coded paths to include files from more than 350 source files  
							
							... 
							
							
							
							llvm-svn: 171594 
							
						 
						
							2013-01-05 03:21:01 +00:00  
				
					
						
							
							
								 
						
							
								114676622f 
								
							 
						 
						
							
							
								
								atomic_bool was missing (just a typedef to atomic<bool>).  
							
							... 
							
							
							
							llvm-svn: 171498 
							
						 
						
							2013-01-04 18:58:50 +00:00  
				
					
						
							
							
								 
						
							
								f8c2b82337 
								
							 
						 
						
							
							
								
								...and then there was one. Only one copy of 'iterators.h' in the test tree for libc++  
							
							... 
							
							
							
							llvm-svn: 171479 
							
						 
						
							2013-01-04 18:24:04 +00:00  
				
					
						
							
							
								 
						
							
								f941359201 
								
							 
						 
						
							
							
								
								Removed another copy of  'iterators.h' files in libcxx/test  
							
							... 
							
							
							
							llvm-svn: 171456 
							
						 
						
							2013-01-03 03:57:56 +00:00  
				
					
						
							
							
								 
						
							
								cf1589f749 
								
							 
						 
						
							
							
								
								Removed several more different 'iterators.h' files in libcxx/test  
							
							... 
							
							
							
							llvm-svn: 171452 
							
						 
						
							2013-01-03 02:29:29 +00:00  
				
					
						
							
							
								 
						
							
								9b726d242f 
								
							 
						 
						
							
							
								
								Removed 7 (of 8) different 'iterators.h' files in test/localization  
							
							... 
							
							
							
							llvm-svn: 171443 
							
						 
						
							2013-01-03 01:45:09 +00:00  
				
					
						
							
							
								 
						
							
								861f006d3f 
								
							 
						 
						
							
							
								
								Klaas de Vries:  Fix bug in libc++'s std::string::find_first_not_of.  
							
							... 
							
							
							
							llvm-svn: 171321 
							
						 
						
							2012-12-31 20:09:48 +00:00  
				
					
						
							
							
								 
						
							
								d15de653f0 
								
							 
						 
						
							
							
								
								Test case for  http://llvm.org/bugs/show_bug.cgi?id=14670 .  
							
							... 
							
							
							
							llvm-svn: 170706 
							
						 
						
							2012-12-20 16:50:07 +00:00  
				
					
						
							
							
								 
						
							
								36a60721ce 
								
							 
						 
						
							
							
								
								Added static_assert to std::get<N>(std::array) calls to catch "out of bounds" calls  
							
							... 
							
							
							
							llvm-svn: 170435 
							
						 
						
							2012-12-18 16:46:30 +00:00  
				
					
						
							
							
								 
						
							
								16694b5df5 
								
							 
						 
						
							
							
								
								Zhang Xiongpang:  Add definitions for const data members.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=14585 .  
							
							... 
							
							
							
							llvm-svn: 170026 
							
						 
						
							2012-12-12 21:14:28 +00:00  
				
					
						
							
							
								 
						
							
								9f4328b173 
								
							 
						 
						
							
							
								
								Modify testit to use the local headers and lib.  Thanks go to Jeffrey Yasskin.  
							
							... 
							
							
							
							llvm-svn: 169686 
							
						 
						
							2012-12-09 00:12:14 +00:00  
				
					
						
							
							
								 
						
							
								7c4b853e74 
								
							 
						 
						
							
							
								
								tests/lit: Change test default parameters to assume local build.  
							
							... 
							
							
							
							- Also, support overriding them with lit parameters.
llvm-svn: 168749 
							
						 
						
							2012-11-27 23:56:28 +00:00  
				
					
						
							
							
								 
						
							
								c43826f003 
								
							 
						 
						
							
							
								
								Add overflow check to tanh(complex) and reduce to finite answer.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=13874  
							
							... 
							
							
							
							llvm-svn: 164266 
							
						 
						
							2012-09-19 23:51:47 +00:00  
				
					
						
							
							
								 
						
							
								c51171e0e9 
								
							 
						 
						
							
							
								
								Loosen up the timing requirements on 4 more tests.  
							
							... 
							
							
							
							llvm-svn: 161289 
							
						 
						
							2012-08-04 00:47:42 +00:00  
				
					
						
							
							
								 
						
							
								fb2f0a5e01 
								
							 
						 
						
							
							
								
								Andrew Morrow: There are two tests under test/utilities/memory that heap allocate two  
							
							... 
							
							
							
							integers which remain unused and are subsequently leaked, so the test
fail when run under valgrind. Unless I'm overlooking a subtle reason
why they are needed I think they can be removed, allowing these tests
to pass under valgrind. The attached patch removes the variables. If
there is a reason for them to exist, I can change this to just delete
them at the end of the test.
llvm-svn: 161195 
							
						 
						
							2012-08-02 18:39:48 +00:00  
				
					
						
							
							
								 
						
							
								c1a45fb70f 
								
							 
						 
						
							
							
								
								Andrew Morrow: The attached patch updates the lit.config for libc++ unit tests so  
							
							... 
							
							
							
							that the valgrind configuration passed to lit.py is used to run .pass
tests.
llvm-svn: 161193 
							
						 
						
							2012-08-02 18:36:47 +00:00  
				
					
						
							
							
								 
						
							
								a30af5f7cd 
								
							 
						 
						
							
							
								
								Andrew Morrow: This patch fixes  
							
							... 
							
							
							
							test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
to accept '(nil)' as a valid representation for NULL so that the test
passes on Linux. The same thing is already done in some other tests,
like in /test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp.
llvm-svn: 161188 
							
						 
						
							2012-08-02 18:12:06 +00:00  
				
					
						
							
							
								 
						
							
								d77851e837 
								
							 
						 
						
							
							
								
								Implement [util.smartptr.shared.atomic].  This is the last unimplemented  
							
							... 
							
							
							
							section in libc++.  This requires a recompiled dylib.  Failure to rebuild
the dylib will result in a link-time error if and only if the functions from
[util.smartptr.shared.atomic] are used.
The implementation is not lock free.  After considerable thought, I know of no
way to make the implementation lock free.  Ideas welcome along that front.  But
changing the ABI of shared_ptr is not on the table at this point.
The mutex used to lock these function is encapsulated by std::__sp_mut.  The
only thing the client knows about std::__sp_mut is that it has a void* data
member, can't be constructed, and has lock and unlock members.  Within the
binary __sp_mut is currently implemented as a pointer to a std::mutex.  That can
change in the future without disturbing the ABI (as long as sizeof(__sp_mut)
remains constant.
I specifically did not make __sp_mut a spin lock as I have a pathological
distrust of spin locks.  Testing on OS X reveals that the use of std::mutex in
this role is not a large performance penalty as long as the contention for the
mutex is low (more likely to get the lock than to have to wait).  In the future
we can still make __sp_mut a spin lock if that is what is desired (without ABI
damage).
The dylib contains 16 __sp_mut's to be chosen based on the hash of the address
of the shared_ptr.  The constant 16 is a ball-park reasonable space/time
tradeoff.
std::hash<T*> was changed to call __murmur2_or_cityhash, instead of the identity
function.  I had thought we had already done this, but I was mistaken.
All of this is under #if __has_feature(cxx_atomic) even though the
implementation is not lock free, because the signatures require access to
std::memory_order, which is currently available only under
__has_feature(cxx_atomic).
llvm-svn: 160940 
							
						 
						
							2012-07-30 01:40:57 +00:00  
				
					
						
							
							
								 
						
							
								a1d07d57a7 
								
							 
						 
						
							
							
								
								<algorithm> no longer needs to include <cstdlib>, but can get away with just <cstddef>.  This was brought to my attention by Salvatore Benedetto in his port to a bare-metal coretex-m3.  This exposed two test bugs where an explicit #include <cstdlib> was needed.  
							
							... 
							
							
							
							llvm-svn: 160786 
							
						 
						
							2012-07-26 17:09:09 +00:00  
				
					
						
							
							
								 
						
							
								02e610ef34 
								
							 
						 
						
							
							
								
								noexcept and constexpr applied to <mutex>.  
							
							... 
							
							
							
							llvm-svn: 160604 
							
						 
						
							2012-07-21 16:13:09 +00:00  
				
					
						
							
							
								 
						
							
								5d926bf1b8 
								
							 
						 
						
							
							
								
								noexcept and constexpr applied to <ios>.  
							
							... 
							
							
							
							llvm-svn: 160593 
							
						 
						
							2012-07-21 01:03:40 +00:00  
				
					
						
							
							
								 
						
							
								f4e11de8e8 
								
							 
						 
						
							
							
								
								constexpr applied to <complex>.  
							
							... 
							
							
							
							llvm-svn: 160585 
							
						 
						
							2012-07-20 22:18:27 +00:00  
				
					
						
							
							
								 
						
							
								11ac39722c 
								
							 
						 
						
							
							
								
								Relax the tolerances on some timing tests.  
							
							... 
							
							
							
							llvm-svn: 160566 
							
						 
						
							2012-07-20 19:48:05 +00:00  
				
					
						
							
							
								 
						
							
								8e882dcb2e 
								
							 
						 
						
							
							
								
								noexcept applied to <iterator>.  
							
							... 
							
							
							
							llvm-svn: 160565 
							
						 
						
							2012-07-20 19:36:34 +00:00  
				
					
						
							
							
								 
						
							
								397717b7c8 
								
							 
						 
						
							
							
								
								constexpr applied to <array>.  
							
							... 
							
							
							
							llvm-svn: 160564 
							
						 
						
							2012-07-20 19:20:49 +00:00  
				
					
						
							
							
								 
						
							
								403845ba75 
								
							 
						 
						
							
							
								
								Relax the complete-type checks that are happening under __invokable<Fp, Args...> to only check Fp, and not Args... .  This should be sufficient to give the desired high quality diagnostics under both bind and function.  And this allows a test reported by Rich E on cfe-dev to pass.  Tracked by <rdar://problem/11880602>.  
							
							... 
							
							
							
							llvm-svn: 160285 
							
						 
						
							2012-07-16 16:17:34 +00:00  
				
					
						
							
							
								 
						
							
								c033115394 
								
							 
						 
						
							
							
								
								Applied constexpr to <chrono>.  
							
							... 
							
							
							
							llvm-svn: 160184 
							
						 
						
							2012-07-13 19:17:27 +00:00  
				
					
						
							
							
								 
						
							
								9146984e73 
								
							 
						 
						
							
							
								
								Fixed a bug in wstring_convert concerning zero-length inputs.  Thanks to Jonathan Coxhead for reporting this bug.  
							
							... 
							
							
							
							llvm-svn: 160136 
							
						 
						
							2012-07-12 18:07:41 +00:00  
				
					
						
							
							
								 
						
							
								38b99b025c 
								
							 
						 
						
							
							
								
								Add test for self-referencing emplace test.  
							
							... 
							
							
							
							llvm-svn: 159921 
							
						 
						
							2012-07-09 02:47:43 +00:00  
				
					
						
							
							
								 
						
							
								eeac9fcfb7 
								
							 
						 
						
							
							
								
								Apply constexpr to <bitset>.  
							
							... 
							
							
							
							llvm-svn: 159899 
							
						 
						
							2012-07-07 17:04:52 +00:00  
				
					
						
							
							
								 
						
							
								a62ebe043e 
								
							 
						 
						
							
							
								
								Give tuple a constexpr default constructor.  
							
							... 
							
							
							
							llvm-svn: 159857 
							
						 
						
							2012-07-06 20:39:45 +00:00  
				
					
						
							
							
								 
						
							
								227001d12e 
								
							 
						 
						
							
							
								
								Add noexcept test for offsetof macro per [support.types]/p4.  
							
							... 
							
							
							
							llvm-svn: 159846 
							
						 
						
							2012-07-06 18:39:01 +00:00  
				
					
						
							
							
								 
						
							
								4cb38a82a2 
								
							 
						 
						
							
							
								
								This commit establishes a new bucket_count policy in the unordered containers:  The policy now allows a power-of-2 number of buckets to be requested (and that request honored) by the client.  And if the number of buckets is set to a power of 2, then the constraint of the hash to the number of buckets uses & instead of %.  If the client does not specify a number of buckets, then the policy remains unchanged:  a prime number of buckets is selected.  The growth policy is that the number of buckets is roughly doubled when needed.  While growing, either the prime, or the power-of-2 strategy will be preserved.  There is a small run time cost for putting in this switch.  For very cheap hash functions, e.g. identity for int, the cost can be as high as 18%.  However with more typical use cases, e.g. strings, the cost is in the noise level.  I've measured cases with very cheap hash functions (int) that using a power-of-2 number of buckets can make look up about twice as fast.  However I've also noted that a power-of-2 number of buckets is more susceptible to accidental catastrophic collisions.  Though I've also noted that accidental catastrophic collisions are also possible when using a prime number of buckets (but seems far less likely).  In short, this patch adds an extra tuning knob for those clients trying to get the last bit of performance squeezed out of their hash containers.  Casual users of the hash containers will not notice the introduction of this tuning knob.  Those clients who swear by power-of-2 hash containers can now opt-in to that strategy.  Clients who prefer a prime number of buckets can continue as they have.  
							
							... 
							
							
							
							llvm-svn: 159836 
							
						 
						
							2012-07-06 17:31:14 +00:00  
				
					
						
							
							
								 
						
							
								0bc272cf9a 
								
							 
						 
						
							
							
								
								Fix a few testsuite bugs involving trailing null (or lack thereof) in strstream.  
							
							... 
							
							
							
							llvm-svn: 157832 
							
						 
						
							2012-06-01 20:02:59 +00:00  
				
					
						
							
							
								 
						
							
								8b805c915a 
								
							 
						 
						
							
							
								
								The rules for emplace in map, multimap, unordered_map and unordered_multimap changed a while back and I'm just now updating to these new rules.  In a nutshell, you've got to know you're emplacing to a pair and use one of pair's constructors.  I made one extension:  If you want to emplace the key and default construct the mapped_type, you can just emplace(key), as opposed to emplace(piecewise_construct, forward_as_tuple(key), forward_as_tuple()).  
							
							... 
							
							
							
							llvm-svn: 157503 
							
						 
						
							2012-05-25 22:04:21 +00:00  
				
					
						
							
							
								 
						
							
								99f15d6eb7 
								
							 
						 
						
							
							
								
								libc++: Add some missing #includes to atomics tests. libc++ doesn't need these  
							
							... 
							
							
							
							at the moment, but they allow these tests to be used to test clang against
libstdc++. Add myself to the credits file, as suggested by Howard.
llvm-svn: 155085 
							
						 
						
							2012-04-19 00:50:47 +00:00  
				
					
						
							
							
								 
						
							
								4fa71de024 
								
							 
						 
						
							
							
								
								Fix the remaining atomic tests, all of which were wrong for the case where a  
							
							... 
							
							
							
							compare-and-exchange failed (it should update the expected value to the current
value, and the tests were checking that it didn't...).
Results of the atomics part of the test suite on FreeBSD with clang trunk and
the atomic.c from compiler-rt (currently kludged into the test, not installed
properly):
****************************************************
Results for /root/libc++/test/atomics:
using clang version 3.1 (trunk 153415)
Target: x86_64-unknown-freebsd10.0
Thread model: posix
with -std=c++0x -stdlib=libc++ -pthread /tmp/atomic.o  
----------------------------------------------------
sections without tests   : 0
sections with failures   : 0
sections without failures: 14
                       +   ----
total number of sections : 14
----------------------------------------------------
number of tests failed   : 0
number of tests passed   : 52
                       +   ----
total number of tests    : 52
****************************************************
Yay!
llvm-svn: 154095 
							
						 
						
							2012-04-05 13:48:16 +00:00  
				
					
						
							
							
								 
						
							
								ca917f5342 
								
							 
						 
						
							
							
								
								Fix test cases that were trying to make atomic things that are not trivially copyable.  
							
							... 
							
							
							
							Now all of the test cases compile.  Some of them even run!
llvm-svn: 154094 
							
						 
						
							2012-04-05 13:23:08 +00:00  
				
					
						
							
							
								 
						
							
								e386b7b360 
								
							 
						 
						
							
							
								
								Update <random> with constexpr support.  Patch contributed by Jonathan Sauer.  
							
							... 
							
							
							
							llvm-svn: 153896 
							
						 
						
							2012-04-02 21:00:45 +00:00  
				
					
						
							
							
								 
						
							
								e8df82fa1a 
								
							 
						 
						
							
							
								
								Fix test for default constructor of discrete_distribution.  This partially addresses  http://llvm.org/bugs/show_bug.cgi?id=12436 .  
							
							... 
							
							
							
							llvm-svn: 153873 
							
						 
						
							2012-04-02 15:00:14 +00:00  
				
					
						
							
							
								 
						
							
								0527c6207a 
								
							 
						 
						
							
							
								
								I believe tuple is still under development in the standard.  Daniel Krugler is/will be making convincing arguments that a modified form of LWG 2051 (currently NAD Future) is easily acheivable and desirable.  He has demonstrated that a tuple<T...> where all of the T are implicitly convertible from U... should have a tuple constructor that is also implicit, instead of explicit.  This would support the use cases in LWG 2051 while not undermining T... with explicit conversions from U....  This check-in is an experimental implementation of Daniel's work.  I believe this work to be mature enough to warrant inclusion into libc++.  If anyone sees real-world problems that this check in causes, please let me know and I will revert it, and provide the feedback to the LWG.  
							
							... 
							
							
							
							llvm-svn: 153855 
							
						 
						
							2012-04-01 23:10:42 +00:00  
				
					
						
							
							
								 
						
							
								b2f52bb982 
								
							 
						 
						
							
							
								
								Allow libc++ to be built with CMake from within the LLVM tree. The libc++ part is just some renaming as the variable  was already in use, conflicting with something else in the LLVM tree.  Contributed by Ruben Van Boxem.  
							
							... 
							
							
							
							llvm-svn: 153036 
							
						 
						
							2012-03-19 15:40:23 +00:00  
				
					
						
							
							
								 
						
							
								2f4cb4d79d 
								
							 
						 
						
							
							
								
								Don't refer to a function that doesn't exist in the quick_exit test.  
							
							... 
							
							
							
							llvm-svn: 152716 
							
						 
						
							2012-03-14 14:02:15 +00:00  
				
					
						
							
							
								 
						
							
								9c95b19f9e 
								
							 
						 
						
							
							
								
								Fix moneypunct_byname algorithm to more accurately represent C locales in C++.  
							
							... 
							
							
							
							llvm-svn: 152501 
							
						 
						
							2012-03-10 18:31:43 +00:00  
				
					
						
							
							
								 
						
							
								66d4573786 
								
							 
						 
						
							
							
								
								Make the failure reporting in testit a bit more useful.  
							
							... 
							
							
							
							llvm-svn: 151719 
							
						 
						
							2012-02-29 13:00:44 +00:00  
				
					
						
							
							
								 
						
							
								26bba442ac 
								
							 
						 
						
							
							
								
								update test for explicit bool operator.  
							
							... 
							
							
							
							llvm-svn: 151461 
							
						 
						
							2012-02-25 21:43:14 +00:00  
				
					
						
							
							
								 
						
							
								167d0fbb8a 
								
							 
						 
						
							
							
								
								Silence some warnings in a test.  
							
							... 
							
							
							
							llvm-svn: 151451 
							
						 
						
							2012-02-25 20:04:11 +00:00  
				
					
						
							
							
								 
						
							
								8d01935c09 
								
							 
						 
						
							
							
								
								Hook up to the new clang __is_trivially_constructible and __is_trivially_assignable traits.  Fixes r10925427 and  http://llvm.org/bugs/show_bug.cgi?id=12038 .  
							
							... 
							
							
							
							llvm-svn: 151406 
							
						 
						
							2012-02-24 23:32:26 +00:00  
				
					
						
							
							
								 
						
							
								d9d5b4492b 
								
							 
						 
						
							
							
								
								Use Xcode relative compilers when possible  
							
							... 
							
							
							
							llvm-svn: 151108 
							
						 
						
							2012-02-22 00:20:30 +00:00  
				
					
						
							
							
								 
						
							
								67f3964766 
								
							 
						 
						
							
							
								
								Modernize relational operators for shared_ptr and unique_ptr.  This includes adding support for nullptr, and using less<T*>.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=12056 .  
							
							... 
							
							
							
							llvm-svn: 151084 
							
						 
						
							2012-02-21 21:02:58 +00:00  
				
					
						
							
							
								 
						
							
								08487f51b7 
								
							 
						 
						
							
							
								
								Relax pointer output test to accept glibc's output.  Patch supplied by Jeffrey Yasskin.  
							
							... 
							
							
							
							llvm-svn: 150927 
							
						 
						
							2012-02-19 14:51:01 +00:00  
				
					
						
							
							
								 
						
							
								c7cf23e4bf 
								
							 
						 
						
							
							
								
								Exercise rvalue arguements to make_shared for C++11 mode.  
							
							... 
							
							
							
							llvm-svn: 150887 
							
						 
						
							2012-02-18 20:12:03 +00:00  
				
					
						
							
							
								 
						
							
								fa8df7db88 
								
							 
						 
						
							
							
								
								tuple was accidentally lacking a valid copy assignment operator.  It went undetected because I had failed to test assigning from a const lvalue.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=11921  
							
							... 
							
							
							
							llvm-svn: 150613 
							
						 
						
							2012-02-15 20:13:52 +00:00  
				
					
						
							
							
								 
						
							
								6560953383 
								
							 
						 
						
							
							
								
								Do not parse sign if a sign is not the next legal character when parsing floating point from an input stream.  Fixes  http://llvm.org/bugs/show_bug.cgi?id=11871  
							
							... 
							
							
							
							llvm-svn: 150609 
							
						 
						
							2012-02-15 19:19:37 +00:00  
				
					
						
							
							
								 
						
							
								fac8c8866d 
								
							 
						 
						
							
							
								
								Remove quotes from locale name identifier.  Credit Edward Meewis.  
							
							... 
							
							
							
							llvm-svn: 146655 
							
						 
						
							2011-12-15 15:01:38 +00:00  
				
					
						
							
							
								 
						
							
								f3d14a65ca 
								
							 
						 
						
							
							
								
								Starting using murmur2 when combining multiple size_t's into a single hash, and also for basic_string.  Also made hash<thread::id> ever so slighly more portable.  I had to tweak one test which is questionable (definitely not portable) anyway.  
							
							... 
							
							
							
							llvm-svn: 145795 
							
						 
						
							2011-12-05 00:08:45 +00:00  
				
					
						
							
							
								 
						
							
								1196716270 
								
							 
						 
						
							
							
								
								unord test fixes by Edward Meewis  
							
							... 
							
							
							
							llvm-svn: 145707 
							
						 
						
							2011-12-02 21:23:14 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								05e485879c 
								
							 
						 
						
							
							
								
								Fix ratio arithmetic with zero  
							
							... 
							
							
							
							llvm-svn: 143519 
							
						 
						
							2011-11-01 23:13:37 +00:00  
				
					
						
							
							
								 
						
							
								1ed7df111b 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10256836> getline of an empty string mistakenly causes failure  
							
							... 
							
							
							
							llvm-svn: 141506 
							
						 
						
							2011-10-09 15:20:46 +00:00  
				
					
						
							
							
								 
						
							
								2a4812fd04 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/10255403> match_results::begin() is off by one  
							
							... 
							
							
							
							llvm-svn: 141494 
							
						 
						
							2011-10-08 14:36:16 +00:00  
				
					
						
							
							
								 
						
							
								33a30f4159 
								
							 
						 
						
							
							
								
								Windows porting work by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 141003 
							
						 
						
							2011-10-03 15:23:59 +00:00  
				
					
						
							
							
								 
						
							
								20dde1e8fb 
								
							 
						 
						
							
							
								
								Updated testit to run on Windows and fresh Windows results by Ruben Van Boxem  
							
							... 
							
							
							
							llvm-svn: 140950 
							
						 
						
							2011-10-01 15:34:27 +00:00  
				
					
						
							
							
								 
						
							
								920b56ca88 
								
							 
						 
						
							
							
								
								Another installment on debug mode.  This addresses list.  However this should be considered a temporary state.  The API of the debug database and how vector and list use it, is unsatisfactory at the moment.  It is both inefficient and overly verbose.  I wanted to get this functionality checked in though.  In the next day or so I'll refactor what is there in an attempt to streamline things.  
							
							... 
							
							
							
							llvm-svn: 140660 
							
						 
						
							2011-09-27 23:55:03 +00:00  
				
					
						
							
							
								 
						
							
								cf50df9d94 
								
							 
						 
						
							
							
								
								Fix test bugs found by David Chisnall  
							
							... 
							
							
							
							llvm-svn: 140271 
							
						 
						
							2011-09-21 18:33:46 +00:00  
				
					
						
							
							
								 
						
							
								580eccb05a 
								
							 
						 
						
							
							
								
								Fix locales used in re tests.  
							
							... 
							
							
							
							llvm-svn: 140265 
							
						 
						
							2011-09-21 17:38:03 +00:00  
				
					
						
							
							
								 
						
							
								13bddcf1bc 
								
							 
						 
						
							
							
								
								Remove undefines in cstdio test.  Fix these properly rather than bodging the tests.  
							
							... 
							
							
							
							llvm-svn: 140264 
							
						 
						
							2011-09-21 17:37:18 +00:00  
				
					
						
							
							
								 
						
							
								ecccb1f868 
								
							 
						 
						
							
							
								
								More +.UTF-8 fixes.  
							
							... 
							
							
							
							llvm-svn: 140262 
							
						 
						
							2011-09-21 17:35:42 +00:00  
				
					
						
							
							
								 
						
							
								b996af1fe7 
								
							 
						 
						
							
							
								
								Fix failure found by David Chisnall  
							
							... 
							
							
							
							llvm-svn: 140255 
							
						 
						
							2011-09-21 16:42:32 +00:00  
				
					
						
							
							
								 
						
							
								71850c961d 
								
							 
						 
						
							
							
								
								More fixes to the tests.  Add UTF-8 encoding to all locales that don't specify one.  Undefine some stdio.h macros that break the tests.  
							
							... 
							
							
							
							llvm-svn: 140252 
							
						 
						
							2011-09-21 14:59:10 +00:00  
				
					
						
							
							
								 
						
							
								b25f615c58 
								
							 
						 
						
							
							
								
								Fully-qualify some more locales in the tests...  
							
							... 
							
							
							
							llvm-svn: 140251 
							
						 
						
							2011-09-21 14:48:49 +00:00  
				
					
						
							
							
								 
						
							
								1d9bdaa24d 
								
							 
						 
						
							
							
								
								Don't check STREAMS error numbers on systems that don't implement the obsolete (as described in POSIX2008) XSI STREAMS extension.  
							
							... 
							
							
							
							llvm-svn: 140248 
							
						 
						
							2011-09-21 12:23:11 +00:00  
				
					
						
							
							
								 
						
							
								8b053d5ec1 
								
							 
						 
						
							
							
								
								More locale cleanups.  Fully specify locales in iostream tests.  
							
							... 
							
							
							
							llvm-svn: 140247 
							
						 
						
							2011-09-21 12:09:17 +00:00  
				
					
						
							
							
								 
						
							
								e36a15db17 
								
							 
						 
						
							
							
								
								Localisation test fixes to make the tests pass on FreeBSD, which does not provide shortened forms of the various locales (e.g. en_US, rather than en_US.UTF-8 / en_US.ISO{whatever}).  
							
							... 
							
							
							
							Reviewed by Howard Hinnant.
llvm-svn: 140242 
							
						 
						
							2011-09-21 08:19:20 +00:00  
				
					
						
							
							
								 
						
							
								0695db06d7 
								
							 
						 
						
							
							
								
								The vector test suite now passes for no-debug, debug-lite and debug-regular  
							
							... 
							
							
							
							llvm-svn: 139930 
							
						 
						
							2011-09-16 18:41:29 +00:00  
				
					
						
							
							
								 
						
							
								00d8c245b2 
								
							 
						 
						
							
							
								
								Reimplemented much of <istream> such that single character extractions do not check to see if this is the last character in the stream and thus never set eofbit.  This fixes  http://llvm.org/bugs/show_bug.cgi?id=10817  .  This fix requires a recompiled libc++.dylib to be fully implemented.  The recompiled libc++.dylib is ABI compatible with that shipped on Lion.  
							
							... 
							
							
							
							llvm-svn: 138961 
							
						 
						
							2011-09-01 21:02:45 +00:00  
				
					
						
							
							
								 
						
							
								54976f2619 
								
							 
						 
						
							
							
								
								Fixed PR10574:  http://llvm.org/bugs/show_bug.cgi?id=10574  
							
							... 
							
							
							
							llvm-svn: 137522 
							
						 
						
							2011-08-12 21:56:02 +00:00  
				
					
						
							
							
								 
						
							
								09ddc43442 
								
							 
						 
						
							
							
								
								Correct test.  
							
							... 
							
							
							
							llvm-svn: 135460 
							
						 
						
							2011-07-19 01:07:49 +00:00  
				
					
						
							
							
								 
						
							
								2405470f01 
								
							 
						 
						
							
							
								
								Adjust two tests to account for a nasty change in copying behavior  
							
							... 
							
							
							
							between C++03 and C++0x and its effect on exceptions, and another two to
not test move construction when rvalue references are not available.
llvm-svn: 135445 
							
						 
						
							2011-07-18 23:51:25 +00:00  
				
					
						
							
							
								 
						
							
								483cf24547 
								
							 
						 
						
							
							
								
								Make all fstream tests use tmpnam if creating files, rather than  
							
							... 
							
							
							
							hard-coded names.
llvm-svn: 135444 
							
						 
						
							2011-07-18 23:51:21 +00:00  
				
					
						
							
							
								 
						
							
								4c14ed75ee 
								
							 
						 
						
							
							
								
								Do a litmus test of using tmpnam to generate safe temporary file names  
							
							... 
							
							
							
							for the tests that open new data files.
llvm-svn: 135422 
							
						 
						
							2011-07-18 20:46:16 +00:00  
				
					
						
							
							
								 
						
							
								397d787642 
								
							 
						 
						
							
							
								
								Given that __underlying_type is now available in clang, implement  
							
							... 
							
							
							
							std::underlying_type.
llvm-svn: 135410 
							
						 
						
							2011-07-18 18:37:21 +00:00  
				
					
						
							
							
								 
						
							
								f3ff971561 
								
							 
						 
						
							
							
								
								Give A an explicitly non-throwing destructor so that B's destructor is  
							
							... 
							
							
							
							itself non-throwing.  Since nested_exception's destructor is
non-throwing, if B's destructor is not, this causes an error in C++03
mode due to the overriding function having a more lax specification.
This did not occur in C++0x mode as A's destructor was implicitly
non-throwing.
llvm-svn: 135400 
							
						 
						
							2011-07-18 17:07:53 +00:00  
				
					
						
							
							
								 
						
							
								bbe2b9dbc4 
								
							 
						 
						
							
							
								
								Fix wchar tests by not assuming that tm is complete and by using the  
							
							... 
							
							
							
							proper va_list time on non-darwin platforms.
llvm-svn: 135247 
							
						 
						
							2011-07-15 05:44:47 +00:00  
				
					
						
							
							
								 
						
							
								11af28bdbd 
								
							 
						 
						
							
							
								
								Fixing up some ABI issues  
							
							... 
							
							
							
							llvm-svn: 134639 
							
						 
						
							2011-07-07 21:03:52 +00:00  
				
					
						
							
							
								 
						
							
								dca31a7964 
								
							 
						 
						
							
							
								
								<inttypes.h> does not necessarily include <stdint.h>. Accordingly, do  
							
							... 
							
							
							
							not test for this.
llvm-svn: 134531 
							
						 
						
							2011-07-06 20:52:28 +00:00  
				
					
						
							
							
								 
						
							
								5a33687da0 
								
							 
						 
						
							
							
								
								Correct for new rules regarding implicitly deleted special members.  http://llvm.org/bugs/show_bug.cgi?id=10191  
							
							... 
							
							
							
							llvm-svn: 134248 
							
						 
						
							2011-07-01 19:24:36 +00:00  
				
					
						
							
							
								 
						
							
								878e035ea1 
								
							 
						 
						
							
							
								
								test for pair piecewise construction  
							
							... 
							
							
							
							llvm-svn: 133667 
							
						 
						
							2011-06-22 23:51:19 +00:00  
				
					
						
							
							
								 
						
							
								bd0c160078 
								
							 
						 
						
							
							
								
								noexcept for <stack>.  This completes noexcept for Chapter 23 [containers].  
							
							... 
							
							
							
							llvm-svn: 132652 
							
						 
						
							2011-06-04 22:09:19 +00:00  
				
					
						
							
							
								 
						
							
								6971d82668 
								
							 
						 
						
							
							
								
								noexcept for <queue>.  
							
							... 
							
							
							
							llvm-svn: 132650 
							
						 
						
							2011-06-04 21:32:33 +00:00  
				
					
						
							
							
								 
						
							
								557da866a3 
								
							 
						 
						
							
							
								
								noexcept for <unordered_set>.  
							
							... 
							
							
							
							llvm-svn: 132647 
							
						 
						
							2011-06-04 20:18:37 +00:00  
				
					
						
							
							
								 
						
							
								3714107ed6 
								
							 
						 
						
							
							
								
								noexcept for <unordered_map>.  
							
							... 
							
							
							
							llvm-svn: 132646 
							
						 
						
							2011-06-04 18:54:24 +00:00  
				
					
						
							
							
								 
						
							
								0e9f71c13f 
								
							 
						 
						
							
							
								
								noexcept for <set>.  Plus a few fixes to noexcept for <map>.  
							
							... 
							
							
							
							llvm-svn: 132640 
							
						 
						
							2011-06-04 15:22:34 +00:00  
				
					
						
							
							
								 
						
							
								1052ee39cb 
								
							 
						 
						
							
							
								
								noexcept for <map>.  
							
							... 
							
							
							
							llvm-svn: 132639 
							
						 
						
							2011-06-04 14:31:57 +00:00  
				
					
						
							
							
								 
						
							
								3297ed7065 
								
							 
						 
						
							
							
								
								noexcept for <vector>.  This also includes installing move_if_noexcept() into vector.  
							
							... 
							
							
							
							llvm-svn: 132577 
							
						 
						
							2011-06-03 19:40:40 +00:00  
				
					
						
							
							
								 
						
							
								2d45a18c24 
								
							 
						 
						
							
							
								
								Bring noexcept for <string> inline with other containers.  
							
							... 
							
							
							
							llvm-svn: 132573 
							
						 
						
							2011-06-03 18:40:47 +00:00  
				
					
						
							
							
								 
						
							
								4590010473 
								
							 
						 
						
							
							
								
								noexcept for <list>.  
							
							... 
							
							
							
							llvm-svn: 132562 
							
						 
						
							2011-06-03 17:30:28 +00:00  
				
					
						
							
							
								 
						
							
								91a4750733 
								
							 
						 
						
							
							
								
								noexcept for <forward_list>.  
							
							... 
							
							
							
							llvm-svn: 132553 
							
						 
						
							2011-06-03 16:20:53 +00:00  
				
					
						
							
							
								 
						
							
								801291139c 
								
							 
						 
						
							
							
								
								After sleeping on it I've decided that all special members that can be noexcept, should be declared so.  The client has the traits to detect and branch on this information, and it is often an important optimization.  Give deque() a noexcept.  Add test for deque default constructor and deque destructor.  
							
							... 
							
							
							
							llvm-svn: 132549 
							
						 
						
							2011-06-03 15:16:49 +00:00  
				
					
						
							
							
								 
						
							
								60954bbbbc 
								
							 
						 
						
							
							
								
								Add noexcept tests for deque.  
							
							... 
							
							
							
							llvm-svn: 132523 
							
						 
						
							2011-06-03 01:46:22 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								c2bf9e1851 
								
							 
						 
						
							
							
								
								This commit was accidental.  Reverting.  
							
							... 
							
							
							
							llvm-svn: 131514 
							
						 
						
							2011-05-18 00:47:00 +00:00  
				
					
						
							
							
								 
						
							
								781afe1934 
								
							 
						 
						
							
							
								
								A bunch of future tests got invalidated with the latest updates to thread.  Fixed the tests.  
							
							... 
							
							
							
							llvm-svn: 131509 
							
						 
						
							2011-05-17 23:32:48 +00:00  
				
					
						
							
							
								 
						
							
								5fdeee5b3a 
								
							 
						 
						
							
							
								
								Fix and beef up test bug for move_if_noexcept  
							
							... 
							
							
							
							llvm-svn: 131483 
							
						 
						
							2011-05-17 20:10:42 +00:00  
				
					
						
							
							
								 
						
							
								fe7e3eeddc 
								
							 
						 
						
							
							
								
								Clean up a bunch of warnings in the tests, 3 of which actually turned out to be test bugs.  
							
							... 
							
							
							
							llvm-svn: 131479 
							
						 
						
							2011-05-17 19:12:55 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								15c34d48ba 
								
							 
						 
						
							
							
								
								Redesign of result_of to handle reference-qualified member functions  
							
							... 
							
							
							
							llvm-svn: 131407 
							
						 
						
							2011-05-16 16:17:21 +00:00  
				
					
						
							
							
								 
						
							
								af6c26b366 
								
							 
						 
						
							
							
								
								Warning suppression in test.  
							
							... 
							
							
							
							llvm-svn: 131344 
							
						 
						
							2011-05-14 15:38:08 +00:00  
				
					
						
							
							
								 
						
							
								3962348edf 
								
							 
						 
						
							
							
								
								Warning suppression in test.  
							
							... 
							
							
							
							llvm-svn: 131343 
							
						 
						
							2011-05-14 15:36:25 +00:00  
				
					
						
							
							
								 
						
							
								6c4c6a8047 
								
							 
						 
						
							
							
								
								Warning suppression in test.  
							
							... 
							
							
							
							llvm-svn: 131341 
							
						 
						
							2011-05-14 14:53:12 +00:00  
				
					
						
							
							
								 
						
							
								c6b9ff1169 
								
							 
						 
						
							
							
								
								Correction to hexfloat hack.  
							
							... 
							
							
							
							llvm-svn: 131340 
							
						 
						
							2011-05-14 14:33:56 +00:00  
				
					
						
							
							
								 
						
							
								e0d67710e9 
								
							 
						 
						
							
							
								
								Fix test bug.  
							
							... 
							
							
							
							llvm-svn: 131328 
							
						 
						
							2011-05-14 00:07:53 +00:00  
				
					
						
							
							
								 
						
							
								fe7cffaf57 
								
							 
						 
						
							
							
								
								Suppress some warings in the tests.  
							
							... 
							
							
							
							llvm-svn: 131327 
							
						 
						
							2011-05-14 00:04:05 +00:00  
				
					
						
							
							
								 
						
							
								a7fa0710cb 
								
							 
						 
						
							
							
								
								Suppress some warings in the tests.  
							
							... 
							
							
							
							llvm-svn: 131326 
							
						 
						
							2011-05-13 23:59:50 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								a23551cad4 
								
							 
						 
						
							
							
								
								Fix bug in Sseq constraints found by Seth Cantrell  
							
							... 
							
							
							
							llvm-svn: 129285 
							
						 
						
							2011-04-11 18:22:12 +00:00  
				
					
						
							
							
								 
						
							
								e4b11156d7 
								
							 
						 
						
							
							
								
								Corrected tests for  http://llvm.org/bugs/show_bug.cgi?id=9351  
							
							... 
							
							
							
							llvm-svn: 128807 
							
						 
						
							2011-04-04 01:42:30 +00:00  
				
					
						
							
							
								 
						
							
								e4bafbee25 
								
							 
						 
						
							
							
								
								... And these wonderful tests.  
							
							... 
							
							
							
							llvm-svn: 128797 
							
						 
						
							2011-04-03 20:06:31 +00:00  
				
					
						
							
							
								 
						
							
								4f8ccdf2f8 
								
							 
						 
						
							
							
								
								<rdar://problem/9073695> std::uncaught_exception() becomes true before evaluating the throw-expression rather than after  
							
							... 
							
							
							
							llvm-svn: 127499 
							
						 
						
							2011-03-11 22:33:07 +00:00  
				
					
						
							
							
								 
						
							
								709b108ae1 
								
							 
						 
						
							
							
								
								Corrected const-correctness on nullptr type_traits, and beefed up the test for nullptr_t.  
							
							... 
							
							
							
							llvm-svn: 127338 
							
						 
						
							2011-03-09 17:17:06 +00:00  
				
					
						
							
							
								 
						
							
								a8d8ca4d6f 
								
							 
						 
						
							
							
								
								http://llvm.org/bugs/show_bug.cgi?id=9326  
							
							... 
							
							
							
							llvm-svn: 126504 
							
						 
						
							2011-02-25 19:52:41 +00:00  
				
					
						
							
							
								 
						
							
								bd356a8011 
								
							 
						 
						
							
							
								
								Update testit to default to clang  
							
							... 
							
							
							
							llvm-svn: 125498 
							
						 
						
							2011-02-14 18:06:10 +00:00  
				
					
						
							
							
								 
						
							
								2774545736 
								
							 
						 
						
							
							
								
								Bug 9096 - list::iterator not default constructible  
							
							... 
							
							
							
							llvm-svn: 124508 
							
						 
						
							2011-01-28 23:46:28 +00:00  
				
					
						
							
							
								 
						
							
								d44be13fa8 
								
							 
						 
						
							
							
								
								minor corrections to test, and hook is_base_of up to clang intrinsic  
							
							... 
							
							
							
							llvm-svn: 124502 
							
						 
						
							2011-01-28 20:00:37 +00:00  
				
					
						
							
							
								 
						
							
								389eb9b54a 
								
							 
						 
						
							
							
								
								placeholder test  
							
							... 
							
							
							
							llvm-svn: 124193 
							
						 
						
							2011-01-25 16:32:04 +00:00  
				
					
						
							
							
								 
						
							
								a7b2241407 
								
							 
						 
						
							
							
								
								Eliminate the C++0x-only is_convertible testing function that accepts  
							
							... 
							
							
							
							a cv-qualifier rvalue reference to the type, e.g.,
  template <class _Tp> char  __test(const volatile typename remove_reference<_Tp>::type&&);
The use of this function signature rather than the more
straightforward one used in C++98/03 mode, e.g.,
  template <class _Tp> char  __test(_Tp);
is broken in two ways:
  1) An rvalue reference cannot bind to lvalues, so is_convertible<X&,
  X&>::value would be false. This breaks two of the unique_ptr tests
  on Clang and GCC >= 4.5. Prior GCC's seem to have allowed rvalue
  references to bind to lvalues, allowing this bug to slip in.
  2) By adding cv-qualifiers to the type we're converting to, we get
  some incorrect "true" results for, e.g., is_convertible<const X&, X&>::value.
llvm-svn: 124166 
							
						 
						
							2011-01-25 01:15:41 +00:00  
				
					
						
							
							
								 
						
							
								ce395a9acd 
								
							 
						 
						
							
							
								
								Teach the Lit configuration to actually use the cxx0x setting when  
							
							... 
							
							
							
							constructing compile flags, and to link against the 'rt' library on
Linux for clock_gettime and friends.
llvm-svn: 124052 
							
						 
						
							2011-01-23 01:05:20 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								f5799be4a8 
								
							 
						 
						
							
							
								
								Add CMake build and fix major Linux blockers.  
							
							... 
							
							
							
							llvm-svn: 121510 
							
						 
						
							2010-12-10 19:47:54 +00:00  
				
					
						
							
							
								 
						
							
								7f8e26867f 
								
							 
						 
						
							
							
								
								Test adjustment for recent changes in allocator_traits  
							
							... 
							
							
							
							llvm-svn: 121503 
							
						 
						
							2010-12-10 19:22:37 +00:00  
				
					
						
							
							
								 
						
							
								088bd9aa14 
								
							 
						 
						
							
							
								
								This got accidentally removed  
							
							... 
							
							
							
							llvm-svn: 121502 
							
						 
						
							2010-12-10 19:22:00 +00:00  
				
					
						
							
							
								 
						
							
								966b5a3157 
								
							 
						 
						
							
							
								
								N3158 Missing preconditions for default-constructed match_result objects  
							
							... 
							
							
							
							llvm-svn: 121282 
							
						 
						
							2010-12-08 21:07:55 +00:00  
				
					
						
							
							
								 
						
							
								3135def61d 
								
							 
						 
						
							
							
								
								cleaning up...  
							
							... 
							
							
							
							llvm-svn: 121275 
							
						 
						
							2010-12-08 20:09:09 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								0e1cd17d0a 
								
							 
						 
						
							
							
								
								atomics ...  
							
							... 
							
							
							
							llvm-svn: 121202 
							
						 
						
							2010-12-07 23:20:28 +00:00  
				
					
						
							
							
								 
						
							
								c772a62096 
								
							 
						 
						
							
							
								
								Work on <atomic> continues.  The file size is actually sane now...  
							
							... 
							
							
							
							llvm-svn: 121181 
							
						 
						
							2010-12-07 20:46:14 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								1596c4531b 
								
							 
						 
						
							
							
								
								N3189 Observers for the three handler functions  
							
							... 
							
							
							
							llvm-svn: 120712 
							
						 
						
							2010-12-02 16:45:21 +00:00  
				
					
						
							
							
								 
						
							
								92e3718b13 
								
							 
						 
						
							
							
								
								Implemented N3194  
							
							... 
							
							
							
							llvm-svn: 120458 
							
						 
						
							2010-11-30 20:23:32 +00:00  
				
					
						
							
							
								 
						
							
								e78881314a 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120064 
							
						 
						
							2010-11-23 22:13:07 +00:00  
				
					
						
							
							
								 
						
							
								b32f147bbf 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120058 
							
						 
						
							2010-11-23 20:55:56 +00:00  
				
					
						
							
							
								 
						
							
								fedfe3b69c 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120057 
							
						 
						
							2010-11-23 20:55:36 +00:00  
				
					
						
							
							
								 
						
							
								ab7be6e43c 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120054 
							
						 
						
							2010-11-23 20:47:09 +00:00  
				
					
						
							
							
								 
						
							
								4030e72457 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120045 
							
						 
						
							2010-11-23 20:26:48 +00:00  
				
					
						
							
							
								 
						
							
								46cc61ea7c 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120043 
							
						 
						
							2010-11-23 20:25:10 +00:00  
				
					
						
							
							
								 
						
							
								e8ce332127 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120040 
							
						 
						
							2010-11-23 20:21:36 +00:00  
				
					
						
							
							
								 
						
							
								274541968b 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120036 
							
						 
						
							2010-11-23 19:52:19 +00:00  
				
					
						
							
							
								 
						
							
								e5cb278766 
								
							 
						 
						
							
							
								
								Update testsuite strucuture to latest draft  
							
							... 
							
							
							
							llvm-svn: 120029 
							
						 
						
							2010-11-23 19:15:49 +00:00  
				
					
						
							
							
								 
						
							
								e3120ed1bf 
								
							 
						 
						
							
							
								
								N3188 - Revision to N3113: Async Launch Policies (CH 36)  
							
							... 
							
							
							
							llvm-svn: 120027 
							
						 
						
							2010-11-23 18:33:54 +00:00  
				
					
						
							
							
								 
						
							
								3dc6455ff0 
								
							 
						 
						
							
							
								
								N3191: C++ Timeout Specification  
							
							... 
							
							
							
							llvm-svn: 119909 
							
						 
						
							2010-11-20 19:16:30 +00:00  
				
					
						
							
							
								 
						
							
								092980dd65 
								
							 
						 
						
							
							
								
								N3123  
							
							... 
							
							
							
							llvm-svn: 119906 
							
						 
						
							2010-11-20 18:25:22 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								d518d1c807 
								
							 
						 
						
							
							
								
								LWG 1522  
							
							... 
							
							
							
							llvm-svn: 119710 
							
						 
						
							2010-11-18 17:34:48 +00:00  
				
					
						
							
							
								 
						
							
								48d05bd26c 
								
							 
						 
						
							
							
								
								LWG 1339  
							
							... 
							
							
							
							llvm-svn: 119699 
							
						 
						
							2010-11-18 16:13:03 +00:00  
				
					
						
							
							
								 
						
							
								a4a1ef1fc2 
								
							 
						 
						
							
							
								
								LWG 1404  
							
							... 
							
							
							
							llvm-svn: 119609 
							
						 
						
							2010-11-18 01:40:00 +00:00  
				
					
						
							
							
								 
						
							
								d09f711dc2 
								
							 
						 
						
							
							
								
								LWG 1325  
							
							... 
							
							
							
							llvm-svn: 119571 
							
						 
						
							2010-11-17 21:53:14 +00:00  
				
					
						
							
							
								 
						
							
								5ba1459c4c 
								
							 
						 
						
							
							
								
								LWG 1323  
							
							... 
							
							
							
							llvm-svn: 119560 
							
						 
						
							2010-11-17 21:11:40 +00:00  
				
					
						
							
							
								 
						
							
								601afb30ec 
								
							 
						 
						
							
							
								
								LWG 1191  
							
							... 
							
							
							
							llvm-svn: 119545 
							
						 
						
							2010-11-17 19:52:17 +00:00  
				
					
						
							
							
								 
						
							
								ef6168357a 
								
							 
						 
						
							
							
								
								LWG 1118  
							
							... 
							
							
							
							llvm-svn: 119541 
							
						 
						
							2010-11-17 19:22:43 +00:00  
				
					
						
							
							
								 
						
							
								412dbebe1b 
								
							 
						 
						
							
							
								
								license change  
							
							... 
							
							
							
							llvm-svn: 119395 
							
						 
						
							2010-11-16 22:09:02 +00:00  
				
					
						
							
							
								 
						
							
								c4931c4746 
								
							 
						 
						
							
							
								
								I have reverted all contributions made by Jesse Towner in revision 110724  
							
							... 
							
							
							
							llvm-svn: 119383 
							
						 
						
							2010-11-16 21:10:23 +00:00  
				
					
						
							
							
								 
						
							
								a7c2f3eac3 
								
							 
						 
						
							
							
								
								[atomics.types.address]  
							
							... 
							
							
							
							llvm-svn: 117033 
							
						 
						
							2010-10-21 17:44:19 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								d89b01e521 
								
							 
						 
						
							
							
								
								atomic_char  
							
							... 
							
							
							
							llvm-svn: 116813 
							
						 
						
							2010-10-19 16:51:18 +00:00  
				
					
						
							
							
								 
						
							
								c1ef47986b 
								
							 
						 
						
							
							
								
								Fix two test bugs  
							
							... 
							
							
							
							llvm-svn: 116515 
							
						 
						
							2010-10-14 21:08:32 +00:00  
				
					
						
							
							
								 
						
							
								149f659af3 
								
							 
						 
						
							
							
								
								Relaxing timing test a bit to avoid spurious test failures under load  
							
							... 
							
							
							
							llvm-svn: 115920 
							
						 
						
							2010-10-07 16:25:31 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								88efc1c7a5 
								
							 
						 
						
							
							
								
								Contemplating this <atomic> reorganization...  
							
							... 
							
							
							
							llvm-svn: 115087 
							
						 
						
							2010-09-29 21:20:03 +00:00  
				
					
						
							
							
								 
						
							
								7d489d7a73 
								
							 
						 
						
							
							
								
								Didn't mean to commit that one  
							
							... 
							
							
							
							llvm-svn: 115058 
							
						 
						
							2010-09-29 18:33:45 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								eb9e9a3710 
								
							 
						 
						
							
							
								
								fixing whitespace  
							
							... 
							
							
							
							llvm-svn: 114967 
							
						 
						
							2010-09-28 17:19:10 +00:00  
				
					
						
							
							
								 
						
							
								cfe0b0a1ab 
								
							 
						 
						
							
							
								
								[atomics.order]  
							
							... 
							
							
							
							llvm-svn: 114966 
							
						 
						
							2010-09-28 17:13:38 +00:00  
				
					
						
							
							
								 
						
							
								cd39d413b4 
								
							 
						 
						
							
							
								
								Getting started on <atomic>  
							
							... 
							
							
							
							llvm-svn: 114887 
							
						 
						
							2010-09-27 21:17:38 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								ecd98d5173 
								
							 
						 
						
							
							
								
								tests: Remove some stray cleanup code.  
							
							... 
							
							
							
							llvm-svn: 113934 
							
						 
						
							2010-09-15 04:18:37 +00:00  
				
					
						
							
							
								 
						
							
								bc9a848e04 
								
							 
						 
						
							
							
								
								tests: Fixup lit config, which got garbled somehow...  
							
							... 
							
							
							
							llvm-svn: 113931 
							
						 
						
							2010-09-15 04:11:29 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								1be27f0929 
								
							 
						 
						
							
							
								
								has_nothrow_copy_assign hooked up to clang  
							
							... 
							
							
							
							llvm-svn: 113364 
							
						 
						
							2010-09-08 16:39:18 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								cbf93f3959 
								
							 
						 
						
							
							
								
								sync with N3126  
							
							... 
							
							
							
							llvm-svn: 113101 
							
						 
						
							2010-09-05 01:14:30 +00:00  
				
					
						
							
							
								 
						
							
								f9e81f9acb 
								
							 
						 
						
							
							
								
								sync with N3126  
							
							... 
							
							
							
							llvm-svn: 113100 
							
						 
						
							2010-09-05 01:10:45 +00:00  
				
					
						
							
							
								 
						
							
								771f325a1f 
								
							 
						 
						
							
							
								
								sync with N3126  
							
							... 
							
							
							
							llvm-svn: 113099 
							
						 
						
							2010-09-05 01:06:34 +00:00  
				
					
						
							
							
								 
						
							
								5bed8c6f65 
								
							 
						 
						
							
							
								
								sync with N3126  
							
							... 
							
							
							
							llvm-svn: 113098 
							
						 
						
							2010-09-05 00:57:20 +00:00  
				
					
						
							
							
								 
						
							
								e7d99b29be 
								
							 
						 
						
							
							
								
								sync with N3126  
							
							... 
							
							
							
							llvm-svn: 113097 
							
						 
						
							2010-09-05 00:49:04 +00:00  
				
					
						
							
							
								 
						
							
								959cf8aede 
								
							 
						 
						
							
							
								
								Fix whitespace  
							
							... 
							
							
							
							llvm-svn: 113089 
							
						 
						
							2010-09-04 23:46:48 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								ead85506a7 
								
							 
						 
						
							
							
								
								[futures.shared_future]  
							
							... 
							
							
							
							llvm-svn: 112990 
							
						 
						
							2010-09-03 18:39:25 +00:00  
				
					
						
							
							
								 
						
							
								27f000e10b 
								
							 
						 
						
							
							
								
								[futures.task] and [futures.async].  Requires variadics and rvalue-ref support.  
							
							... 
							
							
							
							llvm-svn: 112500 
							
						 
						
							2010-08-30 18:46:21 +00:00  
				
					
						
							
							
								 
						
							
								c009b09c2b 
								
							 
						 
						
							
							
								
								[futures.unique_future]  
							
							... 
							
							
							
							llvm-svn: 112423 
							
						 
						
							2010-08-29 14:20:30 +00:00  
				
					
						
							
							
								 
						
							
								8759d9d4d0 
								
							 
						 
						
							
							
								
								[futures.promise].  Depends on rvalue-ref support to work 100%.  
							
							... 
							
							
							
							llvm-svn: 112388 
							
						 
						
							2010-08-28 21:01:06 +00:00  
				
					
						
							
							
								 
						
							
								dae3481b28 
								
							 
						 
						
							
							
								
								Getting started on <future>  
							
							... 
							
							
							
							llvm-svn: 112061 
							
						 
						
							2010-08-25 17:32:05 +00:00  
				
					
						
							
							
								 
						
							
								01f586ca2c 
								
							 
						 
						
							
							
								
								Corrected some int -> char narrowing conversions  
							
							... 
							
							
							
							llvm-svn: 111849 
							
						 
						
							2010-08-23 21:41:03 +00:00  
				
					
						
							
							
								 
						
							
								8c93ff2ce3 
								
							 
						 
						
							
							
								
								Accidentally changed a data file during the whitespace cleanup  
							
							... 
							
							
							
							llvm-svn: 111845 
							
						 
						
							2010-08-23 21:23:21 +00:00  
				
					
						
							
							
								 
						
							
								fae824a32d 
								
							 
						 
						
							
							
								
								Remove tabs  
							
							... 
							
							
							
							llvm-svn: 111778 
							
						 
						
							2010-08-22 13:53:14 +00:00  
				
					
						
							
							
								 
						
							
								2807d4a58b 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111769 
							
						 
						
							2010-08-22 01:04:38 +00:00  
				
					
						
							
							
								 
						
							
								94b2dd0998 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111767 
							
						 
						
							2010-08-22 00:59:46 +00:00  
				
					
						
							
							
								 
						
							
								2cb7936efe 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111765 
							
						 
						
							2010-08-22 00:50:25 +00:00  
				
					
						
							
							
								 
						
							
								bf2897cf45 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111764 
							
						 
						
							2010-08-22 00:47:54 +00:00  
				
					
						
							
							
								 
						
							
								f36101dd3d 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111763 
							
						 
						
							2010-08-22 00:45:01 +00:00  
				
					
						
							
							
								 
						
							
								a0eaf608cd 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111762 
							
						 
						
							2010-08-22 00:42:21 +00:00  
				
					
						
							
							
								 
						
							
								3bad6b61e5 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111761 
							
						 
						
							2010-08-22 00:39:25 +00:00  
				
					
						
							
							
								 
						
							
								b5a4c50a03 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111760 
							
						 
						
							2010-08-22 00:31:12 +00:00  
				
					
						
							
							
								 
						
							
								0022123b95 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111759 
							
						 
						
							2010-08-22 00:29:01 +00:00  
				
					
						
							
							
								 
						
							
								66dbf0d311 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111758 
							
						 
						
							2010-08-22 00:26:48 +00:00  
				
					
						
							
							
								 
						
							
								62bfbb0974 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111757 
							
						 
						
							2010-08-22 00:22:24 +00:00  
				
					
						
							
							
								 
						
							
								5cf4e1f1f0 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111756 
							
						 
						
							2010-08-22 00:20:12 +00:00  
				
					
						
							
							
								 
						
							
								8f2f7e7c79 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111755 
							
						 
						
							2010-08-22 00:15:28 +00:00  
				
					
						
							
							
								 
						
							
								664ae8118e 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111753 
							
						 
						
							2010-08-22 00:08:10 +00:00  
				
					
						
							
							
								 
						
							
								9f1102b7fe 
								
							 
						 
						
							
							
								
								US 108, N3109  
							
							... 
							
							
							
							llvm-svn: 111747 
							
						 
						
							2010-08-21 21:14:53 +00:00  
				
					
						
							
							
								 
						
							
								e8e7af2477 
								
							 
						 
						
							
							
								
								DE 23  
							
							... 
							
							
							
							llvm-svn: 111746 
							
						 
						
							2010-08-21 21:01:59 +00:00  
				
					
						
							
							
								 
						
							
								3db88036f6 
								
							 
						 
						
							
							
								
								US 117  
							
							... 
							
							
							
							llvm-svn: 111745 
							
						 
						
							2010-08-21 20:58:44 +00:00  
				
					
						
							
							
								 
						
							
								4eb27b79c1 
								
							 
						 
						
							
							
								
								US 122, N3106  
							
							... 
							
							
							
							llvm-svn: 111742 
							
						 
						
							2010-08-21 20:10:01 +00:00  
				
					
						
							
							
								 
						
							
								9b0b6d45d2 
								
							 
						 
						
							
							
								
								Installed allocator into std::function  
							
							... 
							
							
							
							llvm-svn: 111672 
							
						 
						
							2010-08-20 19:36:46 +00:00  
				
					
						
							
							
								 
						
							
								907af2668f 
								
							 
						 
						
							
							
								
								GB 85, GB 87  
							
							... 
							
							
							
							llvm-svn: 111546 
							
						 
						
							2010-08-19 19:15:54 +00:00  
				
					
						
							
							
								 
						
							
								de6d046575 
								
							 
						 
						
							
							
								
								DE 19  
							
							... 
							
							
							
							llvm-svn: 111544 
							
						 
						
							2010-08-19 19:09:08 +00:00  
				
					
						
							
							
								 
						
							
								1102fbbd67 
								
							 
						 
						
							
							
								
								US 98, US 99  
							
							... 
							
							
							
							llvm-svn: 111542 
							
						 
						
							2010-08-19 18:59:38 +00:00  
				
					
						
							
							
								 
						
							
								20cc2a42b8 
								
							 
						 
						
							
							
								
								US 107  
							
							... 
							
							
							
							llvm-svn: 111538 
							
						 
						
							2010-08-19 18:39:17 +00:00  
				
					
						
							
							
								 
						
							
								e57dc14c44 
								
							 
						 
						
							
							
								
								LWG 1278  
							
							... 
							
							
							
							llvm-svn: 111532 
							
						 
						
							2010-08-19 17:40:04 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								14dcd3d1ff 
								
							 
						 
						
							
							
								
								[re.tokiter]  
							
							... 
							
							
							
							llvm-svn: 111278 
							
						 
						
							2010-08-17 20:42:03 +00:00  
				
					
						
							
							
								 
						
							
								2bf1fd99b1 
								
							 
						 
						
							
							
								
								[re.regiter]  
							
							... 
							
							
							
							llvm-svn: 111178 
							
						 
						
							2010-08-16 20:21:16 +00:00  
				
					
						
							
							
								 
						
							
								51e3967484 
								
							 
						 
						
							
							
								
								[re.alg.match]  
							
							... 
							
							
							
							llvm-svn: 111075 
							
						 
						
							2010-08-14 19:58:44 +00:00  
				
					
						
							
							
								 
						
							
								48b242a275 
								
							 
						 
						
							
							
								
								Everything under [re.results]  
							
							... 
							
							
							
							llvm-svn: 111074 
							
						 
						
							2010-08-14 18:14:02 +00:00  
				
					
						
							
							
								 
						
							
								5cd6658798 
								
							 
						 
						
							
							
								
								Everything under [re.regex]  
							
							... 
							
							
							
							llvm-svn: 111024 
							
						 
						
							2010-08-13 18:11:23 +00:00  
				
					
						
							
							
								 
						
							
								3d87b69f7d 
								
							 
						 
						
							
							
								
								Filling out regex tests...  
							
							... 
							
							
							
							llvm-svn: 110955 
							
						 
						
							2010-08-12 21:14:20 +00:00  
				
					
						
							
							
								 
						
							
								2bcfef5e9c 
								
							 
						 
						
							
							
								
								Fix conflict with cstring and using namespace std  
							
							... 
							
							
							
							llvm-svn: 110736 
							
						 
						
							2010-08-10 21:57:23 +00:00  
				
					
						
							
							
								 
						
							
								eb2692571f 
								
							 
						 
						
							
							
								
								patch by Jesse Towner, and bug fix by Sebastian Redl  
							
							... 
							
							
							
							llvm-svn: 110724 
							
						 
						
							2010-08-10 20:48:29 +00:00  
				
					
						
							
							
								 
						
							
								6e156afa71 
								
							 
						 
						
							
							
								
								Fixed some bugs in the ecma bracket epression regarding escaped characters, and got the awk grammar going.  
							
							... 
							
							
							
							llvm-svn: 109599 
							
						 
						
							2010-07-28 17:35:27 +00:00  
				
					
						
							
							
								 
						
							
								c1124300fe 
								
							 
						 
						
							
							
								
								lookahead for ecma  
							
							... 
							
							
							
							llvm-svn: 109548 
							
						 
						
							2010-07-27 22:20:32 +00:00  
				
					
						
							
							
								 
						
							
								93da3b2e41 
								
							 
						 
						
							
							
								
								grep and egrep grammars  
							
							... 
							
							
							
							llvm-svn: 109534 
							
						 
						
							2010-07-27 19:53:10 +00:00  
				
					
						
							
							
								 
						
							
								6afe8b0a23 
								
							 
						 
						
							
							
								
								continued regex development...  
							
							... 
							
							
							
							llvm-svn: 109512 
							
						 
						
							2010-07-27 17:24:17 +00:00  
				
					
						
							
							
								 
						
							
								5c67986156 
								
							 
						 
						
							
							
								
								A good start on ecma regex's.  Maybe even feature complete, not sure yet.  Also an unrelated fix to is_constructible thanks to Daniel Krugler.  
							
							... 
							
							
							
							llvm-svn: 109479 
							
						 
						
							2010-07-27 01:25:38 +00:00  
				
					
						
							
							
								 
						
							
								f7109438ea 
								
							 
						 
						
							
							
								
								I believe posix extended expr is feature complete.  Getting started on ecma exprs.  
							
							... 
							
							
							
							llvm-svn: 109126 
							
						 
						
							2010-07-22 17:53:24 +00:00  
				
					
						
							
							
								 
						
							
								b762bea3ba 
								
							 
						 
						
							
							
								
								A few more tests for posix extended alternation  
							
							... 
							
							
							
							llvm-svn: 109107 
							
						 
						
							2010-07-22 14:12:20 +00:00  
				
					
						
							
							
								 
						
							
								c1198c320f 
								
							 
						 
						
							
							
								
								A good start on extended posix regex.  Loops working.  Alternation working.  Also update by-chapter completeness summary.  
							
							... 
							
							
							
							llvm-svn: 108548 
							
						 
						
							2010-07-16 19:08:36 +00:00  
				
					
						
							
							
								 
						
							
								6ded099399 
								
							 
						 
						
							
							
								
								Tests for basic posix regex templated on wchar_t  
							
							... 
							
							
							
							llvm-svn: 108435 
							
						 
						
							2010-07-15 18:18:07 +00:00  
				
					
						
							
							
								 
						
							
								5d695f041c 
								
							 
						 
						
							
							
								
								Fixed to work with generalized iterators.  
							
							... 
							
							
							
							llvm-svn: 108359 
							
						 
						
							2010-07-14 21:14:52 +00:00  
				
					
						
							
							
								 
						
							
								5699358c63 
								
							 
						 
						
							
							
								
								Minor optimizations.  Minor bug fixes.  More tests.  
							
							... 
							
							
							
							llvm-svn: 108331 
							
						 
						
							2010-07-14 15:45:11 +00:00  
				
					
						
							
							
								 
						
							
								8ab959c961 
								
							 
						 
						
							
							
								
								Bracket expressions are working (lightly tested).  
							
							... 
							
							
							
							llvm-svn: 108280 
							
						 
						
							2010-07-13 21:48:06 +00:00  
				
					
						
							
							
								 
						
							
								fdec08bd8b 
								
							 
						 
						
							
							
								
								regex_constants icase and collate for matching a single char and for matching back references  
							
							... 
							
							
							
							llvm-svn: 108178 
							
						 
						
							2010-07-12 19:11:27 +00:00  
				
					
						
							
							
								 
						
							
								aea2afe334 
								
							 
						 
						
							
							
								
								back references for BRE  
							
							... 
							
							
							
							llvm-svn: 108168 
							
						 
						
							2010-07-12 18:16:05 +00:00  
				
					
						
							
							
								 
						
							
								0cbed7e140 
								
							 
						 
						
							
							
								
								Redesign number 3.  The previous design was not handling matching of empty strings inside of loops.  
							
							... 
							
							
							
							llvm-svn: 108151 
							
						 
						
							2010-07-12 15:51:17 +00:00  
				
					
						
							
							
								 
						
							
								87ec03a2ea 
								
							 
						 
						
							
							
								
								weekly update to by-chapter-summary, plus left and right anchor support in basic posix.  
							
							... 
							
							
							
							llvm-svn: 107938 
							
						 
						
							2010-07-09 00:15:26 +00:00  
				
					
						
							
							
								 
						
							
								8c459a14a9 
								
							 
						 
						
							
							
								
								Marked subexpressions in a loop in basic posix working (only lightly tested so far)  
							
							... 
							
							
							
							llvm-svn: 107889 
							
						 
						
							2010-07-08 17:43:58 +00:00  
				
					
						
							
							
								 
						
							
								189b212662 
								
							 
						 
						
							
							
								
								First loop test passed.  The data structure and search algorithm is still crude and in-flux.  But this milestone needed to be locked in.  Right now every loop is implemented in terms of a structure that will handle the most complicated {min, max} loop.  Though only *-loops are tested at the moment.  In a future iteration *-loops will likely be optimized a little more.  The only tests are for basic posix so far, but I have prototype code running for extended posix and ecma.  The prototype code lacks the complicating properties of the real <regex> requirements though.  
							
							... 
							
							
							
							llvm-svn: 107803 
							
						 
						
							2010-07-07 19:14:52 +00:00  
				
					
						
							
							
								 
						
							
								928658cd70 
								
							 
						 
						
							
							
								
								First test for marked subexpressions  
							
							... 
							
							
							
							llvm-svn: 107317 
							
						 
						
							2010-06-30 20:30:19 +00:00  
				
					
						
							
							
								 
						
							
								237ee6fef8 
								
							 
						 
						
							
							
								
								First, very primitive, search results on one engine  
							
							... 
							
							
							
							llvm-svn: 107294 
							
						 
						
							2010-06-30 17:22:19 +00:00  
				
					
						
							
							
								 
						
							
								cdefdeee28 
								
							 
						 
						
							
							
								
								two steps forward, one step back...  
							
							... 
							
							
							
							llvm-svn: 107230 
							
						 
						
							2010-06-30 00:21:42 +00:00  
				
					
						
							
							
								 
						
							
								e5561b04e4 
								
							 
						 
						
							
							
								
								[re.submatch]  
							
							... 
							
							
							
							llvm-svn: 107187 
							
						 
						
							2010-06-29 18:37:43 +00:00  
				
					
						
							
							
								 
						
							
								853aff80dd 
								
							 
						 
						
							
							
								
								regex: learning to crawl  
							
							... 
							
							
							
							llvm-svn: 106882 
							
						 
						
							2010-06-25 20:56:08 +00:00  
				
					
						
							
							
								 
						
							
								24e98486a3 
								
							 
						 
						
							
							
								
								Continuing to work through regex, and updated libcxx_by_chapter.pdf with weekly test results  
							
							... 
							
							
							
							llvm-svn: 106790 
							
						 
						
							2010-06-24 21:28:00 +00:00  
				
					
						
							
							
								 
						
							
								24757ff75e 
								
							 
						 
						
							
							
								
								Finished [re.traits].  I'd like to acknowledge the help of Bjorn Reese with <regex>.  
							
							... 
							
							
							
							llvm-svn: 106478 
							
						 
						
							2010-06-21 21:01:43 +00:00  
				
					
						
							
							
								 
						
							
								70505305c1 
								
							 
						 
						
							
							
								
								Just getting our toes wet on <regex>  
							
							... 
							
							
							
							llvm-svn: 106187 
							
						 
						
							2010-06-17 00:34:59 +00:00  
				
					
						
							
							
								 
						
							
								d1803b6c87 
								
							 
						 
						
							
							
								
								[util.smartptr.hash]  
							
							... 
							
							
							
							llvm-svn: 105393 
							
						 
						
							2010-06-03 16:42:57 +00:00  
				
					
						
							
							
								 
						
							
								cbbf633edb 
								
							 
						 
						
							
							
								
								[string.conversions]  
							
							... 
							
							
							
							llvm-svn: 105336 
							
						 
						
							2010-06-02 18:20:39 +00:00  
				
					
						
							
							
								 
						
							
								6508e9936c 
								
							 
						 
						
							
							
								
								[conversions.buffer]  
							
							... 
							
							
							
							llvm-svn: 105286 
							
						 
						
							2010-06-01 20:09:18 +00:00  
				
					
						
							
							
								 
						
							
								5d3c11337a 
								
							 
						 
						
							
							
								
								[conversions.string]  
							
							... 
							
							
							
							llvm-svn: 105254 
							
						 
						
							2010-05-31 20:58:54 +00:00  
				
					
						
							
							
								 
						
							
								0c17e32edd 
								
							 
						 
						
							
							
								
								[locale.stdcvt]  
							
							... 
							
							
							
							llvm-svn: 105174 
							
						 
						
							2010-05-30 21:39:41 +00:00  
				
					
						
							
							
								 
						
							
								9d4a2861bb 
								
							 
						 
						
							
							
								
								[support.initlist.range]  
							
							... 
							
							
							
							llvm-svn: 104975 
							
						 
						
							2010-05-28 17:53:59 +00:00  
				
					
						
							
							
								 
						
							
								a950f39bac 
								
							 
						 
						
							
							
								
								Corrected a test bug in reverse_iterator  
							
							... 
							
							
							
							llvm-svn: 104960 
							
						 
						
							2010-05-28 16:53:29 +00:00  
				
					
						
							
							
								 
						
							
								e95bd34de6 
								
							 
						 
						
							
							
								
								UTF-8 data in this file somehow got garbled  
							
							... 
							
							
							
							llvm-svn: 104952 
							
						 
						
							2010-05-28 16:37:38 +00:00  
				
					
						
							
							
								 
						
							
								03ec83e9e8 
								
							 
						 
						
							
							
								
								Implemented some adaptor constructors which I had missed.  
							
							... 
							
							
							
							llvm-svn: 104946 
							
						 
						
							2010-05-28 15:49:54 +00:00  
				
					
						
							
							
								 
						
							
								a391bc1323 
								
							 
						 
						
							
							
								
								Corrected rethrow_if_nested  
							
							... 
							
							
							
							llvm-svn: 104943 
							
						 
						
							2010-05-28 13:35:41 +00:00  
				
					
						
							
							
								 
						
							
								019fe4b8fd 
								
							 
						 
						
							
							
								
								[except.nested]  
							
							... 
							
							
							
							llvm-svn: 104850 
							
						 
						
							2010-05-27 17:06:52 +00:00  
				
					
						
							
							
								 
						
							
								40c7ef90b2 
								
							 
						 
						
							
							
								
								[numeric.iota]  
							
							... 
							
							
							
							llvm-svn: 104719 
							
						 
						
							2010-05-26 18:53:44 +00:00  
				
					
						
							
							
								 
						
							
								f9d540b062 
								
							 
						 
						
							
							
								
								Completed [alg.random.shuffle].  
							
							... 
							
							
							
							llvm-svn: 104708 
							
						 
						
							2010-05-26 17:49:34 +00:00  
				
					
						
							
							
								 
						
							
								b4d2fd2f0f 
								
							 
						 
						
							
							
								
								[rand.dist.samp.plinear].  This means we've got a fully tested and functional <random>! 489 tests over 48 sections are passing. :-)  The only thing still on my plate in this area is to back-port some of this technology to random_shuffle/shuffle in <algorithm>.  That will involve shuffling header bits around (<random> depepends on <algorithm>), but it won't entail that much development (compared to what has been required for <random>).  
							
							... 
							
							
							
							llvm-svn: 104575 
							
						 
						
							2010-05-25 00:27:34 +00:00  
				
					
						
							
							
								 
						
							
								e302eab415 
								
							 
						 
						
							
							
								
								[rand.dist.samp.pconst] plus some bug fixes in the tests of the other distributions  
							
							... 
							
							
							
							llvm-svn: 104224 
							
						 
						
							2010-05-20 15:11:46 +00:00  
				
					
						
							
							
								 
						
							
								fb0e5ec825 
								
							 
						 
						
							
							
								
								[rand.dist.samp.discrete]  
							
							... 
							
							
							
							llvm-svn: 104103 
							
						 
						
							2010-05-19 01:53:57 +00:00  
				
					
						
							
							
								 
						
							
								ecbb921cbf 
								
							 
						 
						
							
							
								
								[rand.dist.norm.t]  
							
							... 
							
							
							
							llvm-svn: 104052 
							
						 
						
							2010-05-18 20:08:04 +00:00  
				
					
						
							
							
								 
						
							
								e31e36f910 
								
							 
						 
						
							
							
								
								[rand.dist.norm.f]  
							
							... 
							
							
							
							llvm-svn: 104035 
							
						 
						
							2010-05-18 17:32:30 +00:00  
				
					
						
							
							
								 
						
							
								34c3b52a2c 
								
							 
						 
						
							
							
								
								Better cauchy tests  
							
							... 
							
							
							
							llvm-svn: 104008 
							
						 
						
							2010-05-18 00:34:49 +00:00  
				
					
						
							
							
								 
						
							
								0dd05fb167 
								
							 
						 
						
							
							
								
								more :: to _  
							
							... 
							
							
							
							llvm-svn: 104006 
							
						 
						
							2010-05-18 00:09:37 +00:00  
				
					
						
							
							
								 
						
							
								e4c7a35e1c 
								
							 
						 
						
							
							
								
								more :: to _  
							
							... 
							
							
							
							llvm-svn: 104005 
							
						 
						
							2010-05-18 00:06:09 +00:00  
				
					
						
							
							
								 
						
							
								6692b261d8 
								
							 
						 
						
							
							
								
								[rand.dist.norm.cauchy].  I'm having trouble testing the output as all statistical properties are undefined.  They do not converge upon any one value as the number of samples increases.  Suggestions for tests welcome.  
							
							... 
							
							
							
							llvm-svn: 103983 
							
						 
						
							2010-05-17 21:55:46 +00:00  
				
					
						
							
							
								 
						
							
								eb6fa6af2b 
								
							 
						 
						
							
							
								
								Got rid of more :: path names  
							
							... 
							
							
							
							llvm-svn: 103970 
							
						 
						
							2010-05-17 20:38:02 +00:00  
				
					
						
							
							
								 
						
							
								fd5c3a34e3 
								
							 
						 
						
							
							
								
								[rand.dist.norm.lognormal]  
							
							... 
							
							
							
							llvm-svn: 103957 
							
						 
						
							2010-05-17 18:31:53 +00:00  
				
					
						
							
							
								 
						
							
								c675d983f6 
								
							 
						 
						
							
							
								
								[rand.dist.pois.extreme]  
							
							... 
							
							
							
							llvm-svn: 103942 
							
						 
						
							2010-05-17 16:21:56 +00:00  
				
					
						
							
							
								 
						
							
								05fa30d595 
								
							 
						 
						
							
							
								
								[rand.dist.bern.geo]  
							
							... 
							
							
							
							llvm-svn: 103937 
							
						 
						
							2010-05-17 13:44:27 +00:00  
				
					
						
							
							
								 
						
							
								89eaea24bc 
								
							 
						 
						
							
							
								
								[rand.dist.bern.negbin]  
							
							... 
							
							
							
							llvm-svn: 103916 
							
						 
						
							2010-05-17 00:09:38 +00:00  
				
					
						
							
							
								 
						
							
								45a999719b 
								
							 
						 
						
							
							
								
								Beefed up the tests for all of the distributions to include checks against the expected skewness and kurtosis  
							
							... 
							
							
							
							llvm-svn: 103910 
							
						 
						
							2010-05-16 17:56:20 +00:00  
				
					
						
							
							
								 
						
							
								5ce10a6744 
								
							 
						 
						
							
							
								
								Replaced :: with _ in several path names  
							
							... 
							
							
							
							llvm-svn: 103907 
							
						 
						
							2010-05-16 12:46:02 +00:00  
				
					
						
							
							
								 
						
							
								70d0fe5fae 
								
							 
						 
						
							
							
								
								Replaced :: with _ in several path names  
							
							... 
							
							
							
							llvm-svn: 103906 
							
						 
						
							2010-05-16 12:42:38 +00:00  
				
					
						
							
							
								 
						
							
								b8829825f1 
								
							 
						 
						
							
							
								
								[rand.dist.pois.weibull]  
							
							... 
							
							
							
							llvm-svn: 103891 
							
						 
						
							2010-05-16 01:09:02 +00:00  
				
					
						
							
							
								 
						
							
								e3900731f6 
								
							 
						 
						
							
							
								
								[rand.dist.norm.chisq]  
							
							... 
							
							
							
							llvm-svn: 103888 
							
						 
						
							2010-05-15 23:36:00 +00:00  
				
					
						
							
							
								 
						
							
								932ce81fe9 
								
							 
						 
						
							
							
								
								Revisited [rand.dist.bern.bin] and [rand.dist.pois.poisson] with better algorithms  
							
							... 
							
							
							
							llvm-svn: 103886 
							
						 
						
							2010-05-15 21:36:23 +00:00  
				
					
						
							
							
								 
						
							
								0e675818f1 
								
							 
						 
						
							
							
								
								[rand.dist.pois.poisson]  
							
							... 
							
							
							
							llvm-svn: 103814 
							
						 
						
							2010-05-14 21:38:54 +00:00  
				
					
						
							
							
								 
						
							
								749c758632 
								
							 
						 
						
							
							
								
								change test case to verify unexpected() calls terminate - not is terminate  
							
							... 
							
							
							
							llvm-svn: 103794 
							
						 
						
							2010-05-14 20:17:42 +00:00  
				
					
						
							
							
								 
						
							
								7070922ff8 
								
							 
						 
						
							
							
								
								[rand.dist.pois.gamma]  
							
							... 
							
							
							
							llvm-svn: 103788 
							
						 
						
							2010-05-14 18:43:10 +00:00  
				
					
						
							
							
								 
						
							
								f8bfb45e9b 
								
							 
						 
						
							
							
								
								partial [rand.dist.pois.gamma]  
							
							... 
							
							
							
							llvm-svn: 103722 
							
						 
						
							2010-05-13 17:58:28 +00:00  
				
					
						
							
							
								 
						
							
								6f97c4e7bc 
								
							 
						 
						
							
							
								
								[rand.dist.norm.normal]  
							
							... 
							
							
							
							llvm-svn: 103646 
							
						 
						
							2010-05-12 21:02:31 +00:00  
				
					
						
							
							
								 
						
							
								bcc4ff0db0 
								
							 
						 
						
							
							
								
								[rand.dist.pois.exp]  
							
							... 
							
							
							
							llvm-svn: 103621 
							
						 
						
							2010-05-12 17:08:57 +00:00  
				
					
						
							
							
								 
						
							
								c1cb949c0a 
								
							 
						 
						
							
							
								
								tests for [rand.dist.bern.bin]  
							
							... 
							
							
							
							llvm-svn: 103612 
							
						 
						
							2010-05-12 13:33:11 +00:00  
				
					
						
							
							
								 
						
							
								deb23ecdf9 
								
							 
						 
						
							
							
								
								[rand.dist.bern.bin].  The evaluation function for this binomial distribution is hopefully just a placeholder.  It is using the simplest and slowest method for computing the distribution and needs to be upgraded.  
							
							... 
							
							
							
							llvm-svn: 103524 
							
						 
						
							2010-05-11 23:26:59 +00:00  
				
					
						
							
							
								 
						
							
								5b08a8a432 
								
							 
						 
						
							
							
								
								Wiped out some non-ascii characters that snuck into the copyright.  
							
							... 
							
							
							
							llvm-svn: 103516 
							
						 
						
							2010-05-11 21:36:01 +00:00  
				
					
						
							
							
								 
						
							
								3e519524c1 
								
							 
						 
						
							
							
								
								libcxx initial import  
							
							... 
							
							
							
							llvm-svn: 103490 
							
						 
						
							2010-05-11 19:42:16 +00:00