SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_report.h File Reference

Run-time logging and reporting facilities. More...

#include <exception>
#include <string>
#include "sysc/kernel/sc_cmnhdr.h"
#include "sysc/utils/sc_report_handler.h"
Include dependency graph for sc_report.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sc_core::sc_report
 Exception reporting. More...
 

Namespaces

 sc_core
 

Macros

#define SC_REPORT_INFO(msg_type, msg)
 
#define SC_REPORT_INFO_VERB(msg_type, msg, verbosity)
 
#define SC_REPORT_WARNING(msg_type, msg)
 
#define SC_REPORT_ERROR(msg_type, msg)
 
#define SC_REPORT_FATAL(msg_type, msg)
 
#define SC_NORETURN_   /* nothing */
 
#define sc_assert(expr)
 

Typedefs

typedef unsigned sc_core::sc_actions
 
typedef std::exception sc_core::sc_exception
 

Enumerations

enum  sc_core::sc_severity {
  sc_core::SC_INFO = 0, sc_core::SC_WARNING, sc_core::SC_ERROR, sc_core::SC_FATAL,
  sc_core::SC_MAX_SEVERITY
}
 Enumeration of possible exception severity levels. More...
 
enum  sc_core::sc_verbosity {
  sc_core::SC_NONE = 0, sc_core::SC_LOW = 100, sc_core::SC_MEDIUM = 200, sc_core::SC_HIGH = 300,
  sc_core::SC_FULL = 400, sc_core::SC_DEBUG = 500
}
 
enum  {
  sc_core::SC_UNSPECIFIED = 0x0000, sc_core::SC_DO_NOTHING = 0x0001, sc_core::SC_THROW = 0x0002, sc_core::SC_LOG = 0x0004,
  sc_core::SC_DISPLAY = 0x0008, sc_core::SC_CACHE_REPORT = 0x0010, sc_core::SC_INTERRUPT = 0x0020, sc_core::SC_STOP = 0x0040,
  sc_core::SC_ABORT = 0x0080, sc_core::SC_DEFAULT_INFO_ACTIONS = SC_LOG | SC_DISPLAY, sc_core::SC_DEFAULT_WARNING_ACTIONS = SC_LOG | SC_DISPLAY, sc_core::SC_DEFAULT_ERROR_ACTIONS = SC_LOG | SC_CACHE_REPORT | SC_THROW,
  sc_core::SC_DEFAULT_FATAL_ACTIONS = SC_LOG | SC_DISPLAY | SC_CACHE_REPORT | SC_ABORT, sc_core::SC_DEFAULT_CATCH_ACTIONS = SC_DISPLAY
}
 

Functions

SC_API const std::string sc_core::sc_report_compose_message (const sc_report &)
 
SC_NORETURN_ SC_API void sc_core::sc_abort ()
 
SC_NORETURN_ SC_API void sc_core::sc_assertion_failed (const char *msg, const char *file, int line)
 

Variables

SC_API const char sc_core::SC_ID_UNKNOWN_ERROR_ []
 
SC_API const char sc_core::SC_ID_WITHOUT_MESSAGE_ []
 
SC_API const char sc_core::SC_ID_NOT_IMPLEMENTED_ []
 
SC_API const char sc_core::SC_ID_INTERNAL_ERROR_ []
 
SC_API const char sc_core::SC_ID_ASSERTION_FAILED_ []
 
SC_API const char sc_core::SC_ID_OUT_OF_BOUNDS_ []
 
SC_API const char sc_core::SC_ID_ABORT_ []
 

Detailed Description

Run-time logging and reporting facilities.

Interface design by SystemC Verification Working Group. Implementation by Alex Riesen, Synopsys Inc. Original implementation by Martin Janssen, Synopsys Inc. Reference implementation by Cadence Design Systems, Inc., 2002-09-23: Norris Ip, Dean Shea, John Rose, Jasvinder Singh, William Paulsen, John Pierce, Rachida Kebichi, Ted Elkind, David Bailey.

CHANGE LOG AT END OF FILE

Definition in file sc_report.h.

Macro Definition Documentation

◆ sc_assert

#define sc_assert (   expr)
Value:
((void)((expr) ? 0 : \
(::sc_core::sc_assertion_failed(#expr,__FILE__,__LINE__),0)))
SC_NORETURN_ SC_API void sc_assertion_failed(const char *msg, const char *file, int line)

Definition at line 270 of file sc_report.h.

◆ SC_NORETURN_

#define SC_NORETURN_   /* nothing */

Definition at line 243 of file sc_report.h.

◆ SC_REPORT_ERROR

#define SC_REPORT_ERROR (   msg_type,
  msg 
)
Value:
::sc_core::SC_ERROR, msg_type, msg, __FILE__, __LINE__ )
indicates a definite problem
Definition: sc_report.h:61
static void report(sc_severity, const char *msg_type, const char *msg, const char *file, int line)

Definition at line 223 of file sc_report.h.

◆ SC_REPORT_FATAL

#define SC_REPORT_FATAL (   msg_type,
  msg 
)
Value:
::sc_core::SC_FATAL, msg_type, msg, __FILE__, __LINE__ )
indicates a problem from which we cannot recover
Definition: sc_report.h:62
static void report(sc_severity, const char *msg_type, const char *msg, const char *file, int line)

Definition at line 228 of file sc_report.h.

◆ SC_REPORT_INFO

#define SC_REPORT_INFO (   msg_type,
  msg 
)
Value:
::sc_core::SC_INFO, msg_type, msg, __FILE__, __LINE__ )
static void report(sc_severity, const char *msg_type, const char *msg, const char *file, int line)
informative only
Definition: sc_report.h:59

Definition at line 207 of file sc_report.h.

◆ SC_REPORT_INFO_VERB

#define SC_REPORT_INFO_VERB (   msg_type,
  msg,
  verbosity 
)
Value:
::sc_core::SC_INFO, msg_type, msg, verbosity, \
__FILE__ , __LINE__ )
static void report(sc_severity, const char *msg_type, const char *msg, const char *file, int line)
informative only
Definition: sc_report.h:59

Definition at line 212 of file sc_report.h.

◆ SC_REPORT_WARNING

#define SC_REPORT_WARNING (   msg_type,
  msg 
)
Value:
::sc_core::SC_WARNING, msg_type, msg, __FILE__, __LINE__ )
static void report(sc_severity, const char *msg_type, const char *msg, const char *file, int line)
indicates potentially incorrect condition
Definition: sc_report.h:60

Definition at line 218 of file sc_report.h.