Changes to ivl_target.h

Changes so "Microsoft Visual Studio Express 2015 RC Web" could build it without a bunch of runtime errors and crashes during regression testing.  When declaring an bitfield variable of type enum in a struct, the enum has to have an underlying integer type for MSVC++ when compiling a C++ file, and for these cases, it had to be unsigned integer for everything to work okay during regression testing.
This commit is contained in:
Frederick C. Kurz 2015-07-10 12:50:38 -04:00 committed by Stephen Williams
parent fc976bdb97
commit 82d46a5e1a
1 changed files with 16 additions and 0 deletions

View File

@ -201,7 +201,11 @@ typedef enum ivl_dis_domain_e {
IVL_DIS_CONTINUOUS = 2
} ivl_dis_domain_t;
#if defined(__cplusplus) && !defined(__GNUC__)
typedef enum ivl_drive_e : unsigned int {
#else
typedef enum ivl_drive_e {
#endif
IVL_DR_HiZ = 0,
IVL_DR_SMALL = 1,
IVL_DR_MEDIUM = 2,
@ -243,7 +247,11 @@ typedef enum ivl_expr_type_e {
IVL_EX_UNARY = 14
} ivl_expr_type_t;
#if defined(__cplusplus) && !defined(__GNUC__)
typedef enum ivl_select_type_e : unsigned int {
#else
typedef enum ivl_select_type_e {
#endif
IVL_SEL_OTHER = 0,
IVL_SEL_IDX_UP = 1,
IVL_SEL_IDX_DOWN = 2
@ -345,7 +353,11 @@ typedef enum ivl_path_edge_e {
/* Processes are initial, always, or final blocks with a statement. This is
the type of the ivl_process_t object. */
#if defined(__cplusplus) && !defined(__GNUC__)
typedef enum ivl_process_type_e : unsigned int {
#else
typedef enum ivl_process_type_e {
#endif
IVL_PR_INITIAL = 0,
IVL_PR_ALWAYS = 1,
IVL_PR_FINAL = 2
@ -431,7 +443,11 @@ typedef enum ivl_sfunc_as_task_e {
/* This is the type of a variable, and also used as the type for an
expression. */
#if defined(__cplusplus) && !defined(__GNUC__)
typedef enum ivl_variable_type_e : unsigned int {
#else
typedef enum ivl_variable_type_e {
#endif
IVL_VT_VOID = 0, /* Not used */
IVL_VT_NO_TYPE = 1, /* Place holder for missing/unknown type. */
IVL_VT_REAL = 2,