Hi All,
After reading Jim and Bassam's discussion, here is an
updated proposal for #353.  I have tested out these
changes with the latest vpi_user.h from P1364-2005_D5,
as suggested by Stu.
I'm attaching a modified version of sv_vpi_user.h
that has all these changes applied to it.
There were no problems detected in Draft 5's vpi_user.h.
To test out file vpi_user.h, I had to do a bunch of
cut-n-paste from the Acrobat document.  Unfortunately
cut-n-paste from Acrobat messes up all whitespace
formatting, so I don't have a handy, well-formatted
version of the file available to attach.  If anyone
is interested, I can send out my ugly, unformatted
version (which is correct and compiles fine).
This proposal has been uploaded into Mantis.
Sorry it's just a text file, Stu.
I didn't have time to do a full-blown colorized MS Word doc.
Let me know if that's going to be an issue.
Thanks and regards,
Doug
PROPOSAL for SV #353
Affects Sections 30, 31, and Annex I
In Annex I:
    CHANGE line 29
      USED TO BE:
      #include <vpi_user.h>
      SHOULD BE:
      #include "vpi_user.h"
    DELETE line 34
      (It is a stray '}' character.)
    DELETE the following lines (154, 155)
      #define vpiLhs                    711
      #define vpiRhs                    712
    DELETE line 178
      #define vpiMembers                736
    DELETE the following lines (250 and 251)
      #define vpiValid                  646
      #define vpiActive                 647
    CHANGE line 424
      USED TO BE:
      PLI_INT32 vpi_get_assertion_info (assert_handle,
p_vpi_assertion_info);
      SHOULD BE:
      PLI_INT32 vpi_get_assertion_info (
          vpiHandle assertion,       /* handle to assertion */
          p_vpi_assertion_info info  /* assertion related information */
      );
    DELETE lines 464-465:
      /* Member of a collection */
      #define vpiMember               840 /* Member of a collection */
    CHANGE the functions related to the data reader API
    between lines 486 and 514.
    USED TO BE:
     /* load extension form for the reader extension */
     PLI_INT32 vpi_load_extension PROTO_PARAMS((PLI_BYTE8
*extension_name,
                                                PLI_BYTE8 *name,
                                                vpiType mode, ...))
     
     PLI_INT32 vpi_close PROTO_PARAMS((PLI_INT32 tool,
                                       vpiType prop,
                                       PLI_BYTE8* name));
     
     PLI_INT32 vpi_load_init PROTO_PARAMS((vpiHandle objCollection,
                                           vpiHandle scope,
                                           PLI_INT32 level));
     
     PLI_INT32 vpi_load PROTO_PARAMS((vpiHandle h));
     
     PLI_INT32 vpi_unload PROTO_PARAMS((vpiHandle h));
     
     vpiHandle vpi_create PROTO_PARAMS((vpiType prop,
                                        vpiHandle h,
                                        vpiHandle obj));
     
     vpiHandle vpi_goto PROTO_PARAMS((vpiType prop,
                                      vpiHandle obj,
                                      p_vpi_time time_p,
                                      PLI_INT32 *ret_code));
    SHOULD BE:
     /* load extension form for the reader extension */
     PLI_INT32 vpi_load_extension(PLI_BYTE8 *extension_name,
                                  PLI_BYTE8 *name,
                                  PLI_INT32 mode, ...))
     
     PLI_INT32 vpi_close(PLI_INT32 tool,
                         PLI_INT32 prop,
                         PLI_BYTE8* name);
     
     PLI_INT32 vpi_load_init(vpiHandle objCollection,
                             vpiHandle scope,
                             PLI_INT32 level);
     
     PLI_INT32 vpi_load(vpiHandle h);
     
     PLI_INT32 vpi_unload(vpiHandle h);
     
     vpiHandle vpi_create(PLI_INT32 prop,
                          vpiHandle h,
                          vpiHandle obj);
     
     vpiHandle vpi_goto(PLI_INT32 prop,
                        vpiHandle obj,
                        p_vpi_time time_p,
                        PLI_INT32 *ret_code);
In Section 30.3.2.1,
     DELETE the line that defines "vpiMember".
In Section 30.12, 
     FIND and CHANGE all strings matching "vpiType" to "PLI_INT32".
In Section 31.22,
    In the diagram, CHANGE "vpiMembers" to "vpiMember"
This archive was generated by hypermail 2.1.8 : Wed Jan 19 2005 - 00:18:57 PST