2017-10-30 3 views
0

Ich arbeite an der Portierung des Flang (LLVM) Fortran-Compilers auf Windows. Ein Problem, das ich in das lief ich brauche Hilfe bei der folgenden:LLVM: Schwerwiegender Fehler: Fehler im Backend: Ausrichtung ist auf 32 Bytes beschränkt

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

Dies geschieht, wenn einige Fortran-Dateien kompiliert und ist von hier:

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

Was bedeutet das und wird es sein, schwer zu lösen?

Fortran Quelle

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

Update: das folgende LLVM generiert:

@d9mach_ = common global %structd9mach_ zeroinitializer, align 64 

Was die Implikation ist das?

+0

Dies ist sehr wahrscheinlich.vollständig außerhalb meiner Expertise, aber welche Fortran-Dateien? Welcher Flang ist es? Die PGI? Es gab zwei Projekte mit diesem Namen. –

+0

Es gibt nur ein aktives Projekt von PGI. Ich kann dir die Fortran-Dateien geben, aber nicht sicher, wie das helfen wird. – xaav

+0

Dies ist ein sehr schwieriges Problem, daher die Frage. – xaav

Antwort

0

In der LLVM-IR kann das Argument "align" nicht mehr als 32 Byte in Windows sein. Wenn es größer ist, musst du es auf 32 reduzieren (finde einfach, wo das geschrieben ist und modifiziere es).

Verwandte Themen