2017-10-30 1 views
0

私はflang(LLVM)FortranコンパイラをWindowsに移植しています。私は助けを必要と私はそれに走った一つの問題は、以下の通りです:LLVM:致命的なエラー:バックエンドでのエラー:アライメントが32バイトに制限されています

fatal error: error in backend: alignment is limited to 32-bytes

これは、いくつかのFortranファイルをコンパイルするときに起こり、ここからです:

https://github.com/llvm-mirror/llvm/blob/806f68bbab5118c0252fdeaf1d84fc17ba9dae5c/lib/MC/MCWinCOFFStreamer.cpp#L230

何をこれは意味し、それはなりますそれを解決することは困難ですか?

Fortranソース

DOUBLE PRECISION FUNCTION D1MACH(I) 
    COMMON /D9MACH/ CRAY1 
    RETURN 
    END 

アップデート:以下LLVMが生成されます。

@d9mach_ = common global %structd9mach_ zeroinitializer, align 64 

これの意味は何ですか?

+0

これは私の専門知識の外にある可能性が非常に高いですが、Fortranファイルはどれですか?それはどのフランジャーですか? PGIのもの?この名前のプロジェクトが2件ありました。 –

+0

PGIによるflangアクティブプロジェクトは1つだけです。私はあなたにFortranファイルを与えることができますが、それがどのように役立つかはわかりません。 – xaav

+0

これは非常に困難な問題、したがって問題です。 – xaav

答えて

0

LLVM IRでは、 "align"引数はウィンドウ上で32バイトを超えることはできません。それよりも大きい場合は、32に減らす必要があります(書かれた場所を見つけて変更するだけです)。

関連する問題