Prudently revert the type of "Cconst_symbol" to typ_val instead of typ_int.

There seems to be issues with let-bound variables initialized with symbol
addresses and later updated.


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15572 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Xavier Leroy 2014-11-07 18:11:51 +00:00
parent 0a1a5b0e28
commit ec1ba73399
1 changed files with 1 additions and 1 deletions

View File

@ -451,7 +451,7 @@ method emit_expr env exp =
let r = self#regs_for typ_float in
Some(self#insert_op (Iconst_float n) [||] r)
| Cconst_symbol n ->
let r = self#regs_for typ_int in (* pointer outside heap *)
let r = self#regs_for typ_val in
Some(self#insert_op (Iconst_symbol n) [||] r)
| Cconst_pointer n ->
let r = self#regs_for typ_val in (* integer as Caml value *)