Commit Graph

1792 Commits

Author SHA1 Message Date
Eric Fiselier
9ba5c11b99 Rename pow2 functions in __hash_table to reflect that they are hash specific
llvm-svn: 227866
2015-02-02 21:31:48 +00:00
Eric Fiselier
a261064483 Update LFTS status page
llvm-svn: 227862
2015-02-02 21:10:21 +00:00
Eric Fiselier
2f746d4c94 [libcxx] Add <experimental/chrono>
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
2015-02-02 21:05:47 +00:00
Marshall Clow
b9595b79f2 Fix PR#22433. The algorithm is_partitioned was testing an item in the middle of the sequence twice.
llvm-svn: 227824
2015-02-02 18:16:35 +00:00
Marshall Clow
0b48cf9a62 Fix PR#22427. The implementation of inplace_merge had a \'small data set\' 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
2015-02-02 17:35:53 +00:00
Marshall Clow
526e0929a5 Reorder a couple of operations in inplace_merge so that we can meet the complexity guidelines mandated by the standard. References PR22427
llvm-svn: 227808
2015-02-02 16:44:11 +00:00
Jonathan Roelofs
ef66a6f40c Revert r227804: Use fseek/ftell instead of fseeko/ftello when Newlib is the libc
This change is causing a driver crash on libcxx-libcxxabi-x86_64-linux-ubuntu-msan

llvm-svn: 227806
2015-02-02 15:56:43 +00:00
Jonathan Roelofs
8468bbb993 Use fseek/ftell instead of fseeko/ftello when Newlib is the libc
http://reviews.llvm.org/D6626

llvm-svn: 227804
2015-02-02 15:04:29 +00:00
Dan Albert
b2c9c3cfce Add myself to CREDITS.TXT.
llvm-svn: 227630
2015-01-30 22:40:31 +00:00
Dan Albert
2477bed098 Update web page to direct patches to Phabricator.
llvm-svn: 227629
2015-01-30 22:33:41 +00:00
Marshall Clow
538fec0e59 Fix for PR22061 by K-ballo
llvm-svn: 227384
2015-01-28 22:22:35 +00:00
Marshall Clow
949389c395 We had two identical files named 'MoveOnly.h' in the test suite. Move one to support/, remove the other, and update all the tests that included them. No functionality change.
llvm-svn: 227370
2015-01-28 21:22:53 +00:00
Marshall Clow
c57d98ae86 Removed some tabs that snuck into the test suite. No functionality change
llvm-svn: 227363
2015-01-28 20:26:11 +00:00
Marshall Clow
d5f461ca03 Fix PR22366. When move-constructing an associative container and explicitly passing an allocator that compares different, we were not calling the destructor of the elements in the moved-from container.
llvm-svn: 227359
2015-01-28 19:54:25 +00:00
Eric Fiselier
b06fe2a704 Fix flag order of -xc++ in CXXCompiler.
llvm-svn: 227273
2015-01-28 00:05:48 +00:00
Eric Fiselier
9ec188db33 Fix definition of __has_feature in r227263
llvm-svn: 227264
2015-01-27 23:05:41 +00:00
Eric Fiselier
5a4ee414d8 Ensure __has_feature is defined in test/support/count_new.hpp
llvm-svn: 227263
2015-01-27 23:03:38 +00:00
Eric Fiselier
9e2b7639df Fix linking pthread in tests on FreeBSD
llvm-svn: 227240
2015-01-27 20:43:53 +00:00
Nico Weber
b1e72eca0c [libcxx] Make __wrap_iter work with gcc.
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
2015-01-27 19:27:39 +00:00
Eric Fiselier
8e0dec7c80 Adopt CMake policy CMP0042. Set MACOSX_RPATH on by default.
llvm-svn: 227139
2015-01-26 21:56:45 +00:00
Marshall Clow
00f792e19e Added test for incomplete type support in vector/list/forward_list. References PR#17980
llvm-svn: 227131
2015-01-26 20:06:52 +00:00
Eric Fiselier
6ffc9bf6ba Change the available features used for no-rtti and no-exceptions
llvm-svn: 227107
2015-01-26 18:11:58 +00:00
Marshall Clow
07ef8e6796 Fix PR21428. Buffer was one byte too small in octal formatting case. Add test
llvm-svn: 227097
2015-01-26 17:24:52 +00:00
Eric Fiselier
fbbfd09214 Get libc++ building on Sun Solaris. Patch from C Bergstrom.
llvm-svn: 226947
2015-01-23 22:22:36 +00:00
Filipe Cabecinhas
2d4e4ff77e Add USES_TERMINAL to libcxx lit tests, if available
llvm-svn: 226900
2015-01-23 06:59:51 +00:00
Marshall Clow
f15d7a5882 Fix PR#22284. Add a new overload to deque::insert to handle forward iterators. Update tests to exercise this case.
llvm-svn: 226847
2015-01-22 18:33:29 +00:00
Eric Fiselier
74e82fa4f3 [libcxx] Allow use of ShTest in libc++ tests along with other changes.
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
2015-01-22 18:05:58 +00:00
Jonathan Roelofs
3ad99f0f2e Fix lit config typo
llvm-svn: 226749
2015-01-22 00:05:11 +00:00
Duncan P. N. Exon Smith
53afae49ee tuple: Make operator<() linear instead of exponential
Patch by Matthew Dempsky!

