Bug 18067

Summary: Неправильная компиляция FORTRAN-программы с -malign-double
Product: Sisyphus Reporter: serpiph <serpiph>
Component: gcc4.3-fortranAssignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: major    
Priority: P2 CC: glebfm
Version: unstable   
Hardware: all   
OS: Linux   

Description serpiph 2008-12-02 11:51:57 MSK
Тестовая программа:

program test
integer(4) m(20),i
character(12) a,b
open(2,access='direct',recl=100,file='test.bin')
write(2,rec=1)(m(i),i=1,20),a,b
close(2)
end

Если эту программу собрать gfortran4.3 с ключом -malign-double (gfortran -o test -malign-double test.for) и запустить, то файл test.bin создаётся размером 400Гбайт (4Гбайт*100). Если без этого ключа, то размером 100байт. В результате файлы прямого доступа разрастаются просто до неприличных размеров.
(Мой набор параметров: -O2 -pedantic -Wunderflow -Wall -fno-automatic -lpthread -funroll-all-loops -lncurses -ffast-math -march=prescott -malign-double, но убирая только последний параметр, я получаю нормальный файл.)
Comment 1 Dmitry V. Levin 2018-07-13 04:28:35 MSK
На gcc7-fortran не воспроизводится, gcc4.3-fortran никто исправлять не будет.