summaryrefslogtreecommitdiffstats
path: root/libcxx/utils
Commit message (Collapse)AuthorAgeFilesLines
* [libcxx] Support Python 3.8 in the test suiteSergej Jaskiewicz2020-02-191-2/+12
| | | | | | | | | | | | | | | | Summary: `platform.linux_distribution()` has been deprecated in Python 3.5 and removed in Python 3.8. Reviewers: bcain, bcraig, jroelofs, EricWF, mclow.lists, ldionne Reviewed By: jroelofs Subscribers: dexonsmith, christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D72501 (cherry picked from commit 7b8dc8c57697e95fd0b1248e4494ecc0f929aba1)
* [libcxx] Fix a typo in config.pySergej Jaskiewicz2019-12-261-1/+1
| | | | | | | | | | Reviewers: ldionne, jroelofs, EricWF Subscribers: christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D71890
* [libc++] Cleanup and enable multiple warnings.Eric Fiselier2019-12-121-2/+0
| | | | | | | | | | Too many warnings are being disabled too quickly. Warnings are important to keeping libc++ correct. This patch re-enables two warnings: -Wconstant-evaluated and -Wdeprecated-copy. In future, all warnings disabled for the test suite should require an attached bug. The bug should state the plan for re-enabling that warning, or a strong case why it should remain disabled.
* [libcxx] Replace func_name with __name__ for compatibility with Python 3Sergej Jaskiewicz2019-12-111-2/+2
| | | | | | | | | | | | | | Summary: The __name__ attribute is the correct way to get a function name in Python 3. This also works with Python 2. Reviewers: jroelofs, EricWF Subscribers: christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D71136
* [libcxx] [test] Query the target platform, not the host oneLouis Dionne2019-12-104-36/+91
| | | | | | | | | | | | | | target_info is inferred to WindowsLocalTI on Windows hosts unless specified otherwise. In the latter case, it doesn't make sense to use Windows-specific settings if the target is not Windows. This change should not break anything, because target_info is inferred based on what platform.system() returns. self.is_windows was set based on the same platform.system() call. Thanks to Sergej Jaskiewicz for the patch. Differential Revision: https://reviews.llvm.org/D68275
* [libcxx] Add -Wno-deprecated-copy to the test configDavid Zarzycki2019-11-291-0/+1
|
* [libc++] [P1612] Add missing feature-test macro __cpp_lib_endian.Louis Dionne2019-11-141-0/+6
| | | | | | Thanks to Marek Kurdej for the patch. Differential Revision: https://reviews.llvm.org/D70221
* [libcxx] Make generate_feature_test_macro_components script compatible with ↵Louis Dionne2019-11-061-86/+88
| | | | | | | | | Python 3. The script is still compatible with Python 2 as well. Thanks to Marek Kurdej for the patch. Differential Revision: https://reviews.llvm.org/D69884
* [libcxx] Disable -Wconstant-evaluated for testsuiteDávid Bolvanský2019-11-011-0/+1
| | | | | | | | | | Reviewers: EricWF Subscribers: christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D69708
* [libcxx] [test] Run `chmod +x` on executables when testing via SSHLouis Dionne2019-10-251-4/+16
| | | | | | | | | | | When running libc++ tests on a remote machine via SSH, we can encounter a 'Permission denied' error. Fix this with plain old 'chmod +x <executable>'. Thanks to Sergej Jaskiewicz for the patch. Differential Revision: https://reviews.llvm.org/D69170
* [libc++][NFC] Remove excess trailing newlines from most filesCasey Carter2019-10-2310-11/+0
| | | | Testing git commit access.
* [libc++] Move the linker script generation step to CMakeLouis Dionne2019-10-081-58/+0
| | | | | | | | | | | | | | | | | | Summary: This allows the linker script generation to query CMake properties (specifically the dependencies of libc++.so) instead of having to carry these dependencies around manually in global variables. Notice the removal of the LIBCXX_INTERFACE_LIBRARIES global variable. Reviewers: phosek, EricWF Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D68343 llvm-svn: 374116
* Make libc++ gdb pretty printer Python 3 compatibleFangrui Song2019-10-041-3/+15
| | | | llvm-svn: 373691
* Attempt to remove linker workaround on the buildbots: Attempt 2Eric Fiselier2019-10-031-7/+0
| | | | | | | | | | | | The first commit removed the workaround in a old script. This patch removes it in the file actually used by the bots. I have no idea if this is still needed, but removing the workaround seems like the easiest way to test. I'll revert this change if the bots go red. llvm-svn: 373653
* Attempt to remove linker workaround on the buildbots.Eric Fiselier2019-10-031-7/+0
| | | | | | | | | I have no idea if this is still needed, but removing the workaround seems like the easiest way to test. I'll revert this change if the bots go red. llvm-svn: 373650
* Determine endianness at a time when it doesn't inadvertantly clear gdb's ↵Sterling Augustine2019-10-011-7/+11
| | | | | | | | | | | | | | | | | | wrap_buffer via gdb.execute. Summary: I haven't managed a small reproduction for this bug, it involves complicated and deeply nested data structures with a wide variety of pretty printers. But in general, we shouldn't be combining gdb's command line interface (via gdb.execute) with pretty-printers. Subscribers: christof, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68306 llvm-svn: 373402
* [libc++] Add a CMake cache for Apple-specific configuration optionsLouis Dionne2019-09-112-6/+10
| | | | llvm-svn: 371638
* Add gdb pretty printers for a wide variety of libc++ data structures (take 2).Sterling Augustine2019-09-051-0/+992
| | | | | | | | | | | | | | | | | Summary: This patch is an exact duplicate of https://reviews.llvm.org/D65609, except that it uses the newly introduced testing framework to detect if gdb is present so that the tests won't fail on machines without gdb. Reviewers: echristo, EricWF Subscribers: christof, ldionne, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67238 llvm-svn: 371131
* Don't assume libcxx_gdb is always set.Sterling Augustine2019-09-051-2/+3
| | | | | | libc++abi also uses this file, but doesn't use the same CMakeLists.txt. llvm-svn: 371130
* [libcxx] Codesign test executables if necessaryVedant Kumar2019-09-053-10/+76
| | | | | | | | | If LLVM_CODESIGNING_IDENTITY is set, test executables need to be codesigned. Differential Revision: https://reviews.llvm.org/D66496 llvm-svn: 371126
* Add testing infrastructure to check if gdb is available for testing.Sterling Augustine2019-09-051-0/+6
| | | | | | | | | | | | Reviewers: echristo, EricWF Subscribers: mgorny, christof, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67194 llvm-svn: 371120
* Revert "Add gdb pretty printers for a wide variety of libc++ data structures."Sterling Augustine2019-08-311-992/+0
| | | | | | This reverts commit d8c9f2f572fe06a34ccfc28ee9223b64d7d275d3. llvm-svn: 370553
* Add gdb pretty printers for a wide variety of libc++ data structures.Sterling Augustine2019-08-301-0/+992
| | | | | | | | | | | | | | | | | | | | Summary: Also add a test suite. Reviewers: EricWF Subscribers: christof, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65609 Run a pep8 formatter. Run pep8 formatter. Convert to PEP8, address other comments from code review. llvm-svn: 370551
* [libc++] Improve Python 3 compatibility for merge_archives.pyLouis Dionne2019-08-231-1/+2
| | | | | | | | | | | | Popen.communicate() method in Python 2 returns a pair of strings, and in Python 3 it returns a pair of byte-like objects unless universal_newlines is set to True. This led to an error when using Python 3. With this patch, merge_archives.py works fine with Python 3. Thanks to Sergej Jaskiewicz for the patch. Differential Revision: https://reviews.llvm.org/D66649 llvm-svn: 369764
* libcxx: Make gen_link_script.py print contents only in --dryrun modeNico Weber2019-08-231-2/+3
| | | | | | | | | | | The build should generally be quiet if there are no errors, and this script has been around long enough that we can remove the log output. If we ever need to debug something with this script, we can put back the logging then. Differential Revision: https://reviews.llvm.org/D66594 llvm-svn: 369757
* libcxx: Rename .hpp files in libcxx/test/support to .hNico Weber2019-08-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | LLVM uses .h as its extension for header files. Files renamed using: for f in libcxx/test/support/*.hpp; do git mv $f ${f%.hpp}.h; done References to the files updated using: for f in $(git diff master | grep 'rename from' | cut -f 3 -d ' '); do a=$(basename $f); echo $a; rg -l $a libcxx | xargs sed -i '' "s/$a/${a%.hpp}.h/"; done HPP include guards updated manually using: for f in $(git diff master | grep 'rename from' | cut -f 3 -d ' '); do echo ${f%.hpp}.h ; done | xargs mvim Differential Revision: https://reviews.llvm.org/D66104 llvm-svn: 369481
* fix buildbot start script to no longer hangEric Fiselier2019-08-201-1/+1
| | | | llvm-svn: 369428
* bump lld version used by buildbotsEric Fiselier2019-08-201-2/+2
| | | | llvm-svn: 369416
* [libc++] Populate a lit feature including the compiler patch levelLouis Dionne2019-08-201-1/+3
| | | | | | | | | | | | | | If the compiler is (for example) AppleClang 10.0.1, we would previously populate the following lit features: apple-clang apple-clang-10 apple-clang-10.0 This patch additionally populates a feature called 'apple-clang-10.0.1', which allows more precise enabling/disabling of tests. llvm-svn: 369406
* [libc++] Fix environment variable passing in libc++'s `SSHExecutor` `lit` ↵Louis Dionne2019-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | utility Summary: Quote the value of environment variables when passing them to the SSH client in SSHExecutor in libc++'s lit utilities. Without the quotes, an environment variable like FOO="buzz bar" gets passed incorrectly like this, ssh env FOO=buzz bar, which causes bar to be treated as a command to run, not part of the environment variable value. We ran into this when using SSHExecutor to do bringup of our CUDA libcu++ port on an embedded aarch64 system. Patch by Bryce Adelstein Lelbach. Differential Revision: https://reviews.llvm.org/D65960 llvm-svn: 368317
* [pstl] Add a __pstl_config_site header to record the CMake configurationLouis Dionne2019-08-081-4/+6
| | | | | | | | | | | | | This commit adds a __pstl_config_site header that contains the value of macros specified at CMake configuration time. It works similarly to libc++'s __config_site header, except we always include it as a separate file instead of concatenating it to the main configuration header. It is necessary to thread the includes for that header into libc++'s lit configuration, otherwise we'd be requiring an installation step prior to running the test suite. llvm-svn: 368284
* [libc++] Use the monorepo for the back-deployment testing scriptsLouis Dionne2019-08-062-59/+27
| | | | llvm-svn: 368077
* [libc++] Use the monorepo in the macos-trunk CI scriptLouis Dionne2019-08-061-54/+17
| | | | llvm-svn: 368051
* [libc++] Accept any non-zero return for .fail.cpp testsLouis Dionne2019-08-051-2/+2
| | | | llvm-svn: 367930
* [libc++] Take 2: Integrate the PSTL into libc++Louis Dionne2019-08-051-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This commit allows specifying LIBCXX_ENABLE_PARALLEL_ALGORITHMS when configuring libc++ in CMake. When that option is enabled, libc++ will assume that the PSTL can be found somewhere on the CMake module path, and it will provide the C++17 parallel algorithms based on the PSTL (that is assumed to be available). The commit also adds support for running the PSTL tests as part of the libc++ test suite. The first attempt to commit this failed because it exposed a bug in the tests for modules. Now that this has been fixed, it should be safe to commit this. Reviewers: EricWF Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits, mclow.lists, EricWF Tags: #libc Differential Revision: https://reviews.llvm.org/D60480 llvm-svn: 367903
* Revert "Suppress -Wctad-maybe-unsupported on types w/o deduction guides."Eric Fiselier2019-08-041-1/+0
| | | | | | | | | Some modules builds are issuing buggy diagnostics. The cause of which is TBD. This reverts commit r@367770. llvm-svn: 367777
* Suppress -Wctad-maybe-unsupported on types w/o deduction guides.Eric Fiselier2019-08-031-0/+1
| | | | | | | | | | | There are a handful of standard library types that are intended to support CTAD but don't need any explicit deduction guides to do so. This patch adds a dummy deduction guide to those types to suppress -Wctad-maybe-unsupported (which gets emitted in user code). llvm-svn: 367770
* [benchmark] Fix win32 link on case-sensitive fsRoman Lebedev2019-07-302-1/+5
| | | | | | | | | | | | | | Summary: This fixes cross-builds with MinGW from case-sensitive file-systems (on Linux) This is a cherry-pick from https://github.com/google/benchmark/pull/840 https://github.com/google/benchmark/commit/8e48105d465c586068dd8e248fe75a8971c6ba3a Original patch by: @jschueller (Julien Schueller) ! Differential Revision: https://reviews.llvm.org/D61371 llvm-svn: 367356
* add more information to benchmark test failuresEric Fiselier2019-07-301-1/+1
| | | | llvm-svn: 367319
* Ensure __config_site definitions are passed to modules tests.Eric Fiselier2019-07-291-8/+7
| | | | | | | | | | | | The test configuration contained a bug where we only raised the __config_site commands to the command line if modules were enabled for all of the libc++ tests. However there are special modules-only tests, and these tests weren't getting the correct defines. This patch corrects that issue. llvm-svn: 367267
* [AIX][lit] Don't depend on psutil on AIXDavid Tenty2019-07-241-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: On AIX psutil can run into problems with permissions to read the process tree, which causes problems for python timeout tests which need to kill off a test and it's children. This patch adds a workaround by invoking shell via subprocess and using a platform specific option to ps to list all the descendant processes so we can kill them. We add some checks so lit can tell whether timeout tests are supported with out exposing whether we are utilizing the psutil implementation or the alternative. Reviewers: hubert.reinterpretcast, andusy, davide, delcypher Reviewed By: delcypher Subscribers: davide, delcypher, christof, lldb-commits, libcxx-commits, llvm-commits Tags: #lldb, #libc, #llvm Differential Revision: https://reviews.llvm.org/D64251 llvm-svn: 366912
* [RISCV] Implement benchmark::cycleclock::NowRoger Ferrer Ibanez2019-07-242-0/+21
| | | | | | | | | This is a cherrypick of D64237 onto llvm/utils/benchmark and libcxx/utils/google-benchmark. Differential Revision: https://reviews.llvm.org/D65142 llvm-svn: 366868
* [libc++] Do not infer support for C++17 in GCC < 7Louis Dionne2019-07-221-0/+1
| | | | | | | | | | | | | | | | | | libc++'s lit configuration infers the C++ language dialect when it is not provided by checking which -std= flags that a compiler supports. GCC 5 and GCC 6 have a -std=c++17 flag, however, they do not have full C++17 support. The lit configuration has hardcoded logic that removes -std=c++1z as an option to test for GCC < 7, but not -std=c++17. This leads to a bunch of failures when running libc++ tests with GCC 5 or GCC 6. This patch adds -std=c++17 to the list of flags that are discarded for GCC < 7 by lit's language dialect inference. Thanks to Bryce Adelstein Lelbach for the patch. Differential Revision: https://reviews.llvm.org/D62874 llvm-svn: 366700
* Revert "[libc++] Integrate the PSTL into libc++"Louis Dionne2019-07-191-7/+0
| | | | | | | This reverts r366593, which caused unforeseen breakage on the build bots. I'm reverting until the problems have been figured out and fixed. llvm-svn: 366603
* [libc++] Allow passing additional CMake arguments in macOS trunk CI scriptLouis Dionne2019-07-191-1/+9
| | | | llvm-svn: 366601
* [libc++] Integrate the PSTL into libc++Louis Dionne2019-07-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | Summary: This commit allows specifying LIBCXX_ENABLE_PARALLEL_ALGORITHMS when configuring libc++ in CMake. When that option is enabled, libc++ will assume that the PSTL can be found somewhere on the CMake module path, and it will provide the C++17 parallel algorithms based on the PSTL (that is assumed to be available). The commit also adds support for running the PSTL tests as part of the libc++ test suite. Reviewers: rodgert, EricWF Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits, mclow.lists, EricWF Tags: #libc Differential Revision: https://reviews.llvm.org/D60480 llvm-svn: 366593
* Tolerate import errors in "not.py" implementationEric Fiselier2019-07-121-4/+12
| | | | llvm-svn: 365855
* [libc++] Update availability markup for Filesystem on Apple platformsLouis Dionne2019-07-031-3/+3
| | | | llvm-svn: 365068
* [libcxx] [test] Read files as bytestrings to fix py3 encoding issuesMichal Gorny2019-06-241-6/+8
| | | | | | | | | | | | | | | | Use binary mode to read test files in libcxx LibcxxTestFormat class. This ensures that tests are read correctly independently of encoding, and therefore fixes UnicodeDecodeError when file is opened in Python 3 that defaults to pure ASCII encoding. Technically this could be also fixed via conditionally appending encoding argument when opening the file in Python 3. However, since the code in question only searches for fixed ASCII substrings reading it in binary mode is simpler and more universal. Differential Revision: https://reviews.llvm.org/D63346 llvm-svn: 364170
* Reconfigure docker builders to be more modular.Eric Fiselier2019-06-1812-510/+303
| | | | | | And other various cleanups to the configuration. llvm-svn: 363722
OpenPOWER on IntegriCloud