Sto adattando un codice Fortran che non ho scritto e senza molta esperienza fortran. Ho appena trovato una situazione in cui alcuni input malformati sono stati ignorati in silenzio, e vorrei cambiare quel codice per fare qualcosa di più appropriato. Se questo fosse C, poi mi piacerebbe fare qualcosa di simileArresto del programma fortran con stato di uscita diverso da zero
fprintf(stderr, "There was an error of kind foo");
exit(EXIT_FAILURE);
Ma in FORTRAN, il meglio che so fare sembra
write(*,*) 'There was an error of kind foo'
stop
che manca la scelta del flusso di uscita (problema minore) e lo stato di uscita (problema principale).
Come posso terminare un programma Fortran con uno stato di uscita diverso da zero?
Nel caso in cui questo dipenda dal compilatore, una soluzione che funzioni con gfortran sarebbe piacevole.
Secondo lo standard, "Al momento della terminazione , il codice di arresto, se presente, è disponibile in modo dipendente dal processore." – astrojuanlu