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

Help clarify save-temps, Qsave-temps option with IFX, IFORT

FortranFan
Honored Contributor III
1,015 Views

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:

end
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
0 Kudos
6 Replies
Barbara_P_Intel
Employee
971 Views

The syntax on Windows to turn off an option is to add "-" at the end.

Barbara_P_Intel_0-1668456967395.png

 

 

 

0 Kudos
FortranFan
Honored Contributor III
964 Views

@Barbara_P_Intel ,

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.

 

.

0 Kudos
Barbara_P_Intel
Employee
942 Views

@FortranFan, the Fortran team recommends that since you have Priority Support that you file a support ticket. It's probably a bug.

 

0 Kudos
Ron_Green
Moderator
908 Views

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 

0 Kudos
Ron_Green
Moderator
906 Views

Bug ID CMPLRLLVM-41942


0 Kudos
Ron_Green
Moderator
437 Views

@FortranFan this bug is fixed in the 2024.1 compiler.  I just confirmed the fix in the released compiler.

0 Kudos
Reply