| Anonymous | Login | Signup for a new account | 2013-05-22 02:35 CEST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | |||||||
| 0005391 | OCaml | OCaml general | public | 2011-10-28 18:49 | 2011-11-21 13:23 | |||||||
| Reporter | ripoche | |||||||||||
| Assigned To | xleroy | |||||||||||
| Priority | normal | Severity | major | Reproducibility | always | |||||||
| Status | resolved | Resolution | duplicate | |||||||||
| Platform | OS | OS Version | ||||||||||
| Product Version | 3.11.2 | |||||||||||
| Target Version | Fixed in Version | 3.12.1 | ||||||||||
| Summary | 0005391: Erroneous assembly when using recursive modules on Windows/MSVC | |||||||||||
| Description | OCaml 3.11.2 on Windows (MSVC7.1 and MSVC8) The following snippet generates illegal assembly. module rec A : sig type t = B.t end = struct type t = B.t end and B : sig type t = int end = struct type t = int end | |||||||||||
| Additional Information | D:\>ocamlopt -verbose -c rec_modules.ml + ml /nologo /coff /Cp /c /Fo"rec_modules.obj" "d:\work\tmp\camlasm809b80.asm" Assembling: d:\work\tmp\camlasm809b80.asm d:\work\tmp\camlasm809b80.asm(32) : error A2008: syntax error : L100014 d:\work\tmp\camlasm809b80.asm(40) : error A2008: syntax error : L100013 d:\work\tmp\camlasm809b80.asm(58) : error A2008: syntax error : L100011 d:\work\tmp\camlasm809b80.asm(73) : error A2008: syntax error : L100009 d:\work\tmp\camlasm809b80.asm(76) : error A2108: use of register assumed to ERROR d:\work\tmp\camlasm809b80.asm(78) : error A2108: use of register assumed to ERROR d:\work\tmp\camlasm809b80.asm(83) : error A2108: use of register assumed to ERROR d:\work\tmp\camlasm809b80.asm(89) : error A2108: use of register assumed to ERROR d:\work\tmp\camlasm809b80.asm(95) : error A2108: use of register assumed to ERROR d:\work\tmp\camlasm809b80.asm(100) : error A2108: use of register assumed to ERROR d:\work\tmp\camlasm809b80.asm(82) : error A2107: cannot have implicit far jump or call to near label d:\work\tmp\camlasm809b80.asm(88) : error A2107: cannot have implicit far jump or call to near label d:\work\tmp\camlasm809b80.asm(94) : error A2107: cannot have implicit far jump or call to near label d:\work\tmp\camlasm809b80.asm(99) : error A2107: cannot have implicit far jump or call to near label d:\work\tmp\camlasm809b80.asm(30) : error A2006: undefined symbol : L100014 d:\work\tmp\camlasm809b80.asm(38) : error A2006: undefined symbol : L100013 d:\work\tmp\camlasm809b80.asm(56) : error A2006: undefined symbol : L100011 d:\work\tmp\camlasm809b80.asm(71) : error A2006: undefined symbol : L100009 File "rec_modules.ml", line 1, characters 0-1: Error: Assembler error, input left in file d:\work\tmp\camlasm809b80.asm | |||||||||||
| Tags | No tags attached. | |||||||||||
| Attached Files | ||||||||||||
Notes |
|
|
(0006197) ripoche (reporter) 2011-11-02 12:11 |
The same snippet compiles fine with OCaml 3.12.1 Win32/MSVC8. |
|
(0006205) xleroy (administrator) 2011-11-21 13:23 |
Thanks for the update. Apparently this was the same problem as in PR#4778, and the same fix applies. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2011-10-28 18:49 | ripoche | New Issue | |
| 2011-10-28 18:49 | ripoche | File Added: rec_modules.ml | |
| 2011-11-02 10:30 | ripoche | File Added: camlasm809b80.asm | |
| 2011-11-02 12:11 | ripoche | Note Added: 0006197 | |
| 2011-11-21 13:21 | xleroy | Relationship added | related to 0004778 |
| 2011-11-21 13:23 | xleroy | Note Added: 0006205 | |
| 2011-11-21 13:23 | xleroy | Assigned To | => xleroy |
| 2011-11-21 13:23 | xleroy | Status | new => resolved |
| 2011-11-21 13:23 | xleroy | Resolution | open => duplicate |
| 2011-11-21 13:23 | xleroy | Fixed in Version | => 3.12.1 |
| Copyright © 2000 - 2011 MantisBT Group |