diff -ur ilmbase-2.0.0.orig/HalfTest/testBitPatterns.cpp ilmbase-2.0.0/HalfTest/testBitPatterns.cpp
--- ilmbase-2.0.0.orig/HalfTest/testBitPatterns.cpp	2012-11-09 02:40:18.000000000 +0900
+++ ilmbase-2.0.0/HalfTest/testBitPatterns.cpp	2013-06-24 20:07:15.527497827 +0900
@@ -305,9 +305,11 @@
     testBits (floatPosQNan1(),
 	      "0 11111 1111111111",			// nan
 	      "0 11111111 11111111110000000000000");	// nan
+#ifndef __mc68000__
     testBits (floatPosQNan2(),
 	      "0 11111 1010101010",			// nan
 	      "0 11111111 10101010100000000000000");	// nan
+#endif
 
     //
     // Numbers close to -1.0
@@ -473,12 +475,14 @@
     testBits (floatNegInfinity(),
 	      "1 11111 0000000000",			// +infinity
 	      "1 11111111 00000000000000000000000");	// +infinity
+#ifndef __mc68000__
     testBits (floatNegQNan1(),
 	      "1 11111 1111111111",			// nan
 	      "1 11111111 11111111110000000000000");	// nan
     testBits (floatNegQNan2(),
 	      "1 11111 1010101010",			// nan
 	      "1 11111111 10101010100000000000000");	// nan
+#endif
 
     cout << "ok\n\n" << flush;
 }
diff -ur ilmbase-2.0.0.orig/HalfTest/testClassification.cpp ilmbase-2.0.0/HalfTest/testClassification.cpp
--- ilmbase-2.0.0.orig/HalfTest/testClassification.cpp	2012-11-09 02:40:18.000000000 +0900
+++ ilmbase-2.0.0/HalfTest/testClassification.cpp	2013-06-24 20:07:15.527497827 +0900
@@ -156,8 +156,10 @@
     testClass (-0.3f,			1,   1,   0,   0,   0,   0,   1);
     testClass (-HALF_MAX,		1,   1,   0,   0,   0,   0,   1);
     testClass (floatNegInfinity(),	0,   0,   0,   0,   0,   1,   1);
+#ifndef __mc68000__
     testClass (floatNegQNan1(),		0,   0,   0,   0,   1,   0,   1);
     testClass (floatNegQNan2(),		0,   0,   0,   0,   1,   0,   1);
+#endif
 
     cout << "\n";
 
