Paul S Person
unread,Mar 9, 2020, 1:17:41 PM3/9/20Sign in to reply to author
Sign in to forward
Sign in to report message as abuse
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
I discovered an interesting problem while working on cguideq with PS:
macro .dir, defined in lnkdir.gml in docs\doc\lg, does not identify
and include some linker options marked as being used with QNX
This sort of thing is what doesn't work:
.dir heapsize opheap.gml os2 qnx win16 win32
while this sort of thing does:
.dir linearrelocs oplinear.gml qnx
and testing shows that something like
.dir <whatever> <filename> os/2 qnx
would also work, were it present.
The problem has been fixed in the code, so our wgml now omits these
items as well.
The problem in the macro is isolated to QNX and is pretty clear:
. .se *$$fnd=&'wordpos('QNX',&suppsys)
is using a variable containing the list of supported targets as it
will be displayed to the user: that is, instead of
os2 qnx win16 win32
it contains
OS/2, QNX, Win16, Win32
and, since the script function &'wordpos() deals with /words/ not
/substrings/, the search term
"QNX"
does not match what it is expected to match
"QNX,"
in the string.
The fix is obvious: this function is used earlier to construct suppsys
from the command line, so the command line can be used here to match.
The only "trick" is to use the optional parameter "3" to skip the
option name and filename. And it would be nicely restricted to QNX.
I think I should do this, since it seems likely that all the linker
options used with QNX were intended to be in the manual. But first I
must ask:
does anyone know a reason why this should not be done?
or
are these options omitted intentionally?
--
"I begin to envy Petronius."
"I have envied him long since."