Shalom, Certainly in the LRM (1364 or 1800) so far there has been no discussion of "command line" setting of macros. As far as the LRM is concerned, this doesn't occur. So, if we want to address this from the LRM perspective, we'll have to agree to add discussion in the LRM regarding command line setup. This is exacerbated by SV semantics where macros do NOT persist across compilation units (are command line macros re-introduced into each compilation unit?). There are a bunch of really nasty little details buried in this area that impact *users* but are well beyond what the LRM considers. One example is a mixed SV/Verilog compilation from the same compile command. For users, understanding what the implementation is going to do is crucial but it is outside the bounds of what the LRM considers. While I definitely agree that macro command line/file behavior is important for users, I'm not sure that we can do enough to deal with real user issues while staying in a realm that is appropriate for the LRM. Gord. Bresticker, Shalom wrote: > What about macros defined by both a compiler directive and also a > command-line switch (possibly with different values)? > > Shalom > > >> -----Original Message----- >> From: Steven Sharp [mailto:sharp@cadence.com] >> Sent: Thursday, August 24, 2006 9:12 PM >> To: Bresticker, Shalom; sv-bc@eda-stds.org; Feldman, Yulik >> Subject: RE: [sv-bc] Mantis 1090: `undefineall >> >> >>> From: "Feldman, Yulik" <yulik.feldman@intel.com> >>> Probably the directive should undefine only the `define macros, > because >>> otherwise the directive won't be too useful (since once the command >> line >>> macros are undefined, there will be no way to define them again). In >>> that case, it may be better to change the wording to refer to `define > >>> explicitly, to avoid ambiguity. >> The proposed functionality is based on an existing implementation, > which >> has been out there for many years. It follows Yulik's interpretation, > >> and only undefines macros created with `define. It does not undefine >> macros defined on the command line. I determined this by testing the >> implementation. >> >> The purpose of the directive was to protect files from leftover macros > >> defined in other source files, preventing dependencies between files >> and on compilation order. You may still wish to have macros defined > on >> the command line that affect all files. If `undefineall affected > those >> macros also, then it might become unusable. >> >> Steven Sharp >> sharp@cadence.com > -- -------------------------------------------------------------------- Gordon Vreugdenhil 503-685-0808 Model Technology (Mentor Graphics) gordonv@model.com -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Mon Jul 16 07:51:02 2007
This archive was generated by hypermail 2.1.8 : Mon Jul 16 2007 - 07:51:18 PDT