 |
» |
|
 |
|
 |

Copyright (c) Compaq Computer Corporation 1997, 2001. All rights reserved.
PRODUCT: DIGITAL DEC PL/I for OpenVMS Alpha, Versions 4.0-5, 4.1-1
OP/SYS: Compaq OpenVMS Alpha, Version 6.2 through 7.1
SOURCE: Compaq Computer Corporation
SYMPTOM:
The PL/I compiler's code optimizer generates PLIG-I-UNREACH messages.
The informational messages occur even if the optimizer cannot guarantee
the value of a variable that is evaluated in an IF-THEN-ELSE sequence
(where both the IF and ELSE cases return() from the procedure).
Consider the following example that demonstrates the reported behavior:
$ TYPE TEST.PLI
tmp:procedure (switch) returns(fixed) ;
dcl switch fixed ;
if switch = 0 then return(0); else return(1);
end tmp;
$ PLI TEST
if switch = 0 then return(0); else return(1);
^
%PLIG-I-UNREACH, code can never be executed at label
at line number 3 in file user:[directory]TEST.PLI;4
%PLIG-I-SUMMARY, Completed with 0 errors, 0 warnings, and
1 informational messages.
NOTE: The VAX PL/I for OpenVMS VAX compiler's code optimizer does not
generate %PLIG-I-UNREACH messages for this code.
COMPAQ RESPONSE:
Support for this product is now provided by the third party vendor,
KEDNOS at (831)373-7003.
WORKAROUNDS:
The following workarounds can be used to resolve the problem:
1. Specify the /WARN=NOINFO qualifier to suppress the informational
message.
2. Specify the /NOOPTIMIZE qualifier to disable optimization options.
3. Modify the code to separate the IF and ELSE statements (code
beyond the IF statement is not unreachable). For example:
$ TYPE TEST.PLI
tmp:procedure (switch) returns(fixed) ;
dcl switch fixed ;
if switch = 0 then return(0);
return(1);
end tmp;
All other trademarks and registered trademarks are the property of their
respective owners.
All other product names referenced herein are trademarks of their
respective companies.
|
buy online or call 1.800.AT.COMPAQ
|
|