Bonjour à tous,

Je reviens vers vous car j'ai de nouveau un problème avec une structure (pourtant très simple) écrite en Fortran mais qui donne une erreur sur un ordinateur et pas sur un autre...

Voici le bout de code qui pose problème :

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
22
23
 
 
MODULE test
IMPLICIT NONE
 
  TYPE toto
    REAL, ALLOCATABLE, DIMENSION(:,:) :: array
  END TYPE toto
 
CONTAINS
 
FUNCTION print_test(arg_1, arg_2)
IMPLICIT NONE
TYPE(toto) :: print_test
INTEGER, INTENT(IN) :: arg_1, arg_2
 
ALLOCATE(print_test%array(arg_1, arg_2))
 
PRINT*, 'ARRAY(1,1) = ', print_test%array(1,1)
 
END FUNCTION print_test
 
END MODULE test
Je n'ai mis ici que les lignes qui posent problème...Ce code compile très bien puis s'exécute très bien sur un ordinateur ubuntu muni de gfortran (version 4.6.1).

Cependant, j'obtiens une erreur de compilation sur un autre ordinateur muni de gfortran (version 4.1.2). Voici l'erreur obtenue :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
......
 
In file type.f90:6
 
REAL, ALLOCATABLE, DIMENSION(:,:) :: array
 
Error: Attribute at (1) is not allowed in a type in a TYPE definition
 In file type.f90:7
 
END TYPE toto 
 
.....
J'ignore ce qui cloche dans mon code ! d'autant plus qu'il fonctionne très bien ailleurs !!!

Pourquoi ne marche t-il pas sous fortran 4.1.2 ? pourquoi cette erreur ?

Je vous remercie pour votre aide

Antoine