John, Bishnupriya,
in general, I'm in favour of adding the verbosity proposal to the LRM.
I did a review of the refined proposal, sent by Bishnupriya earlier
today and found a couple of potential issues, though.
1) position of verbosity parameter / SC_IGNORE_VERBOSITY
  I think, if we choose an overload instead of a default parameter, we
  don't need the SC_IGNORE_VERBOSITY symbol.  If we include it anyhow,
  we should define its meaning.
  Personally, I'd prefer the overload over the default parameter for no
  real technical reason.
2) sc_module::sc_report, sc_core::sc_report
   This is most likely an oversight, but there is already an
   sc_core::sc_report class defined in the LRM.  While we technically
   _can_ overload the class name sc_core::sc_report with a function,
   I'd consider this quite bad style.  This would also break any
   user-defined catch clauses, I think.
   So we need another name here, I guess.
     sc_do_report
     sc_create_report
     sc_make_report
     ...
3) SC_REPORT_XXX_V
   Bishnupriya says:
   "the macros expand to invoke the function sc_report(); if the macros
    are invoked from global scope, sc_report() will resolve to the
    global function, and if invoked from module scope, sc_report() will
    resolve to the module's sc_report() function;"
   I don't like this macro definition to perform an unqualified call to
   sc_report().  This won't work on the global scope, if the user only
   includes <systemc> (which is recommended, I guess).  Secondly, it
   will resolve to the wrong function, if sc_module is inherited
   indirectly from a templated base class (sice sc_report is not a
   dependent name).
With 2) and 3), I think the module-specific verbosity might be too late
to include for now.  I would vote to skip this and only add a global
function "sc_do_report" (better name?), with the signature:
namespace sc_core {
  void
  sc_do_report( sc_severity severity,
                const char* msg_type,
                const char* msg,
                int verbosity,
                const char* file = NULL,
                int line = 0 );
}
where file and line are optional for convenience.
Greetings from Oldenburg,
  Philipp
On 03/12/10 16:19, john.aynsley@doulos.com wrote:
> All,
> 
> Do we want to get verbosity control into 1666? I ask because we only have a few days to go before the deadline, so everybody would have to accept the Cadence proposal more-or-less as it stands; we are not going to have time to debate the finer points. Would everyone please check out the proposal and "vote" yes or no.
> 
> Thanks,
> 
> John A
> 
> 
> 
-- Philipp A. Hartmann Hardware/Software Design Methodology Group OFFIS Institute for Information Technology R&D Division Transportation · FuE-Bereich Verkehr Escherweg 2 · 26121 Oldenburg · Germany · http://www.offis.de/ Phone/Fax: +49-441-9722-420/282 · PGP: 0x9161A5C0 · Skype: phi.har
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
This archive was generated by hypermail 2.1.8 : Fri Dec 03 2010 - 10:00:26 PST