summaryrefslogtreecommitdiff
path: root/utils
AgeCommit message (Collapse)Author
2017-11-19Attempt to fix template depth test failures on older Clang versionsEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318625 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-07Teach test suite about C++2a dialect flag.Eric Fiselier
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-07Change test suite to support c++17 dialect flag instead of c++1z.Eric Fiselier
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-10-09[libc++] Support Microsoft ABI without vcruntime headersShoaib Meenai
The vcruntime headers are hairy and clash with both libc++ headers themselves and other libraries. libc++ normally deals with the clashes by deferring to the vcruntime headers and silencing its own definitions, but for clients which don't want to depend on vcruntime headers, it's desirable to support the opposite, i.e. have libc++ provide its own definitions. Certain operator new/delete replacement scenarios are not currently supported in this mode, which requires some tests to be marked XFAIL. The added documentation has more details. Differential Revision: https://reviews.llvm.org/D38522 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@315234 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-04[libc++] Add site config option for ABI macrosShoaib Meenai
Some ABI macros affect headers, so it's nice to have a site config option for them. Add a LIBCXX_ABI_DEFINES cmake macro to allow specifying a list of ABI macros to define in the site config. The primary design constraint (as discussed with Eric on IRC a while back) was to not have to repeat the ABI macro names in cmake, which only leaves a free-form cmake list as an option. A somewhat unfortunate consequence is that we can't verify that the ABI macros being defined actually exist, though we can at least perform some basic sanity checking, since all the ABI macros begin with _LIBCPP_ABI_. Differential Revision: https://reviews.llvm.org/D36719 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@314946 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-03Fix test suite misconfiguration on OS XEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@314755 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-02Improve test runner output for broken configurations.Eric Fiselier
Previously LIT would often fail while attempting to set up/configure the test compiler; normally when attempting to dump the builtin macros. This sort of failure provided no useful information about what went wrong with the compiler, making the actual issues hard --- if not impossible --- to debug easily. This patch changes the LIT configuration to report the failure explicitly, including the failed compile command and the stdout/stderr output. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@314735 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-13Use CMAKE_AR instead of the system default 'ar' for merging static librariesMartin Storsjo
Using the system default 'ar' might not be the right choice when cross compiling. Don't prepend the ar options by a dash, not all ar implementations support that (llvm-ar doesn't). Also pass the 's' option when creating the merged library, to create an index. Differential Revision: https://reviews.llvm.org/D37134 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@313122 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-12libcxx: fix merge_archives error variable nameMartell Malone
Differential Revision: https://reviews.llvm.org/D37728 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@313084 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-12Handle object files named *.obj in merge_archives.pyMartin Storsjo
Differential Revision: https://reviews.llvm.org/D37133 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@313072 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-08XFAIL tests on SLES11Brian Cain
XFAIL some failing tests for SLES11 (older glibc), also replace spaces in linux distro w/dashes. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312774 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-10Fix issues with UBSAN test configuration.Eric Fiselier
On Apple the test feature 'sanitizer-new-delete' was incorrectly getting added to the LIT feature set, which mistakenly caused tests to be disabled when using UBSAN (the feature is only needed with ASAN/MSAN/TSAN). git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@307518 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-08Fix filesystem build on platforms with weird time_t types.Eric Fiselier
32-bit powerpc provides a 64 bit time_t type and older ppc64 systems provide time_t as a floating point type. This caused problems when building operations.cpp since operations.cpp contained compile time tests for conversions between time_t and filesystem time type. When these tests failed they caused the libc++ build to fail as well. This is unfortunate. This patch moves the tests out of the source file and into the test suite. It also expands the tests to allow testing of the weird time_t configurations on all platforms. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@307461 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-07cmath: Support clang's -fdelayed-template-parsingDuncan P. N. Exon Smith
r283051 added some functions to cmath (in namespace std) that have the same name as functions in math.h (in the global namespace). Clang's limited support for `-fdelayed-template-parsing` chokes on this. Rename the ones in `cmath` and their uses in `complex` and the test. rdar://problem/32848355 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@307357 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-05Suppress -Waligned-allocation-unavailable warning in libc++ test suiteEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@307218 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-29[lit/libcxx] Fix a remaining reference to lit.util.capture() in custom ↵David L. Jones
libcxx/Darwin code. Summary: This reference to lit.util.capture is functionally identical to subprocess.check_output, so this change switches to call the library routine directly. Reviewers: mzolotukhin, EricWF Reviewed By: mzolotukhin Subscribers: sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D34841 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@306755 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-15remove incorrectly committed assertionEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@305447 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-15Add hack to get --param=enable_modules=true working with a __config_site headerEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@305446 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-31Define -DNOMINMAX when running the tests on WindowsEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@304372 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-25Disable the coroutines tests until Clang bumps __cpp_coroutines to reflect ↵Eric Fiselier
recent changes git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303837 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-25Add <experimental/coroutine>Eric Fiselier
This patch adds the library portions of the coroutines PDTS, which should now be supported by Clang. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303836 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-19[test] Add support for Objective-C++ testsErik Pilkington
Differential revision: https://reviews.llvm.org/D33049 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303466 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-10Workaround -W#warnings on Windows until the correct fixes can landEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302743 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-10Clean up LIT failure output by not showing the entire environmentEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302713 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-10Attempt to speculatively unbreak Apple build botsEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302627 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-10Improve how LIT reports the added environment variablesEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302607 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-10Attempt to unbreak Libc++ test configurationEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302604 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-09Fix test runtime environment on WindowsEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302602 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-09Fix misspelling of environment throughout libc++Eric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302600 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-09Fix Windows tests when __config_site is present.Ben Craig
Previously, the force includes would complain about a missing _DEBUG symbol. Now we dump macros before adding the force includes to the command line. Now with proper newlines. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302497 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-09Revert "Fix Windows tests when __config_site is present."Ben Craig
It's 2017, and line endings are still an issue. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302496 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-08Fix Windows tests when __config_site is present.Ben Craig
Previously, the force includes would complain about a missing _DEBUG symbol. Now we dump macros before adding the force includes to the command line. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302421 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-08Fix Windows locale detectionEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302396 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-07Revert "Actually remove the MSVC STL when linking and testing libc++ on Windows"Eric Fiselier
This reverts commit r302387. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302389 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-07Actually remove the MSVC STL when linking and testing libc++ on WindowsEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302387 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-04Add markup for libc++ dylib availabilityMehdi Amini
Libc++ is used as a system library on macOS and iOS (amongst others). In order for users to be able to compile a binary that is intended to be deployed to an older version of the platform, clang provides the availability attribute <https://clang.llvm.org/docs/AttributeReference.html#availability>_ that can be placed on declarations to describe the lifecycle of a symbol in the library. See docs/DesignDocs/AvailabilityMarkup.rst for more information. Differential Revision: https://reviews.llvm.org/D31739 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302172 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-21XFAIL Windows test failures under test/libcxxEric Fiselier
This patch XFAIL's a number of tests under test/libcxx when on Windows. These failures need more investigation or patches to either Clang or libc++ but for now we don't want them to prevent the bot from going green. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300941 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-21Fix 'verify-support' available featureEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300934 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-20Fix comment and remove incorrect linker flags in test configurationEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300881 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-20Rename the static version of libc++ on Windows.Eric Fiselier
Previously both the static version of libc++ and the import library for the DLL had the same name, 'c++.lib'. This patch renames the static library on Windows to be `libc++.lib` so it no longer conflicts. This naming convention is consistent with other windows libraries. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300817 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-20Make linker errors verbose on WindowsEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300809 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-19Fix typo in Windows test configuration codeEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300770 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-18Update google benchmarkEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300530 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-06Fix remote test execution in litMehdi Amini
Can be used as such: $ python /path/to/lit.py -sv /path/to/llvm/build/projects/libcxx/test/ \ --param=use_system_cxx_lib=true \ --param=executor='SSHExecutor("remote.domain", "username")' git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299607 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-03suppress GCC warning about noexcept functions changing manglingEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299385 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-30libc++ testing: fix invalid python syntaxMehdi Amini
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299057 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-30libc++ testing: fix assertion around `use_system_cxx_lib`Mehdi Amini
Actually fix (hopefully) the assertions about `use_system_cxx_lib`, the previous attempt failed because I misread the error. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299056 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-30libc++ config testing: `use_system_cxx_lib` can be a boolMehdi Amini
Fix the libc++ Green Dragon bot. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299055 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-30libc++ testing: allow to provide a path for `use_system_cxx_lib`Mehdi Amini
As we're trying to setup testing / bots for all shipping version of libc++ on macOS/iOS, we'll need to be able to pass a path to where to find the dylib for each previous version of the OS. Differential Revision: https://reviews.llvm.org/D31486 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299053 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-15Add deployment knobs to tests (for Apple platforms)Mehdi Amini
The tests for libc++ specify -target on the command-line to the compiler, but this is problematic for a few reasons. Firstly, the -target option isn't supported on Apple platforms. Parts of the triple get dropped and ignored. Instead, software should be compiled with a combination of the -arch and -m<name>-version-min options. Secondly, the generic "darwin" target references a kernel version instead of a platform version. Each platform has its own independent versions (with different versions of libc++.1.dylib), independent of the version of the Darwin kernel. This commit adds support to the LIT infrastructure for testing against Apple platforms using -arch and -platform options. If the host is not on OS X, or the compiler type is not clang or apple-clang, then this commit has NFC. If the host is on OS X and --param=target_triple=... is specified, then a warning is emitted to use arch and platform instead. Besides the warning, there's NFC. If the host is on OS X and *no* target-triple is specified, then use the new deployment target logic. This uses two new lit parameters, --param=arch=<arch> and --param=platform=<platform>. <platform> has the form <name>[<version>]. By default, arch is auto-detected from clang -dumpmachine, and platform is "macosx". If the platform doesn't have a version: For "macosx", the version is auto-detected from the host system using sw_vers. This may give a different version than the SDK, since new SDKs can be installed on older hosts. Otherwise, the version is auto-detected from the SDK version using xcrun --show-sdk-path. -arch <arch> -m<name>-version-min=<version> is added to the compiler flags. The target triple is computed as <arch>-apple-<platform>. It is *not* passed to clang, but it is available for XFAIL and UNSUPPORTED (as is with_system_cxx_lib=<target>). For convenience, apple-darwin and <arch>-apple-darwin are added to the set of available features. There were a number of tests marked to XFAIL on x86_64-apple-darwin11 and x86_64-apple-darwin12. I updated these to x86_64-apple-macosx10.7 and x86_64-apple-macosx10.8. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@297798 91177308-0d34-0410-b5e6-96231b3b80d8