Dear Intel Team members,
This is related to this thread at Fortran-Discourse. Is it possible to post clarification regarding what no-save-temps, /Qno-save-temps options would do, particularly with fpp and syntax-only options?
Also, Intel documentation suggests no-save-temps, /Qno-save-temps does not apply on Windows OS, can you please elaborate on this? The compiler does not complain but it does not remove the temporary file either. Will it be possible for IFX (and IFORT) to support no-save-temps, /Qno-save-temps on Windows such that the temporary files are removed when this option is in effect?
Example code in p.f90:
C:\temp>dir *.i90 Volume in drive C is OSDisk Volume Serial Number is 661E-520F Directory of C:\temp File Not Found C:\temp>ifort /fpp /syntax-only /Qno-save-temps p.f90 Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.7.0 Build 20220726_000000 Copyright (C) 1985-2022 Intel Corporation. All rights reserved. C:\temp>dir *.i90 Volume in drive C is OSDisk Volume Serial Number is 661E-520F Directory of C:\temp 11/12/2022 10:00 AM 19 p.i90 1 File(s) 19 bytes 0 Dir(s) 175,573,037,056 bytes free
Thanks, can you please check with your internal resources as to the expected behavior with /Qsave-temps- (or no-save-temps) when used with /fpp and /syntax-only on Windows when it comes to .i90 (or .i*) files?
Sorry for any confusion re: the original post, but I had previously tried the option with - sign at the end and didn't notice it to do anything. For some (wrong?) reason, I was thinking the option with - sign was an older and perhaps an outdated option and that the one with the explicit "no" was the newer option, similar to /debug and /nodebug, /nogen-interfaces, etc.
I see the issue on linux as well. It's a driver bug. both ifx and ifort.
the combination of -fpp -syntax-only is leaving the .i90 .i files. Neither -no-save-temps or -save-temps has any impact, it ignores us and leave the .i file.
syntax-only changes the location of the intermediate file from fpp from /tmp to the local directory. I am not exactly sure why that is. with just -fpp it's using TMPDIR for the location of the .i file. Strange that the syntax checking would, first, change the location. Then it "loses track" of the local dir .i files and does not remove them after the compilation check. and then -no-save-temps is probably looking in TMPDIR for the .i files, does not find them, hence cannot remove them.
I'll write up a bug report. Thanks @FortranFan