summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
* test: Make it possible to opt in to use_clang_verify per testJustin Bogner2014-09-032-3/+8
| | | | | | | | | | | This modifies the use_clang_verify parameter I added in r217009 to only apply to tests that specifically ask for it via // USE_VERIFY. This allows us to incrementally convert tests, but start enjoying the benefits right away. Suggested by Eric Fiselier in code review. llvm-svn: 217017
* Fix buffer overflow issue in valarray testEric Fiselier2014-09-031-3/+2
| | | | llvm-svn: 217012
* test: Allow using clang -verify for failures rather than exit 1Justin Bogner2014-09-032-16/+38
| | | | | | | | | | | | | | | | | Currently, failure tests work by checking that compilation exits 1. This can lead to tests that fail for the wrong reason, so it'd be preferable to convert them to check for specific errors. This adds use_clang_verify parameter that runs failure tests using clang's -verify flag. I'll convert some tests in subsequent commits, and once all of the tests are converted we should key this on whether cxx_under_test is clang. I've also converted one of the unique.ptr tests, since it's the one that motivated the idea of using clang -verify when possible in the review of r216317. llvm-svn: 217009
* Fix yet another aspect of the build breakage caused by r216949Jonathan Roelofs2014-09-031-0/+4
| | | | llvm-svn: 217001
* Fix comment that was obsoleted by r216949Jonathan Roelofs2014-09-021-4/+2
| | | | llvm-svn: 216999
* Fix build breakage introduced in r216949Jonathan Roelofs2014-09-021-2/+2
| | | | | | | | The bug shows up on systems that `#define _POSIX_CLOCK_MONOTONIC 0` to indicate that users of CLOCK_MONOTONIC must check sysconf at runtime. See: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html llvm-svn: 216997
* [asan] Make vector asan annotations exception-friendlyKostya Serebryany2014-09-023-33/+243
| | | | | | | | | Fix vector asan annotations with RAII. Add a test. Also, remove one dead function. Review: http://reviews.llvm.org/D4170 llvm-svn: 216995
* Silence _LIBCPP_ELAST porting warning on __APPLE__Jonathan Roelofs2014-09-021-0/+2
| | | | | | This fixes a warning accidentally introduced in r216943. llvm-svn: 216977
* Don't #define _LIBCPP_HAS_NO_MONOTONIC_CLOCK on __APPLE__Jonathan Roelofs2014-09-021-2/+3
| | | | | | This fixes PR20839, which was a bug in r216949. llvm-svn: 216975
* Partially address a FIXME in steady_clock::now()Jonathan Roelofs2014-09-025-0/+15
| | | | | | http://reviews.llvm.org/D4045 llvm-svn: 216949
* Newlib names ELAST differently than linuxJonathan Roelofs2014-09-023-23/+25
| | | | llvm-svn: 216943
* Fix PR#20834 - 'is_trivially_destructible yeilds wrong answer for arrays of ↵Marshall Clow2014-09-0214-22/+21
| | | | | | 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
* Mark test types for <atomic> nothrow default constructible. Patch from Steve ↵Eric Fiselier2014-08-2715-15/+15
| | | | | | | | | | | | | 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
* Rename arguments in include/cmath to work around Newlib macro implementation ↵Jonathan Roelofs2014-08-271-230/+230
| | | | | | | | using these particular names http://reviews.llvm.org/D5080 llvm-svn: 216548
* Revert r216497: "[libcxx] Fix ctype_byname<wchar_t>::do_is() mask checking."Jonathan Roelofs2014-08-271-30/+30
| | | | | | | | | | | | | | | | After discussing implementing more tests for this with @danalbert & @mclow, I realized this change is not correct. The C++ standard requires do_is() to behave as if it were a loop that checked is(). Furthermore, it requires is() to check "The first form returns the result of the expression (M & m) != 0; i.e., true if the character has the characteristics specified"... which the reverted patch definitely does not conform to. Even further, furthermore, this requires that ctype's mask be an actual bitmask, unlike what android and newlib provide for _ctype_. Fixing the original bug that instigated this patch remains TBD. llvm-svn: 216508
* [libcxx] Fix ctype_byname<wchar_t>::do_is() mask checking.Jonathan Roelofs2014-08-261-30/+30
| | | | | | | This patch: http://reviews.llvm.org/D5081 Original patch: http://reviews.llvm.org/D5071 (from @danalbert) llvm-svn: 216497
* Replace 'noexcept' with '_NOEXCEPT' in <shared_mutex>. This allows us to ↵Marshall Clow2014-08-251-10/+10
| | | | | | build the dylib with MSVC, which doesn't support noexcept (sheesh\!). Thanks to K-ballo for the report. llvm-svn: 216384
* Fix bug 20740 - std::set/std::map don't support heterogeneous lookup for ↵Marshall Clow2014-08-246-2/+307
| | | | | | count(). Thanks to Jim Porter for the bug report llvm-svn: 216353
* Fix assignments that should be comparisons x3Eric Fiselier2014-08-233-4/+4
| | | | llvm-svn: 216318
* Add return statement to a test class's assignment operator. Defect found by ↵Eric Fiselier2014-08-231-1/+1
| | | | | | Coverity Scan. llvm-svn: 216317
* [libcxx] Add --show-unsupported and --show-xfail to check-libcxx's default ↵Eric Fiselier2014-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | 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
* Fix handling of format strings to work with python 2.6Eric Fiselier2014-08-231-4/+4
| | | | llvm-svn: 216314
* Refactor lit.cfg.Dan Albert2014-08-211-195/+247
| | | | | | | | | | | | | | | | | | 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
* Add self to creditsEric Fiselier2014-08-211-0/+4
| | | | llvm-svn: 216154
* Mark some localization time tests as XFAIL on linux.Eric Fiselier2014-08-212-0/+9
| | | | | | | | 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
* Mark some localization monetary tests as XFAIL on linux.Eric Fiselier2014-08-213-2/+17
| | | | | | | | 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
* Mark localization ctype tests as XFAIL on linux.Eric Fiselier2014-08-216-0/+8
| | | | | | | | 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
* fix missing include for ::close in platform_support.hEric Fiselier2014-08-191-0/+2
| | | | llvm-svn: 215998
* Add extra test case for PR20345. Should have been commited with r215984Eric Fiselier2014-08-191-0/+76
| | | | llvm-svn: 215985
* Fix is_member_function_pointer does not account for ellipsis. PR20345. Patch ↵Eric Fiselier2014-08-192-0/+248
| | | | | | | | from Agustin Berge. I reviewed the patch and added the test cases. llvm-svn: 215984
* Give libcxx tests temporary filenames that are actually unique.Jonathan Roelofs2014-08-191-4/+14
| | | | | | | | This fixes a race condition on temp file name creation. http://reviews.llvm.org/D4962 llvm-svn: 215977
* Add standard version to lit.cfg's available featuresEric Fiselier2014-08-181-0/+1
| | | | llvm-svn: 215885
* Update linux test resultsEric Fiselier2014-08-181-81/+492
| | | | llvm-svn: 215884
* [libcxx] Add UNSUPPORTED tag to lit. It mirrors REQUIRES.Eric Fiselier2014-08-181-0/+11
| | | | | | | | | | | | | | | | | | 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
* [libcxx] Add list of currently known buildbots to libc++ homepageEric Fiselier2014-08-181-0/+19
| | | | | | | | | | | | | | | | Summary: Instead of having to update test results for different platforms it would be helpful to just supply links to buildbots that build+test libcxx. For the FreeBSD bots Pawel Worach gave me the OK to link to them. Reviewers: mclow.lists, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4947 llvm-svn: 215882
* Mark cuchar tests as always xfail since we don't provide the header'Eric Fiselier2014-08-182-2/+2
| | | | llvm-svn: 215873
* [libcxx] Add support for LLVM_USE_SANITIZER to libcxx when being built ↵Eric Fiselier2014-08-184-21/+66
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* [libcxx] Update the way the -std= flag is chosen by CMake and LibcxxTestFormatEric Fiselier2014-08-165-20/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Readding FreeBSD support to lit.cfg. Patch from Pawel Worach.Eric Fiselier2014-08-151-0/+15
| | | | | | | 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
* Tame a few enum size tests when using -fshort-enums on ARM.Jonathan Roelofs2014-08-152-2/+2
| | | | llvm-svn: 215769
* Revert get testsuite running on FreeBSD.Eric Fiselier2014-08-151-14/+0
| | | | | | There is a similar patch up for review. I'll submit my changes via that. llvm-svn: 215750
* Get testsuite running on FreeBSD.Eric Fiselier2014-08-151-0/+14
| | | | | | | | 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
* Revert "Turn off extern templates for most uses."Justin Bogner2014-08-156-10/+1
| | | | | | | | | | | Turning off explicit template instantiation leads to a pretty significant build time and code size cost. We're better off dealing with ABI incompatibility issues that come up in a less heavy handed way. This reverts commit r189610. llvm-svn: 215740
* Fix incorrect locale requirements in testsEric Fiselier2014-08-152-2/+2
| | | | llvm-svn: 215694
* Add bare_allocator archetype that implements the minimal possible allocator ↵Eric Fiselier2014-08-151-1/+29
| | | | | | interface. llvm-svn: 215691
* [libc++] Fix the CMake build on Mac when setting MACOSX_DEPLOYMENT_TARGET=10.6Hans Wennborg2014-08-121-1/+2
| | | | | | | | | The build file was trying to use LIBCXX_VERSION, which isn't set anywhere, and also forgot to split the 'compile_flags' list. Differential Revision: http://reviews.llvm.org/D4860 llvm-svn: 215463
* Change two tests to be less dependant on locales.Eric Fiselier2014-08-122-4/+5
| | | | | | | | | | | | 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
* Add return statement to slice_array and mask_array assignment. Closes PR20614.Eric Fiselier2014-08-123-0/+30
| | | | | | | | | | 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
* Update libc++ docs to include instructions for LIT.Dan Albert2014-08-111-80/+133
| | | | | | | | | | | | | | | | | | | Okay, so this actually does more than just that. I've rearranged most of the information on the page to try to make it more helpful and flow better. Essentially, the differences between Mac and Linux, the various ABI libraries, and in-tree versus out-of-tree builds were cluttering things. To clean up, I've done the following: * Only describe the cmake process. buildit doesn't work out of the box on Linux, and we need to stop having duplicates for every process. * Use libc++abi for the default instructions. This works on the major platforms. * Describe both in-tree and out-of-tree builds. Previously it wasn't clear that in-tree builds were even possible for libc++. * Separate the documentation about using libc++ from that about building and testing libc++. llvm-svn: 215358
* NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove ↵Eric Fiselier2014-08-1011-26/+20
| | | | | | | | | | | | | | | | | | external include guards. Things done in this patch: 1. Make __debug include __config since it uses macros from it. 2. The current method of defining _LIBCPP_ASSERT is prone to redefinitions. Move the null _LIBCPP_ASSERT definition into the __debug header to prevent this. 3. Remove external <__debug> include gaurds. <__debug> guards almost all of its contents internally. There is no reason to be doing it externally. This patch should not change any functionality. llvm-svn: 215332
OpenPOWER on IntegriCloud