にゃははー

はへらー

LLVMとJavaVMの相性

最高です。もう発狂するレベル。
仕事でC++のコードをJavaで動かしたいとかってことやらされてて、「C++からLLVMを経由してJavaVMにしてね☆」ってとこのLLVM->JavaVMをやってるんだけど、以下のコード

struct hoge1
{ int fuga; };
struct hoge2
{ int fuga; };

が、llvm-gccでちゃんと生成されるかの様に見えるんだけど、hoge2のインスタンスを作ろうとすると、hoge1とhoge2のメンバ配置が同じなので、hoge1で作ってctor呼び出しをhoge2のを使うとか。で、出てきたコードをJavaVMにしようとするからctorの型が一致しないって怒られる。

JavaVMは型付けが強いおかげでキャストが出来ないのでLLVMの段階で型の情報が落ちてると死ぬ。
やっぱ言語間変換は可逆な言語使わんと悲しくなるな...

でも仕事だから...