fix bug: remove REAL from candidate datatypes when real constant has overflowed.
--- a/stage3/fill_candidate_datatypes.cc Wed Jul 18 23:44:42 2012 +0100
+++ b/stage3/fill_candidate_datatypes.cc Thu Jul 19 11:05:41 2012 +0100
@@ -148,6 +148,7 @@
{/* Remove floating point data types */
real64_t value = 0;
if (VALID_CVALUE( real64, symbol)) value = GET_CVALUE(real64, symbol);
+ if (IS_OVERFLOW ( real64, symbol)) value = (real64_t)REAL32_MAX + (real64_t)1;
if (value > REAL32_MAX ) {__REMOVE__( real_type_name);}
if (value < -REAL32_MAX ) {__REMOVE__( real_type_name);}
if (IS_OVERFLOW( real64, symbol)) {__REMOVE__(lreal_type_name);}