Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28632 Discussions

Problems with backslah editing in Compaq Fortran (+)

prog
Beginner
450 Views
In Compaq Fortran 6.5 after using backslah aditing record can not be seen on screen unitl carrige goes to other record. [write(*,'(I3,)') 10] can be seen only after write(*,*), print *,'' or after program termination. But i need information to be displayed immediately. Can anyone help me to solve this problem?
0 Kudos
5 Replies
emc-nyc
Beginner
450 Views
Remove the backslash.
I suspect what is happening is that since Fortran is record oriented, the I/O system is waiting for the record to be completed.
0 Kudos
gregscvf
Beginner
450 Views

Works for me using 6.6C, and could swear Idid this in 6.5.

You have to be careful thatthe first character is blank for console output, but your example aspostedseems to be okay.

You may want to upgrade to 6.6 at:

http://h18009.www1.hp.com/fortran/visual/v66upg.html

Greg
0 Kudos
prog
Beginner
450 Views
emc-nyc
Unfortunately, I can't remove the backslash. I implemented progress-bar and i have to see progress while program is running. In MS Fortran Powerstation everything was allright.

gregscvf
I will try to compile my program using new version of the compiler...
0 Kudos
sabalan
New Contributor I
450 Views

Go to Project / Settings / Fortran / Compatibility and check for "Other Run-time Behaviour" (or was it "PowerStation compatibility" in previous versions?) and it will fix it.

Sabalan.

0 Kudos
prog
Beginner
450 Views
Sabalan
Thank you. It was option Project/Settings/Fortran/Compatability/PowerStation 4.0: I/O Format.
But there is one more problem steel. It works fine under Developer Studio. But since MS 4.0 i've compiled project using nmake.exe. And now when i put option -fpscomp:ioformat there is no effect. Do you know how to use this option under nmake.exe, fl32.exe?
Example of nmake
FFLAGS=-fpscomp:ioformat
FC=fl32
NAME=test
OBJS= slider.obj test.obj
LIBS=
NAME_EXE=$(NAME).exe
$(NAME_EXE): $(OBJS)
@link -STACK:2000000 -out:$(NAME_EXE) $(OBJS) $(LIBS)
clean:; @for %i in ($(OBJS)) do @del %i
.for.obj:
$(FC) -c $(FFLAGS) $<
0 Kudos
Reply