llvm-svn: 226641
2015-01-21 02:51:17 +00:00
Eric Fiselier
4ac5a9e92c Only use -target flag when target_triple is manually specified
llvm-svn: 226615
2015-01-20 22:37:25 +00:00
Eric Fiselier
4b8985b545 Print compiler path during configuration and pass more flags to the linker
llvm-svn: 226576
2015-01-20 16:26:48 +00:00
Eric Fiselier
747c0fda5d Address danalbert's post-commit review comments on D7019 and small fixes.
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
2015-01-20 16:14:18 +00:00
Marshall Clow
eb9bfac876 Cleaning up the test suite; remove some includes of non-standard file <__config>
llvm-svn: 226411
2015-01-18 19:05:51 +00:00
Eric Fiselier
7b269d0af5 A couple small changes to get LIT working with python3
llvm-svn: 226330
2015-01-16 21:59:07 +00:00
Eric Fiselier
b0478741ca [libcxx] Add compiler utility class for LIT tests
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
2015-01-16 21:35:08 +00:00
Eric Fiselier
a745465ae4 Add 'no_default_flags' option for turning off all default test compile and 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
2015-01-16 21:22:08 +00:00
Dan Albert
e39fb93cf3 Remove triple detection from cmake.
This isn't actually used for anything, and is broken on Darwin
(currently causing build failures now that the triple is passed to aid
cross compiling). Rather than fix unused code, just remove it.

llvm-svn: 226243
2015-01-16 02:27:17 +00:00
Dan Albert
db56013cd1 [libc++] Add support for cross compiling.
Reviewers: EricWF, jroelofs

Reviewed By: jroelofs

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D6990

llvm-svn: 226237
2015-01-16 00:55:15 +00:00
Jonathan Roelofs
0c69163a42 Print out environment in lit notes
llvm-svn: 226223
2015-01-15 23:04:37 +00:00
Dan Albert
8a894a456c Use set() instead of option() for string option.
Fixes issue in r226185.

llvm-svn: 226192
2015-01-15 18:56:45 +00:00
Dan Albert
b3db76622b Add a cmake option for LIT configuration variant.
llvm-svn: 226185
2015-01-15 18:35:04 +00:00
Jonathan Roelofs
13be264db2 Refactor configure_link_flags for modularity. NFC
llvm-svn: 226174
2015-01-15 16:18:13 +00:00
Jonathan Roelofs
015cf55c71 Rename src_root -> libcxx_src_root. NFC
llvm-svn: 226063
2015-01-15 00:03:14 +00:00
Jonathan Roelofs
eb7b5e74d4 Rename system_lib -> system_cxx_lib. NFC
llvm-svn: 226061
2015-01-14 23:38:12 +00:00
Jonathan Roelofs
e5f997e551 Rename library_root to libcxx_library_root. NFC
llvm-svn: 226043
2015-01-14 21:56:50 +00:00
Jonathan Roelofs
da5a97594a Refactor configure_compile_flags. NFC
llvm-svn: 226040
2015-01-14 21:02:14 +00:00
Jonathan Roelofs
fd41e2f946 Support picking the unwinder used for testing on linux (just as libc++abi testing allows)
llvm-svn: 226024
2015-01-14 19:29:04 +00:00
Jonathan Roelofs
b9d33419fb Fix a lit configuration diagnostic. NFC
llvm-svn: 225985
2015-01-14 14:48:27 +00:00
Jonathan Roelofs
9144235617 Refactor the lit config's linker flag discovery code. NFC
llvm-svn: 225920
2015-01-14 01:29:04 +00:00
Marshall Clow
9db9069cf3 Make regex::assign not clobber the regex in case of failure. Fixes PR#22213
llvm-svn: 225799
2015-01-13 16:49:52 +00:00