Browse thread
[Caml-list] Different behaviour in native and bytecode compilations (Compiler Bug?)
- nickgrey@s...
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | nickgrey@s... |
| Subject: | [Caml-list] Different behaviour in native and bytecode compilations (Compiler Bug?) |
Hi Camlers.
I have a program which uses the ncurses library. It runs as expected when
compiled natively, and when bytecode compiled in custom runtime mode. But
when compiled with ncurses bindings as a shared library, it produces
different, seemingly incorrect output.
I've created a minimal example of this behaviour. The code is too still too
big to attach, as it obviously includes bindings for ncurses. but I've
archived it here (60KiB):
http://draco.dyndns.org/~nick/bug.tar.gz
Running make will build 3 executables.
bug_native and bug_bytecode1 produce the output I expect (2 vertical rows of
Xs), something like this:
X
X
X
X
X
X
but with bug_bytecode2, which is exactly the same code, but linked
differently, the second row of Xs are horizontal, rather than vertical:
X
X
X
XXX
Any suggestions as to why this might happen? I'm not an expert in O'Caml
and especially not in using C bindings, so I could be doing something wrong,
but the fact that it only happens with certain linking options makes me
suspect it is a compiler bug. Or could it be something wrong with the C
bindings for ncurses? (I didn't write them myself.)
I've checked in the ocamlopt documentation, and I'm not using any of the
constructs which behave differently under native compilation, but I don't
think that's relevant anyway.
I'm using O'Caml 3.07+2 and ncurses 5.4.
Thanks in advance,
Nick
PS. Thanks to all those who replied to my previous query on polymorphic
variants.
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners