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] Fails to Process %INCLUDE Statement in Preprocessor Procedure
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 1998, 2000. All rights reserved.

PRODUCT:    DIGITAL DEC PL/I for OpenVMS AXP, Version 4.0 and above

COMPONENT:  Compiler

OP/SYS:     Compaq OpenVMS Alpha, Version 6.2 and above

SOURCE:     Compaq Computer Corporation


SYMPTOM:

The DEC PL/I compiler fails to process an %INCLUDE statement which is
contained in a preprocessor procedure.  The main procedure contains
an %INCLUDE statement for a text file that contains source code to
define a preprocessor procedure.  The procedure contains a
second %INCLUDE statement for another source file.

The VAX PL/I compiler on OpenVMS VAX processes the second %INCLUDE
statement.  DEC PL/I on OpenVMS Alpha doesn't process the second
%INCLUDE statement and fails to display messages (of any severity)
to reflect this.

Consider the following example which demonstrates the reported behavior:

     $ TYPE TEST.PLI

     temp: procedure options (main) ;
     %include ' junk.inc';
     end temp ;

     $ TYPE JUNK.INC
     %junky : proc returns (fixed) ;
     %include 'junker.inc' ;
     %return (23) ;
     %end ;

     $ TYPE JUNKER.INC
     declare xxxxxx fixed;

     $ PLI/LIST/SHOW=INCLUDE TEST                 ! on VAX, PLI processes
     $ TYPE TEST.LIS                              ! JUNKER.INC
     (... listing output)
         1
         2           temp: procedure options (main) ;
         3    1      %include ' junk.inc';
         4  I 1      %junky : proc returns (fixed) ;
         5 PI 1      %include 'junker.inc' ;
         6 PI 1      declare xxxxxx fixed;
         7 PI 1      %return (23) ;
         8 PI 1      %end ;
         9    1      end temp ;
     (... more listing output)

     $ PLI/LIST/SHOW=INCLUDE TEST                 ! on Alpha, PLI doesn't
     $ TYPE TEST.LIS                              ! process JUNKER.INC
     ...
                   1
                   2 temp: procedure options (main) ;
            1      3 %include ' junk.inc';
         I  1      4 %junky : proc returns (fixed) ;
        PI  1      5 %include 'junker.inc' ;
        PI  1      6 %return (23) ;
        PI  1      7 %end ;
            1      8 end temp ;


COMPAQ RESPONSE:

This problem has been reported to Engineering.


WORKAROUND:

Move the %INCLUDE statement outside of the procedure.  For example:

     $ TYPE JUNK.INC
     %include 'junker.inc' ;
     %junky : proc returns (fixed) ;
     %return (23) ;
     %end ;

However, before moving the %INCLUDE statement outside of the preprocessor
procedure, be sure to determine the effect of moving this statement in
the program.


buy online or call 1.800.AT.COMPAQ
privacy statementusing this site means you accept its terms