Geoff Chappell - Software Analyst
The optional argument consists of whatever follows immediately within the same command-line token.
For the parsing: the backslash and forward slash are not distinguished; name contains no backslash; ext contains no backslash or period.
If there are two or more compilable input files, it is an error (D2036) if the argument has either the name or .[ext] elements—or, put another way, unless either the argument ends with a backslash or there is no argument. Refer to the note on the error for some subtlety about what counts as a compilable input file.
The /Fl option overrides /FA, /Fa, /Fc and earlier instances of itself. Only the last instance has its argument checked.
This option generates the following for the back-end C/C++ compiler (C2):
with name and ext in the /Fa option resolved from defaults if not given in the /Fl argument. The default name is that of the source file. The default ext is “cod”.
The /Fl option asks that an assembly-language listing be created for each source file, with the a and c styles preselected. In isolation, it is essentially a shorthand for the combination
The following table shows on the left a /Fl option in its various syntactic cases and on the right the corresponding pathname that CL generates for C2 to use for the listing file that is to be produced from compiling a source file whose file name (disregarding any file extension) is source
|option as given||pathname for listing file|
That the effects of /Fl are obtainable by composing other options is perhaps why it is not documented. Indeed, it may be that the separate and more general specification of listing styles through /FA is a relatively recent introduction, which made /Fl redundant, so that the latter is now retained only for backwards compatibility.