Jump to page titleUNITED STATES
hp.com home products and services support and drivers solutions how to buy
» contact hp

:

more options
 

hp.com home
End of Jump to page title
[DEC PL/I] V4.1 Compiler Returns %PLIG-I-UNREACH Informational Msg
Jump to content



» 

business support center

Home & Home Office Support:
» HP branded products
» Presario branded products
» Services & Warranties
Small & Medium Business Support:
» Small & Medium Business products
» Small & Medium Business services
Support for IT Professionals:
» Enterprise products (IT Resource Center)
» NonStop enterprise products
» Business & IT Services
Content starts here
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
privacy statementusing this site means you accept its terms