Commit Graph

14 Commits

Author SHA1 Message Date
Eric Fiselier
7e73ea873f Teach test suite about C++2a dialect flag.
This patch teaches the test suite configuration about the -std=c++2a
flag. And, since it's the newest dialect, change the test suite to
choose it, if possible, by default.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@317611 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-07 20:26:23 +00:00
Eric Fiselier
6efb1c19a7 Change test suite to support c++17 dialect flag instead of c++1z.
This patch changes the test suite to attempt and prefer -std=c++17 over
-std=c++1z. It also fixes the REQUIRES and UNSUPPORTED lit markers
to refer to c++17 over c++1z.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@317610 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-07 20:20:58 +00:00
Eric Fiselier
01c2bb3677 Fix misspelling of environment throughout libc++
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302600 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-09 23:47:20 +00:00
Eric Fiselier
904a9cb99d Update TestingLibcxx doc to reflect the use_system_cxx_lib flag. Patch from Michael Park
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290441 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-23 19:09:14 +00:00
Eric Fiselier
4289b6ea05 Cleanup LIT testing doc
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284205 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14 06:15:27 +00:00
Eric Fiselier
53003593a2 Make it easier to run the libc++ test suite against libstdc++
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283958 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 00:00:37 +00:00
Eric Fiselier
f05ac13bf1 Attempt to fix Sphinx build
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@281697 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-16 03:47:53 +00:00
Eric Fiselier
0a799bd425 Turn On -DLIBCXX_ENABLE_BENCHMARKS by default.
This patch enables the `cxx-benchmarks` target by default. Note that the target
still has to be manually invoked since it isn't included in the default 'make'
rule.

This patch also gets the benchmarks building w/ GCC. The build previously
required the '-stdlib=libc++' flag but upstream patches to Google Benchmark
now allow the library to build w/ libc++ and GCC.

These changes should make the benchmarks easier to build and test.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@279999 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-29 19:50:49 +00:00
Eric Fiselier
d9b9ef75a8 [libcxx] Add support for benchmark tests using Google Benchmark.
Summary:
This patch does the following:

1. Checks in a copy of the Google Benchmark library into the libc++ repo under `utils/google-benchmark`.
2. Teaches libc++ how to build Google Benchmark against both (A) in-tree libc++ and (B) the platforms native STL.
3. Allows performance benchmarks to be built as part of the libc++ build.

Building the benchmarks (and Google Benchmark) is off by default. It must be enabled using the CMake option `-DLIBCXX_INCLUDE_BENCHMARKS=ON`. When this option is enabled the tests under `libcxx/benchmarks`  can be built using the `libcxx-benchmarks` target.

On Linux platforms where libstdc++ is the default STL the CMake option `-DLIBCXX_BUILD_BENCHMARKS_NATIVE_STDLIB=ON` can be used to build each benchmark test against libstdc++ as well. This is useful for comparing performance between standard libraries.

Support for benchmarks is currently very minimal. They must be manually run by the user and there is no mechanism for detecting performance regressions.

Known Issues:

* `-DLIBCXX_INCLUDE_BENCHMARKS=ON` is only supported for Clang, and not GCC, since the `-stdlib=libc++` option is needed to build Google Benchmark.








Reviewers: danalbert, dberlin, chandlerc, mclow.lists, jroelofs

Subscribers: chandlerc, dberlin, tberghammer, danalbert, srhines, hfinkel

Differential Revision: https://reviews.llvm.org/D22240

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276049 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-19 23:07:03 +00:00
Eric Fiselier
953f34fd94 Fix sphinx build. This is a temporary solution.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@268614 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05 08:12:25 +00:00
Eric Fiselier
f83eb7a8cc Try and fix sphinx build
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@268613 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05 06:30:05 +00:00
Eric Fiselier
cf4550d351 Add cxx_runtime_root options for testing against a different libc++ at runtime
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@266855 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-20 04:17:39 +00:00
Eric Fiselier
2bc8f6ceeb Update testing guide for libc++
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@250323 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-14 20:44:44 +00:00
Eric Fiselier
b9f425a434 [libcxx] Add new Sphinx documentation
Summary:
This patch adds Sphinx based documentation to libc++. The goal is to make it easier to write documentation for libc++ since writing new documentation in HTML is cumbersome. This patch rewrites the main page for libc++ along with the instructions for using, building and testing libc++. 

The built documentation can be found and reviewed here: http://efcs.ca/libcxx-docs

In order to build the sphinx documentation you need to specify the cmake options `-DLLVM_ENABLE_SPHINX=ON -DLIBCXX_INCLUDE_DOCS=ON`. This will add the makefile rule `docs-libcxx-html`.

Reviewers: chandlerc, mclow.lists, danalbert, jroelofs

Subscribers: silvas, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@245788 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-22 19:40:49 +00:00