Switch to gdtoa.

This gives us a real strtold for LP64 and fixes various LP64
bugs.

Bug: 13563801
Change-Id: I277858d718ee746e136b6b6308a495ba50dfa488
diff --git a/tests/stdio_test.cpp b/tests/stdio_test.cpp
index 0aa1d15..f991a5b 100644
--- a/tests/stdio_test.cpp
+++ b/tests/stdio_test.cpp
@@ -306,19 +306,19 @@
 TEST(stdio, snprintf_f_special) {
   char buf[BUFSIZ];
   snprintf(buf, sizeof(buf), "%f", nanf(""));
-  EXPECT_STREQ("NaN", buf);
+  EXPECT_STRCASEEQ("NaN", buf);
 
   snprintf(buf, sizeof(buf), "%f", HUGE_VALF);
-  EXPECT_STREQ("Inf", buf);
+  EXPECT_STRCASEEQ("Inf", buf);
 }
 
 TEST(stdio, snprintf_g_special) {
   char buf[BUFSIZ];
   snprintf(buf, sizeof(buf), "%g", nan(""));
-  EXPECT_STREQ("NaN", buf);
+  EXPECT_STRCASEEQ("NaN", buf);
 
   snprintf(buf, sizeof(buf), "%g", HUGE_VAL);
-  EXPECT_STREQ("Inf", buf);
+  EXPECT_STRCASEEQ("Inf", buf);
 }
 
 TEST(stdio, snprintf_d_INT_MAX) {
@@ -365,6 +365,16 @@
   EXPECT_STREQ("-9223372036854775808", buf);
 }
 
+TEST(stdio, snprintf_e) {
+  char buf[BUFSIZ];
+
+  snprintf(buf, sizeof(buf), "%e", 1.5);
+  EXPECT_STREQ("1.500000e+00", buf);
+
+  snprintf(buf, sizeof(buf), "%Le", 1.5l);
+  EXPECT_STREQ("1.500000e+00", buf);
+}
+
 TEST(stdio, popen) {
   FILE* fp = popen("cat /proc/version", "r");
   ASSERT_TRUE(fp != NULL);