summaryrefslogtreecommitdiffstats
path: root/libcxx/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove default definition for libcxx_obj_dir because it doesn't make senseEric Fiselier2015-02-111-6/+6
| | | | llvm-svn: 228778
* Add pragma system header to some experimental headers and add newlines to files.Eric Fiselier2015-02-102-2/+2
| | | | llvm-svn: 228712
* Fix more issues exposed by -pedantic-errors in c++03 modeEric Fiselier2015-02-1027-26/+28
| | | | llvm-svn: 228711
* Remove use of zero length arrays in tests. Get tests passing with ↵Eric Fiselier2015-02-108-228/+58
| | | | | | -pedantic-errors llvm-svn: 228706
* [libcxx] Fix PR 22468 - std::function<void()> does not accept ↵Eric Fiselier2015-02-104-0/+81
| | | | | | | | | | | | | | | | | | | non-void-returning functions Summary: The bug can be found here: http://llvm.org/bugs/show_bug.cgi?id=22468 `__invoke_void_return_wrapper` is needed to properly handle calling a function that returns a value but where the std::function return type is void. Without this '-Wsystem-headers' will cause `function::operator()(...)` to not compile. Reviewers: eugenis, K-ballo, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7444 llvm-svn: 228705
* [libcxx] Properly convert the count arguments to the *_n algorithms before use.Eric Fiselier2015-02-107-11/+163
| | | | | | | | | | | | | | | | | Summary: The requirement on the `Size` type passed to *_n algorithms is that it is convertible to an integral type. This means we can't use a variable of type `Size` directly. Instead we need to convert it to an integral type first. The problem is finding out what integral type to convert it to. `__convert_to_integral` figures out what integral type to convert it to and performs the conversion, It also promotes the resulting integral type so that it is at least as big as an integer. `__convert_to_integral` also has a special case for converting enums. This should only work on non-scoped enumerations because it does not apply an explicit conversion from the enum to its underlying type. Reviewers: chandlerc, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7449 llvm-svn: 228704
* Fix use of C++11 extensions in C++03 code.Eric Fiselier2015-02-103-10/+12
| | | | llvm-svn: 228698
* Remove use of _[A-Z] identifiers and poison them to detect usageEric Fiselier2015-02-052-2/+35
| | | | llvm-svn: 228353
* Get tests running with warnings. Fix warnings in headers and testsEric Fiselier2015-02-0524-16/+66
| | | | llvm-svn: 228344
* Test commit: remove whitespace at EOL.Dimitry Andric2015-02-051-1/+1
| | | | llvm-svn: 228280
* add platform to LIT's available featuresEric Fiselier2015-02-031-0/+8
| | | | llvm-svn: 228071
* Fix alignment in tests for readability.Eric Fiselier2015-02-032-4/+4
| | | | llvm-svn: 228028
* Don't assume LIT_EXECUTABLE points to a Python script, take 2Greg Fitzgerald2015-02-031-14/+20
| | | | | | | | | | | | | | | Before this patch, the CMake build assumed LIT_EXECUTABLE pointed to a Python script, not an executable. If you were to pass in an executable, such as the result of py2exe on lit.py, the build would fall over. With this patch, the CMake build assumes LIT_EXECUTABLE is an executable. You can continue setting it to lit.py, but it will now use its shebang to find a Python interpreter. Differential Revision: http://reviews.llvm.org/D7315 llvm-svn: 228005
* Revert "Don't assume LIT_EXECUTABLE points to a Python script"Greg Fitzgerald2015-02-031-20/+14
| | | | | | This reverts r227994 llvm-svn: 227996
* Don't assume LIT_EXECUTABLE points to a Python scriptGreg Fitzgerald2015-02-031-14/+20
| | | | | | | | | | | | | | | Before this patch, the CMake build assumed LIT_EXECUTABLE pointed to a Python script, not an executable. If you were to pass in an executable, such as the result of py2exe on lit.py, the build would fall over. With this patch, the CMake build assumes LIT_EXECUTABLE is an executable. You can continue setting it to lit.py, but it will now use its shebang to find a Python interpreter. Differential Revision: http://reviews.llvm.org/D7315 llvm-svn: 227994
* [libcxx] Add <experimental/system_error>Eric Fiselier2015-02-035-0/+138
| | | | | | | | | | | | | | | | | | Summary: This patch just adds the variable templates in <experimental/system_error>. see: https://rawgit.com/cplusplus/fundamentals-ts/v1/fundamentals-ts.html#syserror Reviewers: jroelofs, danalbert, K-ballo, mclow.lists Reviewed By: mclow.lists Subscribers: chandlerc, cfe-commits Differential Revision: http://reviews.llvm.org/D7353 llvm-svn: 227973
* [libcxx] Add <experimental/chrono>Eric Fiselier2015-02-024-0/+110
| | | | | | | | | | | | | | | | | Summary: This patch adds <experimental/chrono> which only contains a single variable template. See: https://rawgit.com/cplusplus/fundamentals-ts/v1/fundamentals-ts.html#time Reviewers: jroelofs, danalbert, K-ballo, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7352 llvm-svn: 227860
* Fix PR#22433. The algorithm is_partitioned was testing an item in the middle ↵Marshall Clow2015-02-021-5/+24
| | | | | | of the sequence twice. llvm-svn: 227824
* Fix PR#22427. The implementation of inplace_merge had a \'small data set\' ↵Marshall Clow2015-02-022-3/+12
| | | | | | optimization; if either half of the merge was small (i.e, less than 9 items), it did an inplace merge rather than allocating a buffer and doing a faster/smarter merge. However, this failed to satisfy the complexity requirements in the standard. Remove that code. Add tests to check the complexity, and add the same tests for std::merge, since we are in that section of the test suite anyway. llvm-svn: 227811
* Fix for PR22061 by K-balloMarshall Clow2015-01-281-3/+6
| | | | llvm-svn: 227384
* We had two identical files named 'MoveOnly.h' in the test suite. Move one to ↵Marshall Clow2015-01-28157-205/+155
| | | | | | support/, remove the other, and update all the tests that included them. No functionality change. llvm-svn: 227370
* Removed some tabs that snuck into the test suite. No functionality changeMarshall Clow2015-01-285-29/+29
| | | | llvm-svn: 227363
* Fix PR22366. When move-constructing an associative container and explicitly ↵Marshall Clow2015-01-285-0/+241
| | | | | | passing an allocator that compares different, we were not calling the destructor of the elements in the moved-from container. llvm-svn: 227359
* Fix flag order of -xc++ in CXXCompiler.Eric Fiselier2015-01-281-4/+6
| | | | llvm-svn: 227273
* Fix definition of __has_feature in r227263Eric Fiselier2015-01-271-1/+1
| | | | llvm-svn: 227264
* Ensure __has_feature is defined in test/support/count_new.hppEric Fiselier2015-01-271-0/+4
| | | | llvm-svn: 227263
* Fix linking pthread in tests on FreeBSDEric Fiselier2015-01-271-1/+1
| | | | llvm-svn: 227240
* [libcxx] Make __wrap_iter work with gcc.Nico Weber2015-01-271-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | he following snippet doesn't build when using gcc and libc++: #include <string> void f(const std::string& s) { s.begin(); } #include <vector> void AppendTo(const std::vector<char>& v) { v.begin(); } The problem is that __wrap_iter has a private constructor. It lists vector<> and basic_string<> as friends, but gcc seems to ignore this for vector<> for some reason. Declaring vector before the friend declaration in __wrap_iter is enough to work around this problem, so do that. With this patch, I'm able to build chromium/android with libc++. Without it, two translation units fail to build. (iosfwd already provides a forward declaration of basic_string.) As far as I can tell, this is due to a gcc bug, which I filed as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64816. Fixes PR22355. http://reviews.llvm.org/D7201 llvm-svn: 227226
* Added test for incomplete type support in vector/list/forward_list. ↵Marshall Clow2015-01-263-0/+6
| | | | | | References PR#17980 llvm-svn: 227131
* Change the available features used for no-rtti and no-exceptionsEric Fiselier2015-01-261-6/+4
| | | | llvm-svn: 227107
* Fix PR21428. Buffer was one byte too small in octal formatting case. Add testMarshall Clow2015-01-261-0/+84
| | | | llvm-svn: 227097
* Add USES_TERMINAL to libcxx lit tests, if availableFilipe Cabecinhas2015-01-231-1/+8
| | | | llvm-svn: 226900
* Fix PR#22284. Add a new overload to deque::insert to handle forward ↵Marshall Clow2015-01-221-1/+40
| | | | | | iterators. Update tests to exercise this case. llvm-svn: 226847
* [libcxx] Allow use of ShTest in libc++ tests along with other changes.Eric Fiselier2015-01-2210-222/+498
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch allows the use of LIT's ShTest format in the libc++ test suite. ShTests have the suffix '.sh.cpp'. It also introduces a series of other changes. These changes are: - More functionality including parsing test metadata has been moved into LIT. - LibcxxTestFormat now supports multi-part suffixes. - the `CXXCompiler` functionality has been used to shrink the size of LibcxxTestFormat. - The recursive loading of the site config has been turned into `libcxx.test.config.loadSiteConfig` so it can be used with libc++abi. - Temporary files are now created in the build directory of libc++. This follows how it is down in ShTest. - `not.py` was added as a utility executable that mirrors the functionality of LLVM's `not` executable. - The first ShTest test was added under test/libcxx/double_include.sh.cpp Reviewers: jroelofs, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7073 llvm-svn: 226844
* Fix lit config typoJonathan Roelofs2015-01-221-1/+1
| | | | llvm-svn: 226749
* Only use -target flag when target_triple is manually specifiedEric Fiselier2015-01-201-3/+5
| | | | llvm-svn: 226615
* Print compiler path during configuration and pass more flags to the linkerEric Fiselier2015-01-202-1/+5
| | | | llvm-svn: 226576
* Address danalbert's post-commit review comments on D7019 and small fixes.Eric Fiselier2015-01-202-10/+12
| | | | | | | | | | | This patch addresses some comments on http://reviews.llvm.org/D7019. - Move compiler.py to test/libcxx from test/libcxx/test. - Make CXXCompiler.target None by default. - Use `{}` instead of `dict()` to initialize an empty dict. - Pass the -fsanitize options to both the compile and link commands. llvm-svn: 226575
* Cleaning up the test suite; remove some includes of non-standard file <__config>Marshall Clow2015-01-1812-35/+8
| | | | llvm-svn: 226411
* A couple small changes to get LIT working with python3Eric Fiselier2015-01-162-2/+2
| | | | llvm-svn: 226330
* [libcxx] Add compiler utility class for LIT testsEric Fiselier2015-01-163-123/+189
| | | | | | | | | | | | | | | | | Summary: This adds a compiler utility class that handles generating compile commands and running them. Instead of having to pass the compiler path and 3 groups of flags between the configuration and the test format this allows us to just pass the compiler object. Reviewers: danalbert, jroelofs Reviewed By: jroelofs Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7019 llvm-svn: 226323
* Add 'no_default_flags' option for turning off all default test compile and ↵Eric Fiselier2015-01-161-14/+20
| | | | | | | | | | | | | | link flags. When 'no_default_flags' is true only flags passed using '--param=compile_flags' and '--param=link_flags' will be used when compiling the tests. This option can be used to run the test suite against libstdc++ and helps with all unusual test suite configurations. NOTE: sanitizer flags are still added when '--param=use_sanitizer' is used even if '--param=no_default_flags' is given. llvm-svn: 226322
* [libc++] Add support for cross compiling.Dan Albert2015-01-162-4/+16
| | | | | | | | | | | | Reviewers: EricWF, jroelofs Reviewed By: jroelofs Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6990 llvm-svn: 226237
* Print out environment in lit notesJonathan Roelofs2015-01-151-0/+1
| | | | llvm-svn: 226223
* Use set() instead of option() for string option.Dan Albert2015-01-151-1/+2
| | | | | | Fixes issue in r226185. llvm-svn: 226192
* Add a cmake option for LIT configuration variant.Dan Albert2015-01-152-0/+3
| | | | llvm-svn: 226185
* Refactor configure_link_flags for modularity. NFCJonathan Roelofs2015-01-151-8/+16
| | | | llvm-svn: 226174
* Rename src_root -> libcxx_src_root. NFCJonathan Roelofs2015-01-151-5/+6
| | | | llvm-svn: 226063
* Rename system_lib -> system_cxx_lib. NFCJonathan Roelofs2015-01-1430-82/+82
| | | | llvm-svn: 226061
* Rename library_root to libcxx_library_root. NFCJonathan Roelofs2015-01-141-8/+8
| | | | llvm-svn: 226043
OpenPOWER on IntegriCloud