2017-10-19 8 views
2

J'ai un programme Fortran très simple dans un fichier test.f90:gdb en cas d'erreur de syntaxe condition

program test 
    real :: x 
    x=12 
    write(*,*) x 
end program test 

je compile avec

gfortran -g test.f90 

J'essai avec gdb:

gdb a.out 
break 4 if a == 12 

mais j'obtiens

A syntax error in expression, near `= 12'. 

J'ai trouvé plusieurs documents et forums disant que cela devrait fonctionner, mais ce n'est pas le cas ... Quelle est la syntaxe correcte pour cette simple condition? J'utilise gdb 7.6.1.

Répondre

2

La documentation pour gdb les éléments suivants sont to say about Fortran support:

GDB peut être utilisé pour des programmes de débogage en Fortran, mais il ne supporte actuellement que les caractéristiques du langage Fortran 77.

Comme la x == 12 conditionnelle logique est pédigrée Fortran 90, vous pouvez écrire à la place

break 4 if x.eq.12 
+0

et qu'il fonctionne aussi bien. –

+0

Cela fonctionne parfaitement. Merci ! – Bastien