Test __fpclassify/__isinf/__isnan.

These are obsolete aliases for equally obsolete functions, but apps built
with old versions of the NDK might still be emitting references to them.

Bug: N/A
Test: ran tests
Change-Id: I6eab910e3cd4d322604167799e83b5b7411c04c3
diff --git a/tests/math_test.cpp b/tests/math_test.cpp
index 466e697..d029311 100644
--- a/tests/math_test.cpp
+++ b/tests/math_test.cpp
@@ -177,10 +177,19 @@
 }
 
 // Historical BSD cruft that isn't exposed in <math.h> any more.
+extern "C" int __fpclassify(double);
 extern "C" int __fpclassifyd(double);
 extern "C" int __fpclassifyf(float);
 extern "C" int __fpclassifyl(long double);
 
+TEST(MATH_TEST, __fpclassify) {
+  ASSERT_EQ(FP_INFINITE, __fpclassify(HUGE_VAL));
+  ASSERT_EQ(FP_NAN, __fpclassify(nan("")));
+  ASSERT_EQ(FP_NORMAL, __fpclassify(1.0));
+  ASSERT_EQ(FP_SUBNORMAL, __fpclassify(double_subnormal()));
+  ASSERT_EQ(FP_ZERO, __fpclassify(0.0));
+}
+
 TEST(MATH_TEST, __fpclassifyd) {
 #if defined(__GLIBC__)
 #define __fpclassifyd __fpclassify
@@ -254,9 +263,15 @@
 }
 
 // Historical BSD cruft that isn't exposed in <math.h> any more.
+extern "C" int __isinf(double);
 extern "C" int __isinff(float);
 extern "C" int __isinfl(long double);
 
+TEST(MATH_TEST, __isinf) {
+  ASSERT_FALSE(__isinf(123.0));
+  ASSERT_TRUE(__isinf(HUGE_VAL));
+}
+
 TEST(MATH_TEST, __isinff) {
   ASSERT_FALSE(__isinff(123.0f));
   ASSERT_TRUE(__isinff(HUGE_VALF));
@@ -274,9 +289,15 @@
 }
 
 // Historical BSD cruft that isn't exposed in <math.h> any more.
+extern "C" int __isnan(double);
 extern "C" int __isnanf(float);
 extern "C" int __isnanl(long double);
 
+TEST(MATH_TEST, __isnan) {
+  ASSERT_FALSE(__isnan(123.0));
+  ASSERT_TRUE(__isnan(nan("")));
+}
+
 TEST(MATH_TEST, __isnanf) {
   ASSERT_FALSE(__isnanf(123.0f));
   ASSERT_TRUE(__isnanf(nanf("")));