diff --git a/libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp b/libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp --- a/libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp +++ b/libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp @@ -6,12 +6,12 @@ // //===----------------------------------------------------------------------===// -// UNSUPPORTED: - // // This test ensures that the correct max_size() is returned depending on the platform. +// REQUIRES: libcpp-abi-version=1 + #include #include #include @@ -67,49 +67,18 @@ } bool test() { -#if _LIBCPP_ABI_VERSION == 1 -#ifdef __APPLE__ - -# ifdef __aarch64__ - half_size(); -# elif defined(__x86_64__) +#if defined(__x86_64__) full_size(); -# else -# error "Your target system seems to be unsupported." -# endif - -#elif defined(__linux__) - -# ifdef __x86_64__ - full_size(); -# elif defined(__arm__) || defined(__aarch64__) -# ifdef __BIG_ENDIAN__ +#elif defined(__APPLE__) && defined(__aarch64__) half_size(); -# else - full_size(); -# endif - -# else -# error "Your target system seems to be unsupported." -# endif - -#elif defined(__powerpc__) - half_size(); -#elif defined(__powepc64__) +#elif defined(__arm__) || defined(__aarch64__) +# ifdef __BIG_ENDIAN__ half_size(); - -#elif defined(_WIN64) - -# ifdef __x86_64__ +# else full_size(); -# else -# error "Your target system seems to be unsupported." -# endif - -#else -# error "Your target system seems to be unsupported." -#endif - +# endif +#elif defined(__powerpc__) || defined(__powerpc64__) + half_size(); #endif return true;