[libc-commits] [PATCH] D152471: [libc] disable printf Lf tests for float128 plats

Michael Jones via Phabricator via libc-commits libc-commits at lists.llvm.org
Thu Jun 8 14:35:58 PDT 2023


This revision was not accepted when it landed; it landed in state "Needs Review".
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG5df182f121ce: [libc] disable printf Lf tests for float128 plats (authored by michaelrj).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152471/new/

https://reviews.llvm.org/D152471

Files:
  libc/test/src/stdio/sprintf_test.cpp


Index: libc/test/src/stdio/sprintf_test.cpp
===================================================================
--- libc/test/src/stdio/sprintf_test.cpp
+++ libc/test/src/stdio/sprintf_test.cpp
@@ -928,12 +928,16 @@
 
   // Length Modifier Tests.
 
-  // TODO: Fix long doubles (needs bigger table or alternate algorithm.)
-  // Currently the table values are generated, which is very slow.
+  // TODO(michaelrj): Add tests for LONG_DOUBLE_IS_DOUBLE and 128 bit long
+  // double systems.
+  // TODO(michaelrj): Fix the tests to only depend on the digits the long double
+  // is accurate for.
 
   written = __llvm_libc::sprintf(buff, "%Lf", 1.0L);
   ASSERT_STREQ_LEN(written, buff, "1.000000");
 
+#if defined(SPECIAL_X86_LONG_DOUBLE)
+
   written = __llvm_libc::sprintf(buff, "%Lf", 1e100L);
   ASSERT_STREQ_LEN(written, buff,
                    "99999999999999999996693535322073426194986990198284960792713"
@@ -941,8 +945,6 @@
 
   char big_buff[10000];
 
-  // written = __llvm_libc::sprintf(big_buff, "%Lf", 0x1p16383L);
-
   written = __llvm_libc::sprintf(big_buff, "%Lf", 1e1000L);
   ASSERT_STREQ_LEN(
       written, big_buff,
@@ -1035,10 +1037,8 @@
       "231934194956788626761834746430104077432547436359522462253411168467463134"
       "24896.000000");
 
-
   written = __llvm_libc::sprintf(big_buff, "%.10Lf", 1e-10L);
-  ASSERT_STREQ_LEN(
-      written, big_buff, "0.0000000001");
+  ASSERT_STREQ_LEN(written, big_buff, "0.0000000001");
 
   written = __llvm_libc::sprintf(big_buff, "%.7500Lf", 1e-4900L);
   ASSERT_STREQ_LEN(
@@ -1149,6 +1149,7 @@
       "570449525088342437216896462077260223998756027453411520977536701491759878"
       "422771447006016890777855573925295187921971811871399320142563330377888532"
       "179817332113");
+#endif // SPECIAL_X86_LONG_DOUBLE
 
   /*
     written = __llvm_libc::sprintf(buff, "%La", 0.1L);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D152471.529731.patch
Type: text/x-patch
Size: 1854 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20230608/bb05e36c/attachment-0001.bin>


More information about the libc-commits mailing list