 |
» |
|
 |
|
 |

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
|
|