Bonjour à tous,
l'un de mes étudiants a rencontré un plantage bizarre, avec gfortran (celui livré avec Code::Blocks) sous windows.

Le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program hello
    implicit none
integer,parameter::nL=2,nC=1
REAL(8)::tab(nL,nC),ChercheMin
 
tab(1,1)=1.d0
tab(2,1)=2.d0
write(*,*)"min=",ChercheMin(nL,nC,tab)
 
end program
 
function ChercheMin(nl,nc,tab)
implicit none
integer::nl,nc
REAL(8)::tab(nl,nc),ChercheMin
 
! SI on décommente la ligne suivante, ça buggue...
!write(*,*) "Coucou"
 
ChercheMin=tab(1,1)+tab(2,1)
end function
fonctionne parfaitement. Sauf si on décommente le WRITE dans la fonction.

Or, il ne me semble pas qu'il soit interdit de mettre des E/S dans les fonctions... L'étudiant a eu la bonne idée d'essayer un compilo en ligne, qui, lui, fonctionne...

D'après vous, serait-ce un bug de gfortran, ou un respect strict d'une partie de la norme que j'avoue ignorer?

Vos avis éclairés sont les bienvenus