diff --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp --- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp @@ -28,8 +28,6 @@ // https://developercommunity.visualstudio.com/t/Printf-formatting-of-float-as-hex-prints/1660844 // XFAIL: msvc -// XFAIL: LIBCXX-AIX-FIXME - #include #include #include @@ -17892,7 +17890,11 @@ test4(); test5(); test6(); +#ifndef _AIX + // AIX libc will output -0x0.0p+0 for hexfloat -0., regardless of showpoint. + // This invalidates all the asserts in test7. test7(); +#endif test8(); return 0; diff --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp --- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp @@ -28,8 +28,6 @@ // https://developercommunity.visualstudio.com/t/Printf-formatting-of-float-as-hex-prints/1660844 // XFAIL: msvc -// XFAIL: LIBCXX-AIX-FIXME - #include #include #include @@ -26219,14 +26217,22 @@ test1(); test2(); test3(); +#ifndef _AIX + // AIX will print INF for inf and NaNQ for nan regardless of uppercase. + // This invalidates all asserts in test4 anf test5. test4(); test5(); +#endif test6(); test7(); test8(); test9(); test10(); +#ifndef _AIX + // AIX will print -0x0.0p for -0. regardless of showpoint. + // This invalidates all asserts in test11. test11(); +#endif test12(); std::locale lc = std::locale::classic(); std::locale lg(lc, new my_numpunct);