diff --git a/src/language.yacc b/src/language.yacc
index da117744908e8cf1d888e2003592233dc63adaaa..66a63139e960b8ef368251a0e226ff91bea7497c 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -171,7 +171,7 @@
 /* This is the grammar definition of Pike. */
 
 #include "global.h"
-RCSID("$Id: language.yacc,v 1.72 1998/04/10 22:24:20 hubbe Exp $");
+RCSID("$Id: language.yacc,v 1.73 1998/04/10 23:23:08 grubba Exp $");
 #ifdef HAVE_MEMORY_H
 #include <memory.h>
 #endif
@@ -1298,7 +1298,7 @@ expr3: expr4
 
 expr4: string
   | F_NUMBER { $$=mkintnode($1); }
-  | F_FLOAT { $$=mkfloatnode($1); }
+  | F_FLOAT { $$=mkfloatnode((FLOAT_TYPE)$1); }
   | catch
   | gauge
   | typeof
diff --git a/src/lex.c b/src/lex.c
index 681ab6dad127f90609e271c81282239d1f7c7d8a..16b2784ba06676ebc974a4e465ae0ab94d6b9f1e 100644
--- a/src/lex.c
+++ b/src/lex.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: lex.c,v 1.50 1998/04/10 22:24:20 hubbe Exp $");
+RCSID("$Id: lex.c,v 1.51 1998/04/10 23:29:21 grubba Exp $");
 #include "language.h"
 #include "array.h"
 #include "lex.h"
@@ -605,7 +605,7 @@ static int yylex2(YYSTYPE *yylval)
       if(p1>p2)
       {
 	lex.pos=p1;
-	yylval->fnum=(float)f;
+	yylval->fnum=(FLOAT_TYPE)f;
 	return F_FLOAT;
       }else{
 	lex.pos=p2;