2016-03-27 31 views
1

BenDerleme hatası: `önemli hata: gfc_todo:`

 gfortran -O2 calpuff.for -o calpuff.exe 

Aşağıdaki kod ile benim kod derleme:

calpuff.for: In function ‘r1mach’: 
    calpuff.for:58522: fatal error: gfc_todo: Not Implemented: Initialization of overlapping variables 
    compilation terminated. 
:

 REAL FUNCTION R1MACH (I) 
C***BEGIN PROLOGUE R1MACH 
C ... 
     real SMALL(2) 
     real LARGE(2) 
     real RIGHT(2) 
     real DIVER(2) 
     real LOG10(2) 
c --- Set up for IBM PC: declare as reals ..........(DGS) 
C 
     REAL RMACH(5) 
     SAVE RMACH 
C 
     EQUIVALENCE (RMACH(1),SMALL(1)) 
     EQUIVALENCE (RMACH(2),LARGE(1)) 
     EQUIVALENCE (RMACH(3),RIGHT(1)) 
     EQUIVALENCE (RMACH(4),DIVER(1)) 
     EQUIVALENCE (RMACH(5),LOG10(1)) 
C ... 
     DATA SMALL(1)/1.18E-38 /
     DATA LARGE(1)/3.40E+38 /
     DATA RIGHT(1)/0.595E-07 /
     DATA DIVER(1)/1.19E-07 /
     DATA LOG10(1)/0.30102999566/
C ... 
C***FIRST EXECUTABLE STATEMENT R1MACH 
     IF (I .LT. 1 .OR. I .GT. 5) CALL XERMSG ('SLATEC', 'R1MACH', 
    + 'I OUT OF BOUNDS', 1, 2) 
C 
     R1MACH = RMACH(I) 
     RETURN 
C 
     END 

Sonucu şu hatayla gösterir

Satır 58522, gösterilen kodun ilk satırına karşılık gelir.

Bu hata neden oluyor?

benim derleyicisi hakkında bazı bilgiler: gcc sürüm 4.1.2 20080704 (Red Hat 4.1.2-54)

+4

Lütfen kod gömün, bağlantılar ölmek ve gelecekteki kullanıcılar için sorunun yararlılığını azaltmak ve erişilebilir değil. – Tim

+0

Profesyonel olmayanlar için özür dilerim. Hatayı düzelteceğim. –

+0

Hey, endişelenme, ben sadece bir yorumcu olduğum için :) – Tim

cevap

3

Bu, here ve heregfortran bilinen bir derleyici hata mi göreceğiz. Bu hata 2007 yılında düzeltti.

Lütfen gfortran'un daha yeni bir versiyonunu kullanın.

+0

Cevabınız için teşekkürler. Yani, benim gfortran derleyicimi güncelleyerek, demek istediniz Sorun soyulmuş olabilir mi? Deneyeceğim. –

+0

Evet, bunu çözmeliyiz. 4.1.2 sürümü ** gerçekten ** yaşlı. Makinemde (gfortran 5.3) kod iyi derleniyor. –

+0

Tamam! Üzerinde çalışıyorum! Tek bir soru. Küme WRF (Weather Research Forcast) modelini kurdum (bunun için gcc 4.2.1'i kurdum). Gcc'yi güncellediğimde, uyumsuz bir problem var mı? –