PDA

View Full Version : Questa compilation warnings with -lint?



jgg
01-15-2008, 10:42 PM
I was just working on dropping OVM into our build environment with Questa and noticed that when compiled with -lint (our default flags) there are a number of warnings..

The global_configuration_table warning seems to be because the definition is not before some usages in the include order, and the class handle warning is from a few usages of the c-like
if (cls) xxx
rather than
if (cls != null) xx

The enum ones seem a little bit too pedantic if you ask me :)

Just thought it was worth mentioning if nobody has tried this before.

** Warning: [8] base/ovm_component.sv(2138): Undefined variable: global_configuration_table.
** Warning: [8] base/ovm_component.sv(2149): Undefined variable: global_configuration_table.
** Warning: [8] base/ovm_component.sv(2165): Undefined variable: global_configuration_table.
** Warning: [8] base/ovm_component.sv(2200): Undefined variable: global_configuration_table.
** Warning: base/ovm_extern_report_server.svh(64): Enum type mismatch between operands of '==' expression.
** Warning: base/ovm_object.sv(476): Enum type mismatch between operands of '!=' expression.
** Warning: base/ovm_object.sv(184): Use of class handles as logical operands is not portable.
** Warning: base/ovm_object.sv(1010): Use of class handles as logical operands is not portable.
** Warning: base/ovm_object.sv(1117): Enum type mismatch between operands of '!=' expression.
** Warning: base/ovm_object.sv(860): Use of class handles as logical operands is not portable.
** Warning: base/ovm_report_handler.svh(326): Enum type mismatch between operands of '==' expression.
** Warning: base/ovm_component.sv(816): Enum type mismatch between operands of '!=' expression.
** Warning: base/ovm_component.sv(1558): Enum type mismatch between operands of '!=' expression.
** Warning: base/ovm_component.sv(1617): Enum type mismatch between operands of '!=' expression.
** Warning: compatibility/urm_message.sv(185): Enum type mismatch between operands of '==' expression.
** Warning: compatibility/urm_message.sv(189): Enum type mismatch between operands of '==' expression.
** Warning: compatibility/urm_message.sv(189): Enum type mismatch between operands of '!=' expression.
** Warning: compatibility/urm_message.sv(193): Enum type mismatch between operands of '==' expression.
** Warning: compatibility/urm_message.sv(329): Enum type mismatch between operands of '>=' expression.
** Warning: compatibility/urm_message.sv(329): Enum type mismatch between operands of '<=' expression.
** Warning: compatibility/urm_message.svh(367): Enum type mismatch between operands of '==' expression.
** Warning: compatibility/urm_message.svh(367): Enum type mismatch between operands of '==' expression.
** Warning: compatibility/urm_message.sv(135): Enum type mismatch between operands of '==' expression.
** Warning: compatibility/urm_message.svh(634): Enum type mismatch between operands of '>=' expression.
** Warning: base/ovm_connector_base.svh(313): Enum type mismatch between operands of '==' expression.
** Warning: methodology/sequences/ovm_sequencer_base.sv(237): Enum type mismatch between operands of '!=' expression.
** Warning: methodology/sequences/ovm_sequencer_base.sv(244): Enum type mismatch between operands of '!=' expression.
** Warning: methodology/sequences/ovm_sequence.sv(229): Enum type mismatch between operands of '!=' expression.
** Warning: methodology/sequences/ovm_sequence.sv(248): Enum type mismatch between operands of '!=' expression.
** Warning: methodology/sequences/ovm_sequence.sv(158): Use of class handles as logical operands is not portable.
** Warning: methodology/sequences/ovm_sequencer.sv(258): Enum type mismatch between operands of '!=' expression.
** Warning: methodology/sequences/ovm_sequencer.sv(216): Enum type mismatch between operands of '!=' expression.

jgg
01-17-2008, 11:22 PM
On further use this seems to be an annoying problem since some warnings appear even when I compile my own modules with -lint, this ones actually:

** Warning: [8] base/ovm_component.sv(2138): Undefined variable: global_configuration_table.
** Warning: [8] base/ovm_component.sv(2149): Undefined variable: global_configuration_table.
** Warning: [8] base/ovm_component.sv(2165): Undefined variable: global_configuration_table.
** Warning: [8] base/ovm_component.sv(2200): Undefined variable: global_configuration_table.

Even though I don't (yet) use includes.. Seems like a strange Questa thing, but it would be nice to see this fixed in future OVM versions. I fixed it in my copy to eliminate the compiler warnings..