Uvm_field_array_enum Issue in UVM 1.2

Hi We are migrating test bench from 1.1d to UVM 1.2,

We are facing an issue with uvm_field_array_enum . I have shown the code below

typedef enum bit [63:0] {
A = 0,
B = 2,
C =4,
D='h400000,
E,
F,

M ='h400
} myenum_e

class abc ;
myenum_e inst_myenum_e;


uvm_object_utils_begin(abc ); uvm_field_array_enum (myenum_e,inst_myenum_e,UVM_ALL_ON); // Error on this line - tr_handle is not part of the class
`uvm_object_utils_

endclass

I am getting the Error “tr_handle is not part of the class” on the line as shown above
The code was working fine on UVM 1.1d

Please help us resolve this issue

In reply to Jack Bryan:

I can’t locate tr_handle in your code snippet first!

In reply to voraravi:

Yes, there is no tr_handle in my code. That is what i dont understand too

In reply to Jack Bryan:

you should extend your class abc from uvm_object or uvm_sequence_item.
that tr_handle may be defined in the base class.

In reply to voraravi:

No tr_handle is not defined anywhere in the testbench

class abc is extended from a class xyz which is extended from uvm_transaction

In reply to Jack Bryan:

tr_handle was part of the vendor specific transaction recording API from OVM/early UVM that was removed in UVM 1.2. It’s possible that your mixing macros from different versions of the UVM. This Mentor sponsored public forum is not for discussing tool specific issues. Please read you tool’s user manual or contact your tool vendor directly for support.

In reply to dave_59:

Why is this a problem with only uvm_field_array_enum , i am using uvm_field_object and other macros successfully. I observe the same issue with uvm_field_queue_enum

In reply to Jack Bryan:

Sorry, don’t use or recommend using any of the `uvm_field_* macros, You have all the source code to debug.

In reply to dave_59:

Thanks for the help Dave