This is not an answer, Paul. This implies that compiler is fine and the program is wrong. But if program is wrong and it is wrong 100 times per day when you develop the code then it is the debugger which must tell me where the error is or at least give a hint. I'd like to but probably will never afford to hire you guys to substitute SDBG 😃. How I have to proceed to find the error of immediately crashing code with 'Access violation writing address 0x00007ff...........'? Just inspecting by hand each of a quarter of million lines of code will take me the same quarter of million years. The debugger crashes at the start of debugging. How come such error can crash both the EXE and the debugger? The 32bit code works by the way fine hence we can not use 32bit debugger to find this bug --> we are screwed.
I see few nice new features, i'd like to use it, the LINEAR scale %pl for example already approaching ideal beating for XY plots in quality MATLAB being equally simple,
https://www.mathworks.com/products/matlab/plot-gallery.html
the LOG one is almost done and just needs final fixes (still plots outside the allowed area etc), but this was very unstable build, totally unusable because of crashing on everything. Could it be that the new dlls are conflicting with the rest of the older 8.10 compiler ?
So before you interrupt with further development of native %pl (I thought you enjoyed this work and understand how important is to have top quality and simplicity graphics utilities natively in Fortran but in reality it appears that things were going exactly opposite) can you please fix these issues with LOG scale which are demonstrated with this code below so that %pl will not plot outside the allowed area and will not switch to linear scale automatically if y_min=val exists (the data plotted often fluctuates and zeros/negatives are inevitable). That could be hopefully easy fixes. Also, though this could be not related to %pl problem: by some reason the new %pl does not react on Redraw like the older %pl was doing (to see that action remove the line CALL winop@('%pl[native]' and compile under regular 32bit). This will make %pl finally at least usable in 64bits.
Module Modd
use clrwin
integer, parameter:: N=10
real*8 X(N), Y(N), Z(N), T(N)
Contains
integer function callb()
real(2) random
do i=1,N
X(i)=i
Y(i)=exp(1.*i) * random()
Z(i)=exp(2.*i) * random()
T(i)=exp(3.*i) * random()
enddo
call simpleplot_redraw@
callb =2
end function
End module
!.....................................
program hhh
use clrwin
use Modd
j=callb()
i=winio@('%ww&')
CALL winop@('%pl[native]')
i=winio@('%pl[x_array,scale=log_linear,N_GRAPHS=3,y_min=100.]%ff&', 600,400, N, X,Y,Z,T)
i=winio@('%ac[Ctrl+Z]&',callb)
i=winio@('%cn%^bt[Redraw]%es',callb)
end