文件最后提交记录最后更新时间
[clang] Preserve Qualifiers and type sugar in TemplateNames (#93433) This patch improves the preservation of qualifiers and loss of type sugar in TemplateNames. This problem is analogous to https://reviews.llvm.org/D112374 and this patch takes a very similar approach to that patch, except the impact here is much lesser. When a TemplateName was written bare, without qualifications, we wouldn't produce a QualifiedTemplate which could be used to disambiguate it from a Canonical TemplateName. This had effects in the TemplateName printer, which had workarounds to deal with this, and wouldn't print the TemplateName as-written in most situations. There are also some related fixes to help preserve this type sugar along the way into diagnostics, so that this patch can be properly tested. - Fix dropping the template keyword. - Fix type deduction to preserve sugar in TST TemplateNames.2 年前
[libc++] Qualifies size_t. This has been done using the following command find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \; And manually removed some false positives in std/depr/depr.c.headers. The std module doesn't export ::size_t, this is a preparation for that module. Reviewed By: ldionne, #libc, EricWF, philnik Differential Revision: https://reviews.llvm.org/D1460883 年前
[libc++][spaceship] Implement operator<=> for multiset and set Implements parts of P1614R2 Implemented operator<=> for multiset and set Reviewed By: #libc, Mordante Differential Revision: https://reviews.llvm.org/D1484163 年前
[libcxx][NFC] Add tests for associative containers key_comp and value_comp Add missing tests to improve associative containers code coverage: - Tests for key_comp() and value_comp() observers - Tests for std::map and std::multimap value_compare member class Reviewed by: ldionne, rarutyun, #libc Differential Revision: https://reviews.llvm.org/D1139984 年前
[libc++] [test] Update "test_compare.h" users to avoid removed-in-C++20 members. NFCI. Drive-by minor improvements to a couple of uses of min_pointer. Differential Revision: https://reviews.llvm.org/D1033664 年前
[libc++][NFC] Simplify checks for static assertions in .verify.cpp tests (#67559) We don't neeed to handle both spellings anymore since we don't support Clang 15 anymore.2 年前
Support tests in freestanding Summary: Freestanding is *weird*. The standard allows it to differ in a bunch of odd manners from regular C++, and the committee would like to improve that situation. I'd like to make libc++ behave better with what freestanding should be, so that it can be a tool we use in improving the standard. To do that we need to try stuff out, both with "freestanding the language mode" and "freestanding the library subset". Let's start with the super basic: run the libc++ tests in freestanding, using clang as the compiler, and see what works. The easiest hack to do this: In utils/libcxx/test/config.py add: self.cxx.compile_flags += ['-ffreestanding'] Run the tests and they all fail. Why? Because in freestanding main isn't special. This "not special" property has two effects: main doesn't get mangled, and main isn't allowed to omit its return statement. The first means main gets mangled and the linker can't create a valid executable for us to test. The second means we spew out warnings (ew) and the compiler doesn't insert the return we omitted, and main just falls of the end and does whatever undefined behavior (if you're luck, ud2 leading to non-zero return code). Let's start my work with the basics. This patch changes all libc++ tests to declare main as int main(int, char** so it mangles consistently (enabling us to declare another extern "C" main for freestanding which calls the mangled one), and adds return 0; to all places where it was missing. This touches 6124 files, and I apologize. The former was done with The Magic Of Sed. The later was done with a (not quite correct but decent) clang tool: https://gist.github.com/jfbastien/793819ff360baa845483dde81170feed This works for most tests, though I did have to adjust a few places when e.g. the test runs with -x c, macros are used for main (such as for the filesystem tests), etc. Once this is in we can create a freestanding bot which will prevent further regressions. After that, we can start the real work of supporting C++ freestanding fairly well in libc++. <rdar://problem/47754795> Reviewers: ldionne, mclow.lists, EricWF Subscribers: christof, jkorous, dexonsmith, arphaman, miyuki, libcxx-commits Differential Revision: https://reviews.llvm.org/D57624 llvm-svn: 3530867 年前
[libc++] Remove the c++98 Lit feature from the test suite C++98 and C++03 are effectively aliases as far as Clang is concerned. As such, allowing both std=c++98 and std=c++03 as Lit parameters is just slightly confusing, but provides no value. It's similar to allowing both std=c++17 and std=c++1z, which we don't do. This was discovered because we had an internal bot that ran the test suite under both c++98 AND c++03 -- one of which is redundant. Differential Revision: https://reviews.llvm.org/D809265 年前
[libc++] [P0458] Add map::contains and set::contains for heterogenous lookup missed in a17b1aed. Commit rGa17b1aed added bool contains(const key_type& x) const; methods to associative containers, but didn't add template<class K> bool contains(const K& x) const; for heterogenous lookup. Reviewed By: #libc, Quuxplusone, ldionne Differential Revision: https://reviews.llvm.org/D1003695 年前
libcxx: Rename .hpp files in libcxx/test/support to .h 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: 3694816 年前
[libc++] Fix test synopses and remove unused includes.5 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
Add include for 'test_macros.h' to all the tests that were missing them. Thanks to Zoe for the (big, but simple) patch. NFC intended. llvm-svn: 3622526 年前
[libc++] Remove unnecessary main() function in .compile.pass.cpp and .verify.cpp tests We pretty consistently don't define those cause they are not needed, and it removes the potential pitfall to think that these tests are being run. This doesn't touch .compile.fail.cpp tests since those should be replaced by .verify.cpp tests anyway, and there would be a lot to fix up. As a fly-by, I also fixed a bit of formatting, removed a few unused includes and made some very minor, clearly NFC refactorings such as in allocator.traits/allocator.traits.members/allocate.verify.cpp where the old test basically made no sense the way it was written. Differential Revision: https://reviews.llvm.org/D1462363 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
[libc++] Fix test synopses and remove unused includes.5 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
[libc++] Qualifies size_t. This has been done using the following command find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \; And manually removed some false positives in std/depr/depr.c.headers. The std module doesn't export ::size_t, this is a preparation for that module. Reviewed By: ldionne, #libc, EricWF, philnik Differential Revision: https://reviews.llvm.org/D1460883 年前
[libc++] Qualifies size_t. This has been done using the following command find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \; And manually removed some false positives in std/depr/depr.c.headers. The std module doesn't export ::size_t, this is a preparation for that module. Reviewed By: ldionne, #libc, EricWF, philnik Differential Revision: https://reviews.llvm.org/D1460883 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
[libc++] [test] Cleanup compile-only tests (#94121) I noticed that these tests had empty main functions. Dropping them and renaming the tests to MEOW.compile.pass.cpp will slightly improve test throughput.2 年前
[libcxx][test][NFC] Extend get_allocator() testing for containers Add dedicated tests for get_allocator() method for sequence, ordered and unordered associative containers including constness coverage. Reviewed by: ldionne, Mordante, rarutyun, #libc Differential revision: https://reviews.llvm.org/D1147854 年前
Add include for 'test_macros.h' to all the tests that were missing them. Thanks to Zoe for the (big, but simple) patch. NFC intended. llvm-svn: 3622526 年前
[libc++] Remove the c++98 Lit feature from the test suite C++98 and C++03 are effectively aliases as far as Clang is concerned. As such, allowing both std=c++98 and std=c++03 as Lit parameters is just slightly confusing, but provides no value. It's similar to allowing both std=c++17 and std=c++1z, which we don't do. This was discovered because we had an internal bot that ran the test suite under both c++98 AND c++03 -- one of which is redundant. Differential Revision: https://reviews.llvm.org/D809265 年前
[libc++] [test] Qualify prev as std::prev in a lot of tests. NFCI. We shouldn't be calling prev via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of prev in particular. Reviewed as part of D119860.4 年前
[libc++] [test] Qualify distance as std::distance in a lot of tests. NFCI. We shouldn't be calling distance via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of distance in particular. Differential Revision: https://reviews.llvm.org/D1196854 年前
[libc++] [test] Qualify prev as std::prev in a lot of tests. NFCI. We shouldn't be calling prev via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of prev in particular. Reviewed as part of D119860.4 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
[libc++] Granularize <iterator> includes Reviewed By: ldionne, #libc Spies: libcxx-commits, wenlei Differential Revision: https://reviews.llvm.org/D1274453 年前
[libc++] Remove the c++98 Lit feature from the test suite C++98 and C++03 are effectively aliases as far as Clang is concerned. As such, allowing both std=c++98 and std=c++03 as Lit parameters is just slightly confusing, but provides no value. It's similar to allowing both std=c++17 and std=c++1z, which we don't do. This was discovered because we had an internal bot that ran the test suite under both c++98 AND c++03 -- one of which is redundant. Differential Revision: https://reviews.llvm.org/D809265 年前
[libc++] Qualifies size_t. This has been done using the following command find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \; And manually removed some false positives in std/depr/depr.c.headers. The std module doesn't export ::size_t, this is a preparation for that module. Reviewed By: ldionne, #libc, EricWF, philnik Differential Revision: https://reviews.llvm.org/D1460883 年前
[libc++][test] Enhance ADDITIONAL_COMPILE_FLAGS, use TEST_MEOW_DIAGNOSTIC_IGNORED sparingly (#75317) This is the last PR that's needed (for now) to get libc++'s tests working with MSVC's STL. The ADDITIONAL_COMPILE_FLAGS machinery is very useful, but also very problematic for MSVC, as it doesn't understand most of Clang's compiler options. We've been dealing with this by simply marking anything that uses ADDITIONAL_COMPILE_FLAGS as FAIL or SKIPPED, but that creates significant gaps in test coverage. Fortunately, ADDITIONAL_COMPILE_FLAGS also supports "features", which can be slightly enhanced to send Clang-compatible and MSVC-compatible options to the right compilers. This patch adds the gcc-style-warnings and cl-style-warnings Lit features, and uses that to pass the appropriate warning flags to tests. It also uses TEST_MEOW_DIAGNOSTIC_IGNORED for a few local suppressions of MSVC warnings.2 年前
[libc++] [test] Qualify prev as std::prev in a lot of tests. NFCI. We shouldn't be calling prev via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of prev in particular. Reviewed as part of D119860.4 年前
[libcxx][test] Silence signed/unsigned comparison warnings4 年前
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI. All supported compilers that support C++20 now support concepts. So, remove _LIB_LIBCPP_HAS_NO_CONCEPTS in favor of _LIBCPP_STD_VER > 17. Similarly in the tests, remove // UNSUPPORTED: libcpp-no-concepts. Differential Revision: https://reviews.llvm.org/D1215284 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前
[libc++] Qualifies size_t. This has been done using the following command find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \; And manually removed some false positives in std/depr/depr.c.headers. The std module doesn't export ::size_t, this is a preparation for that module. Reviewed By: ldionne, #libc, EricWF, philnik Differential Revision: https://reviews.llvm.org/D1460883 年前
[libc++] Remove the c++98 Lit feature from the test suite C++98 and C++03 are effectively aliases as far as Clang is concerned. As such, allowing both std=c++98 and std=c++03 as Lit parameters is just slightly confusing, but provides no value. It's similar to allowing both std=c++17 and std=c++1z, which we don't do. This was discovered because we had an internal bot that ran the test suite under both c++98 AND c++03 -- one of which is redundant. Differential Revision: https://reviews.llvm.org/D809265 年前
[libc++] Refactor allocator_mismatch.compile.fail.cpp -> .verify.cpp compile.fail.cpp tests are an anti-feature since they are too easy to break when evolving code. This patch moves various allocator_mismatch tests to .verify.cpp and normalizes the error messages from various containers. Differential Revision: https://reviews.llvm.org/D1449133 年前
Add include for 'test_macros.h' to all the tests that were missing them. Thanks to Zoe for the (big, but simple) patch. NFC intended. llvm-svn: 3622526 年前
Add include for 'test_macros.h' to all the tests that were missing them. Thanks to Zoe for the (big, but simple) patch. NFC intended. llvm-svn: 3622526 年前
[libc++] [test] Qualify next as std::next in a lot of tests. NFCI. We shouldn't be calling next via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of next in particular. Reviewed as part of D119860.4 年前