|  | @@ -46,6 +46,7 @@
 | 
	
		
			
				|  |  |  #include <google/protobuf/io/tokenizer.h>
 | 
	
		
			
				|  |  |  #include <google/protobuf/io/zero_copy_stream_impl.h>
 | 
	
		
			
				|  |  |  #include <google/protobuf/stubs/strutil.h>
 | 
	
		
			
				|  |  | +#include <google/protobuf/stubs/mathlimits.h>
 | 
	
		
			
				|  |  |  #include <google/protobuf/stubs/substitute.h>
 | 
	
		
			
				|  |  |  #include <google/protobuf/testing/googletest.h>
 | 
	
		
			
				|  |  |  #include <gtest/gtest.h>
 | 
	
	
		
			
				|  | @@ -57,11 +58,6 @@ namespace protobuf {
 | 
	
		
			
				|  |  |  // Can't use an anonymous namespace here due to brokenness of Tru64 compiler.
 | 
	
		
			
				|  |  |  namespace text_format_unittest {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -inline bool IsNaN(double value) {
 | 
	
		
			
				|  |  | -  // NaN is never equal to anything, even itself.
 | 
	
		
			
				|  |  | -  return value != value;
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  // A basic string with different escapable characters for testing.
 | 
	
		
			
				|  |  |  const string kEscapeTestString =
 | 
	
		
			
				|  |  |    "\"A string with ' characters \n and \r newlines and \t tabs and \001 "
 | 
	
	
		
			
				|  | @@ -898,8 +894,8 @@ TEST_F(TextFormatTest, ParseExotic) {
 | 
	
		
			
				|  |  |    EXPECT_EQ(message.repeated_double(8), numeric_limits<double>::infinity());
 | 
	
		
			
				|  |  |    EXPECT_EQ(message.repeated_double(9), -numeric_limits<double>::infinity());
 | 
	
		
			
				|  |  |    EXPECT_EQ(message.repeated_double(10), -numeric_limits<double>::infinity());
 | 
	
		
			
				|  |  | -  EXPECT_TRUE(IsNaN(message.repeated_double(11)));
 | 
	
		
			
				|  |  | -  EXPECT_TRUE(IsNaN(message.repeated_double(12)));
 | 
	
		
			
				|  |  | +  EXPECT_TRUE(MathLimits<double>::IsNaN(message.repeated_double(11)));
 | 
	
		
			
				|  |  | +  EXPECT_TRUE(MathLimits<double>::IsNaN(message.repeated_double(12)));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    // Note:  Since these string literals have \0's in them, we must explicitly
 | 
	
		
			
				|  |  |    //   pass their sizes to string's constructor.
 |