From: Adam Krolnik (krolnik@lsil.com)
Date: Tue Aug 21 2001 - 08:40:49 PDT
<p>Shalom is proposing an erratta for the 'level' parameter of the
`line directive. This definition also includes a functionality change.
Was:
The level parameter indicates whether an include file has been entered
(value is 1), an include file has been exited (value is 2) or neither
has been done (value is 0).
<p>Proposed:
The level parameter indicates when we are starting a new file (value is
1),
which also includes starting an include file, returning to a file (value
is 2), after having included another file, or the value 0 if neither of
the
other conditions has occurred.
<p>This is based on the GNU CPP definitions as thus:
'0' This indicates none of the following are occurring (the file was not
changed.)
`1' This indicates the start of a new file.
`2' This indicates returning to a file (after having included another
file).
There is a functionality change with regard to the level parameter
having the value 1. This now means that any time a new file is being
read, the value is to be 1. This is in contrast to the previous
definition only requiring the value 1 when an include file is being
started.
Second note: I have read the GNU CPP source code in an attempt to
determine if they use level=1 when actually starting new files, vs.
just for include files. It appears that they only use level=1 when
starting an include file, and when reading a precompiled include file.
I guess a precompiled file is somewhat equivalent to starting another
file - C compilers process 1 file at a time in contrast to verilog
compilers that read multiple files (and keep the preprocessor state
active across files) at once.
Yet I see no reason that one should be required to indicate the
start of a new file (with a special flag) other than to say I want
you to save the current file information and start another.
Comments?
Adam Krolnik
Verification Mgr.
LSI Logic Corp.
Plano TX. 75074
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:54:45 PDT
and
sponsored by Boyd Technology, Inc.