[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

Old C++ incompatible with newer DCE IDL?

» close window

The Question is:

 
We have been successfully running a client/server application with the
 following configuration:  Alpha OpenVMS 6.2, DCE 1.5, DEC C++ 1.3.  After
 upgrading to DCE 3.0, I get the following errors from my DEC C++ 1.3 compiler
 when including header files gene
rated by the DCE 3.0 IDL compiler:
 
    #pragma extern_model __common_block __shr,__nowrt
    %CXX-E-DIRECTEXTRA, Extraneous text is present at the end of a preprocessor
 directive
 
    #pragma message disable WRTINNOWRT
    %CXX-E-DIRECTEXTRA, Extraneous text is present at the end of a preprocessor
 directive
 
The difference is that the DCE 3.0 IDL compiler writes out 2 psect attributes
 for the common block, "__shr,__nowrt", but the DCE 1.5 IDL compiler writes out
 only 1 attribute, "__shr".  Apparently, my DEC C++ 1.3 compiler does not
 recognize a list of attri
butes for the extern_model pragma.
 
Is there a parameter to the DCE 3.0 IDL compiler to make it write out code that
 can be compiled by the DEC C++ 1.3 compiler?  I couldn't find one.  Is there a
 way to make the DEC C++ 1.3 compiler handle this?
 
Or, is my only choice to upgrade my C++ compiler?  I searched the DCE 3.0
 documentation for a minimum version of C++ that's compatible with DCE 3.0, but
 I couldn't find one listed.
 
Thanks for your help!
 
 


The Answer is :

 
  Please upgrade to the current tool versions, or expect to have to
  modify the intermediate code.  (C++ V1.3 was released in 1993, and
  there have been numerous improvements and corrections since then.)
 

answer written or last revised on ( 10-OCT-2001 )

» close window