2017-10-30 10 views
0

나는 flang (LLVM) Fortran 컴파일러를 Windows로 이식하려고합니다. 내가 도움이 필요가 우연히 한 문제는 다음LLVM : 치명적인 오류 : 백엔드 오류 : 정렬은 32 바이트로 제한됩니다.

이 일부 FORTRAN 파일을 컴파일 할 때 발생하고 여기에서이다

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

이 평균을 수행하고이 될 것입니다 무엇

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

그것을 해결하기가 어렵습니까?

포트란 소스

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

업데이트는 다음 LLVM가 생성됩니다

@d9mach_ = common global %structd9mach_ zeroinitializer, align 64 

이것의 의미는 무엇입니까?

+0

이것은 매우 전문적으로는 아니지만 Fortran 파일입니까? 그것은 어느 것이냐? PGI 것들? 이 이름을 가진 두 개의 프로젝트가있었습니다. –

+0

PGI는 하나의 플랜 활성 프로젝트 만 있습니다. Fortran 파일을 제공 할 수는 있지만 어떻게 도움이 될지 확신 할 수 없습니다. – xaav

+0

이것은 매우 어려운 문제이므로 질문입니다. – xaav

답변

0

LLVM IR에서 "align"인수는 창에서 32 바이트를 초과 할 수 없습니다. 크기가 더 크면 32로 줄이십시오 (작성된 곳을 찾아 수정하십시오).