diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp index 85b641322d99e..52c4e3e0f69b6 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp @@ -11,6 +11,10 @@ // These compiler versions don't enable sized deallocation by default. // UNSUPPORTED: clang-17, clang-18 +// Android clang-r536225 identifies as clang-19.0 but it predates the real +// LLVM 19.0.0, so it also leaves sized deallocation off by default. +// UNSUPPORTED: android && clang-19.0 + // UNSUPPORTED: sanitizer-new-delete, c++03, c++11 // XFAIL: apple-clang // XFAIL: using-built-library-before-llvm-11 diff --git a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp index ae614a1432f7d..e00339761ec24 100644 --- a/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp +++ b/libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp @@ -11,6 +11,10 @@ // These compiler versions do not enable sized deallocation by default. // UNSUPPORTED: clang-17, clang-18 +// Android clang-r536225 identifies as clang-19.0 but it predates the real +// LLVM 19.0.0, so it also leaves sized deallocation off by default. +// UNSUPPORTED: android && clang-19.0 + // UNSUPPORTED: sanitizer-new-delete, c++03, c++11 // XFAIL: apple-clang // XFAIL: using-built-library-before-llvm-11 diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp index 26a469a30515a..f48c2ccb59151 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp @@ -73,7 +73,15 @@ typedef void (*FunctionPtr)(); int main(int, char**) { test_is_array(); + // Android clang-r536225 identifies as clang-19.0, but it predates the + // LLVM 19.0.0 release. It lacks llvm.org/pr86652, which changed __is_array + // to return false for T[0]. llvm.org/pr93037 relies on that change for + // correct handling of std::is_array. This test will pass as long as + // Clang and libc++ come from the same LLVM commit, but we can't detect that + // here. +#if !defined(__ANDROID__) || TEST_CLANG_VER != 1900 test_is_not_array(); +#endif test_is_array(); test_is_array();