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