Ver código fonte

[hlc] Fix warning truncation double to float (#12046)

Yuxiao Mao 7 meses atrás
pai
commit
eb8f9d0d19
1 arquivos alterados com 5 adições e 1 exclusões
  1. 5 1
      src/generators/hl2c.ml

+ 5 - 1
src/generators/hl2c.ml

@@ -811,7 +811,11 @@ let generate_function ctx f =
 				sexpr "%s = %ld" (reg r) code.ints.(idx)
 		| OFloat (r,idx) ->
 			let fstr = sprintf "%.19g" code.floats.(idx) in
-			sexpr "%s = %s" (reg r) (if String.contains fstr '.' || String.contains fstr 'e' then fstr else fstr ^ ".")
+			let fstr = (if String.contains fstr '.' || String.contains fstr 'e' then fstr else fstr ^ ".") in
+			(match rtype r with
+			| HF32 -> sexpr "%s = %sf" (reg r) fstr
+			| _ -> sexpr "%s = %s" (reg r) fstr
+			);
 		| OBool (r,b) ->
 			sexpr "%s = %s" (reg r) (if b then "true" else "false")
 		| OBytes (r,idx) ->