-- internal declarations, part 1 type __ghdl_size_type is unsigned (32); type __ghdl_index_type is unsigned (32); type __ghdl_i32 is signed (32); type __ghdl_real is float; type __ghdl_i64 is signed (64); type __ghdl_file_index is unsigned (32); type __ghdl_file_index_ptr is access __ghdl_file_index; type __ghdl_char is unsigned (8); type __ghdl_chararray is array [__ghdl_index_type] of __ghdl_char; type __ghdl_char_ptr is access __ghdl_chararray; type __ghdl_char_ptr_array is array [__ghdl_index_type] of __ghdl_char_ptr; type __ghdl_char_ptr_array_ptr is access __ghdl_char_ptr_array; type __ghdl_ptr is access __ghdl_char; type __ghdl_str_len is record len: __ghdl_index_type; str: __ghdl_char_ptr; end record; type __ghdl_str_len_array is array [__ghdl_index_type] of __ghdl_str_len; type __ghdl_str_len_ptr is access __ghdl_str_len; type __ghdl_bool_type is boolean {false, true}; type __ghdl_bool_array_type is array [__ghdl_index_type] of __ghdl_bool_type; type __ghdl_bool_array_ptr is access __ghdl_bool_array_type; type __ghdl_compare_type is enum {lt = 0, eq = 1, gt = 2}; type __ghdl_location is record filename: __ghdl_char_ptr; line: __ghdl_i32; col: __ghdl_i32; end record; type __ghdl_location_ptr is access __ghdl_location; type __ghdl_dir_type is enum {dir_to = 0, dir_downto = 1}; external function __ghdl_alloc ( size: __ghdl_size_type) return __ghdl_ptr; external procedure __ghdl_program_error ( filename: __ghdl_char_ptr; line: __ghdl_i32; code: __ghdl_index_type); external procedure __ghdl_bound_check_failed_l0 ( index: __ghdl_index_type); external procedure __ghdl_bound_check_failed_l1 ( filename: __ghdl_char_ptr; line: __ghdl_i32); external function __ghdl_stack2_allocate ( size: __ghdl_index_type) return __ghdl_ptr; external function __ghdl_stack2_mark ( ) return __ghdl_ptr; external procedure __ghdl_stack2_release ( mark: __ghdl_ptr); external procedure __ghdl_memcpy ( dest: __ghdl_ptr; src: __ghdl_ptr; length: __ghdl_index_type); external procedure __ghdl_deallocate ( OBJ: __ghdl_ptr); external function __ghdl_malloc ( length: __ghdl_index_type) return __ghdl_ptr; external function __ghdl_malloc0 ( length: __ghdl_index_type) return __ghdl_ptr; external function __ghdl_text_file_elaborate ( ) return __ghdl_file_index; external function __ghdl_file_elaborate ( NAME: __ghdl_char_ptr) return __ghdl_file_index; external procedure __ghdl_file_finalize ( file: __ghdl_file_index); external procedure __ghdl_text_file_finalize ( file: __ghdl_file_index); external procedure __ghdl_protected_enter ( OBJ: __ghdl_ptr); external procedure __ghdl_protected_leave ( OBJ: __ghdl_ptr); external procedure __ghdl_protected_init ( OBJ: __ghdl_ptr); external procedure __ghdl_protected_fini ( OBJ: __ghdl_ptr); type __ghdl_rtik is enum {__ghdl_rtik_top = 0, __ghdl_rtik_library = 1, __ghdl_rtik_package = 2, __ghdl_rtik_package_body = 3, __ghdl_rtik_entity = 4, __ghdl_rtik_architecture = 5, __ghdl_rtik_process = 6, __ghdl_rtik_block = 7, __ghdl_rtik_if_generate = 8, __ghdl_rtik_for_generate = 9, __ghdl_rtik_instance = 10, __ghdl_rtik_constant = 11, __ghdl_rtik_iterator = 12, __ghdl_rtik_variable = 13, __ghdl_rtik_signal = 14, __ghdl_rtik_file = 15, __ghdl_rtik_port = 16, __ghdl_rtik_generic = 17, __ghdl_rtik_alias = 18, __ghdl_rtik_guard = 19, __ghdl_rtik_component = 20, __ghdl_rtik_attribute = 21, __ghdl_rtik_type_b2 = 22, __ghdl_rtik_type_e8 = 23, __ghdl_rtik_type_e32 = 24, __ghdl_rtik_type_i32 = 25, __ghdl_rtik_type_i64 = 26, __ghdl_rtik_type_f64 = 27, __ghdl_rtik_type_p32 = 28, __ghdl_rtik_type_p64 = 29, __ghdl_rtik_type_access = 30, __ghdl_rtik_type_array = 31, __ghdl_rtik_type_record = 32, __ghdl_rtik_type_file = 33, __ghdl_rtik_subtype_scalar = 34, __ghdl_rtik_subtype_array = 35, __ghdl_rtik_subtype_array_ptr = 36, __ghdl_rtik_subtype_unconstrained_array = 37, __ghdl_rtik_subtype_record = 38, __ghdl_rtik_subtype_access = 39, __ghdl_rtik_type_protected = 40, __ghdl_rtik_element = 41, __ghdl_rtik_unit = 42, __ghdl_rtik_attribute_transaction = 43, __ghdl_rtik_attribute_quiet = 44, __ghdl_rtik_attribute_stable = 45, __ghdl_rtik_psl_assert = 46, __ghdl_rtik_error = 47}; type __ghdl_rti_depth is unsigned (8); type __ghdl_rti_u8 is unsigned (8); type __ghdl_rti_common is record kind: __ghdl_rtik; depth: __ghdl_rti_depth; mode: __ghdl_rti_u8; max_depth: __ghdl_rti_depth; end record; type __ghdl_rti_access is access __ghdl_rti_common; type __ghdl_rti_array is array [__ghdl_index_type] of __ghdl_rti_access; type __ghdl_rti_arr_acc is access __ghdl_rti_array; type __ghdl_component_link_type is record; type __ghdl_component_link_acc is access __ghdl_component_link_type; type __ghdl_entity_link_type is record rti: __ghdl_rti_access; parent: __ghdl_component_link_acc; end record; type __ghdl_entity_link_acc is access __ghdl_entity_link_type; type __ghdl_component_link_type is record INSTANCE: __ghdl_entity_link_acc; stmt: __ghdl_rti_access; end record; type __ghdl_rti_loc is union offset: __ghdl_index_type; address: __ghdl_ptr; end union; type __ghdl_rtin_block is record common: __ghdl_rti_common; name: __ghdl_char_ptr; loc: __ghdl_rti_loc; parent: __ghdl_rti_access; size: __ghdl_index_type; nbr_child: __ghdl_index_type; children: __ghdl_rti_arr_acc; end record; type __ghdl_rtin_type_scalar is record common: __ghdl_rti_common; name: __ghdl_char_ptr; end record; type __ghdl_rtin_type_enum is record common: __ghdl_rti_common; name: __ghdl_char_ptr; nbr: __ghdl_index_type; lits: __ghdl_char_ptr_array_ptr; end record; type __ghdl_rtin_subtype_scalar is record common: __ghdl_rti_common; name: __ghdl_char_ptr; base: __ghdl_rti_access; range: __ghdl_rti_loc; end record; type __ghdl_rti_unit_val is union unit_32: __ghdl_i32; unit_64: __ghdl_i64; addr: __ghdl_ptr; end union; type __ghdl_rtin_unit is record common: __ghdl_rti_common; name: __ghdl_char_ptr; value: __ghdl_rti_unit_val; end record; type __ghdl_rtin_type_physical is record common: __ghdl_rti_common; name: __ghdl_char_ptr; nbr: __ghdl_index_type; units: __ghdl_rti_arr_acc; end record; type __ghdl_rtin_type_fileacc is record common: __ghdl_rti_common; name: __ghdl_char_ptr; base: __ghdl_rti_access; end record; type __ghdl_rtin_type_array is record common: __ghdl_rti_common; name: __ghdl_char_ptr; element: __ghdl_rti_access; nbr_dim: __ghdl_index_type; indexes: __ghdl_rti_arr_acc; end record; type __ghdl_rtin_subtype_array is record common: __ghdl_rti_common; name: __ghdl_char_ptr; basetype: __ghdl_rti_access; bounds: __ghdl_rti_loc; val_size: __ghdl_rti_loc; sig_size: __ghdl_rti_loc; end record; type __ghdl_rtin_type_record is record common: __ghdl_rti_common; name: __ghdl_char_ptr; nbrel: __ghdl_index_type; elements: __ghdl_rti_arr_acc; end record; type __ghdl_rtin_element is record common: __ghdl_rti_common; name: __ghdl_char_ptr; eltype: __ghdl_rti_access; val_off: __ghdl_index_type; sig_off: __ghdl_index_type; end record; type __ghdl_rtin_object is record common: __ghdl_rti_common; name: __ghdl_char_ptr; loc: __ghdl_rti_loc; obj_type: __ghdl_rti_access; end record; type __ghdl_rtin_instance is record common: __ghdl_rti_common; name: __ghdl_char_ptr; loc: __ghdl_rti_loc; parent: __ghdl_rti_access; instance: __ghdl_rti_access; end record; type __ghdl_rtin_component is record common: __ghdl_rti_common; name: __ghdl_char_ptr; nbr_child: __ghdl_index_type; children: __ghdl_rti_arr_acc; end record; external procedure __ghdl_signal_name_rti ( OBJ: __ghdl_rti_access; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); external procedure __ghdl_process_register ( this: __ghdl_ptr; proc: __ghdl_ptr; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); external procedure __ghdl_sensitized_process_register ( this: __ghdl_ptr; proc: __ghdl_ptr; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); external procedure __ghdl_postponed_process_register ( this: __ghdl_ptr; proc: __ghdl_ptr; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); external procedure __ghdl_postponed_sensitized_process_register ( this: __ghdl_ptr; proc: __ghdl_ptr; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); external procedure __ghdl_finalize_register ( this: __ghdl_ptr; proc: __ghdl_ptr); -- package std.standard type std__standard__boolean is boolean {false, true}; type std__standard__boolean__PTR is access std__standard__boolean; type std__standard__boolean__SIG is access std__standard__boolean; type std__standard__boolean__TRT is record left: std__standard__boolean; right: std__standard__boolean; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__boolean__TRPTR is access std__standard__boolean__TRT; type std__standard__BOOLEAN_ARRAY is array [__ghdl_index_type] of std__standard__boolean; type std__standard__bit is boolean {C_0, C_1}; type std__standard__bit__PTR is access std__standard__bit; type std__standard__bit__SIG is access std__standard__bit; type std__standard__bit__TRT is record left: std__standard__bit; right: std__standard__bit; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__bit__TRPTR is access std__standard__bit__TRT; type std__standard__character is enum {nul = 0, soh = 1, stx = 2, etx = 3, eot = 4, enq = 5, ack = 6, bel = 7, bs = 8, ht = 9, lf = 10, vt = 11, ff = 12, cr = 13, so = 14, si = 15, dle = 16, dc1 = 17, dc2 = 18, dc3 = 19, dc4 = 20, nak = 21, syn = 22, etb = 23, can = 24, em = 25, sub = 26, esc = 27, fsp = 28, gsp = 29, rsp = 30, usp = 31, C20 = 32, C21 = 33, C22 = 34, C23 = 35, C24 = 36, C25 = 37, C26 = 38, C27 = 39, C28 = 40, C29 = 41, C2a = 42, C2b = 43, C2c = 44, C2d = 45, C2e = 46, C2f = 47, C_0 = 48, C_1 = 49, C_2 = 50, C_3 = 51, C_4 = 52, C_5 = 53, C_6 = 54, C_7 = 55, C_8 = 56, C_9 = 57, C3a = 58, C3b = 59, C3c = 60, C3d = 61, C3e = 62, C3f = 63, C40 = 64, C_A = 65, C_B = 66, C_C = 67, C_D = 68, C_E = 69, C_F = 70, C_G = 71, C_H = 72, C_I = 73, C_J = 74, C_K = 75, C_L = 76, C_M = 77, C_N = 78, C_O = 79, C_P = 80, C_Q = 81, C_R = 82, C_S = 83, C_T = 84, C_U = 85, C_V = 86, C_W = 87, C_X = 88, C_Y = 89, C_Z = 90, C5b = 91, C5c = 92, C5d = 93, C5e = 94, C5f = 95, C60 = 96, C_a = 97, C_b = 98, C_c = 99, C_d = 100, C_e = 101, C_f = 102, C_g = 103, C_h = 104, C_i = 105, C_j = 106, C_k = 107, C_l = 108, C_m = 109, C_n = 110, C_o = 111, C_p = 112, C_q = 113, C_r = 114, C_s = 115, C_t = 116, C_u = 117, C_v = 118, C_w = 119, C_x = 120, C_y = 121, C_z = 122, C7b = 123, C7c = 124, C7d = 125, C7e = 126, del = 127, c128 = 128, c129 = 129, c130 = 130, c131 = 131, c132 = 132, c133 = 133, c134 = 134, c135 = 135, c136 = 136, c137 = 137, c138 = 138, c139 = 139, c140 = 140, c141 = 141, c142 = 142, c143 = 143, c144 = 144, c145 = 145, c146 = 146, c147 = 147, c148 = 148, c149 = 149, c150 = 150, c151 = 151, c152 = 152, c153 = 153, c154 = 154, c155 = 155, c156 = 156, c157 = 157, c158 = 158, c159 = 159, Ca0 = 160, Ca1 = 161, Ca2 = 162, Ca3 = 163, Ca4 = 164, Ca5 = 165, Ca6 = 166, Ca7 = 167, Ca8 = 168, Ca9 = 169, Caa = 170, Cab = 171, Cac = 172, Cad = 173, Cae = 174, Caf = 175, Cb0 = 176, Cb1 = 177, Cb2 = 178, Cb3 = 179, Cb4 = 180, Cb5 = 181, Cb6 = 182, Cb7 = 183, Cb8 = 184, Cb9 = 185, Cba = 186, Cbb = 187, Cbc = 188, Cbd = 189, Cbe = 190, Cbf = 191, Cc0 = 192, Cc1 = 193, Cc2 = 194, Cc3 = 195, Cc4 = 196, Cc5 = 197, Cc6 = 198, Cc7 = 199, Cc8 = 200, Cc9 = 201, Cca = 202, Ccb = 203, Ccc = 204, Ccd = 205, Cce = 206, Ccf = 207, Cd0 = 208, Cd1 = 209, Cd2 = 210, Cd3 = 211, Cd4 = 212, Cd5 = 213, Cd6 = 214, Cd7 = 215, Cd8 = 216, Cd9 = 217, Cda = 218, Cdb = 219, Cdc = 220, Cdd = 221, Cde = 222, Cdf = 223, Ce0 = 224, Ce1 = 225, Ce2 = 226, Ce3 = 227, Ce4 = 228, Ce5 = 229, Ce6 = 230, Ce7 = 231, Ce8 = 232, Ce9 = 233, Cea = 234, Ceb = 235, Cec = 236, Ced = 237, Cee = 238, Cef = 239, Cf0 = 240, Cf1 = 241, Cf2 = 242, Cf3 = 243, Cf4 = 244, Cf5 = 245, Cf6 = 246, Cf7 = 247, Cf8 = 248, Cf9 = 249, Cfa = 250, Cfb = 251, Cfc = 252, Cfd = 253, Cfe = 254, Cff = 255}; type std__standard__character__PTR is access std__standard__character; type std__standard__character__SIG is access std__standard__character; type std__standard__character__TRT is record left: std__standard__character; right: std__standard__character; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__character__TRPTR is access std__standard__character__TRT; external constant std__standard__character__BTR : std__standard__character__TRT ; type std__standard__severity_level is enum {note = 0, warning = 1, error = 2, failure = 3}; type std__standard__severity_level__PTR is access std__standard__severity_level ; type std__standard__severity_level__SIG is access std__standard__severity_level ; type std__standard__severity_level__TRT is record left: std__standard__severity_level; right: std__standard__severity_level; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__severity_level__TRPTR is access std__standard__severity_level__TRT; external constant std__standard__severity_level__BTR : std__standard__severity_level__TRT; type std__standard__UNIVERSAL_INTEGER__BT is signed (32); type std__standard__UNIVERSAL_INTEGER__BT__PTR is access std__standard__UNIVERSAL_INTEGER__BT; type std__standard__UNIVERSAL_INTEGER__BT__SIG is access std__standard__UNIVERSAL_INTEGER__BT; type std__standard__UNIVERSAL_INTEGER__BT__TRT is record left: std__standard__UNIVERSAL_INTEGER__BT; right: std__standard__UNIVERSAL_INTEGER__BT; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__UNIVERSAL_INTEGER__BT__TRPTR is access std__standard__UNIVERSAL_INTEGER__BT__TRT; external constant std__standard__UNIVERSAL_INTEGER__STR : std__standard__UNIVERSAL_INTEGER__BT__TRT; type std__standard__UNIVERSAL_REAL__BT is float; type std__standard__UNIVERSAL_REAL__BT__PTR is access std__standard__UNIVERSAL_REAL__BT; type std__standard__UNIVERSAL_REAL__BT__SIG is access std__standard__UNIVERSAL_REAL__BT; type std__standard__UNIVERSAL_REAL__BT__TRT is record left: std__standard__UNIVERSAL_REAL__BT; right: std__standard__UNIVERSAL_REAL__BT; dir: __ghdl_dir_type; end record; type std__standard__UNIVERSAL_REAL__BT__TRPTR is access std__standard__UNIVERSAL_REAL__BT__TRT; external constant std__standard__UNIVERSAL_REAL__STR : std__standard__UNIVERSAL_REAL__BT__TRT; type std__standard__CONVERTIBLE_INTEGER__BT is signed (32); type std__standard__CONVERTIBLE_INTEGER__BT__PTR is access std__standard__CONVERTIBLE_INTEGER__BT; type std__standard__CONVERTIBLE_INTEGER__BT__SIG is access std__standard__CONVERTIBLE_INTEGER__BT; type std__standard__CONVERTIBLE_INTEGER__BT__TRT is record left: std__standard__CONVERTIBLE_INTEGER__BT; right: std__standard__CONVERTIBLE_INTEGER__BT; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__CONVERTIBLE_INTEGER__BT__TRPTR is access std__standard__CONVERTIBLE_INTEGER__BT__TRT; type std__standard__CONVERTIBLE_REAL__BT is float; type std__standard__CONVERTIBLE_REAL__BT__PTR is access std__standard__CONVERTIBLE_REAL__BT; type std__standard__CONVERTIBLE_REAL__BT__SIG is access std__standard__CONVERTIBLE_REAL__BT; type std__standard__CONVERTIBLE_REAL__BT__TRT is record left: std__standard__CONVERTIBLE_REAL__BT; right: std__standard__CONVERTIBLE_REAL__BT; dir: __ghdl_dir_type; end record; type std__standard__CONVERTIBLE_REAL__BT__TRPTR is access std__standard__CONVERTIBLE_REAL__BT__TRT; type std__standard__real__BT is float; type std__standard__real__BT__PTR is access std__standard__real__BT; type std__standard__real__BT__SIG is access std__standard__real__BT; type std__standard__real__BT__TRT is record left: std__standard__real__BT; right: std__standard__real__BT; dir: __ghdl_dir_type; end record; type std__standard__real__BT__TRPTR is access std__standard__real__BT__TRT; external constant std__standard__real__STR : std__standard__real__BT__TRT; type std__standard__integer__BT is signed (32); type std__standard__integer__BT__PTR is access std__standard__integer__BT; type std__standard__integer__BT__SIG is access std__standard__integer__BT; type std__standard__integer__BT__TRT is record left: std__standard__integer__BT; right: std__standard__integer__BT; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__integer__BT__TRPTR is access std__standard__integer__BT__TRT; external constant std__standard__integer__STR : std__standard__integer__BT__TRT ; external constant std__standard__natural__STR : std__standard__integer__BT__TRT ; external constant std__standard__positive__STR : std__standard__integer__BT__TRT; type std__standard__string__BASE is array [__ghdl_index_type] of std__standard__character; type std__standard__string__BASEP is access std__standard__string__BASE; type std__standard__string__SIGBASE is array [__ghdl_index_type] of std__standard__character__SIG; type std__standard__string__SIGBASEP is access std__standard__string__SIGBASE; type std__standard__string__BOUND is record dim_1: std__standard__integer__BT__TRT; end record; type std__standard__string__BOUNDP is access std__standard__string__BOUND; type std__standard__string is record BASE: std__standard__string__BASEP; BOUNDS: std__standard__string__BOUNDP; end record; type std__standard__string__PTR is access std__standard__string; type std__standard__string__SIG is record BASE: std__standard__string__SIGBASEP; BOUNDS: std__standard__string__BOUNDP; end record; type std__standard__string__SIGPTR is access std__standard__string__SIG; external constant std__standard__string__BR1 : std__standard__string__BOUND; external function std__standard__string_EQ ( left: std__standard__string__PTR; right: std__standard__string__PTR) return std__standard__boolean; external function std__standard__string_CMP ( left: std__standard__string__PTR; right: std__standard__string__PTR) return __ghdl_compare_type; external procedure std__standard__string_CONCAT ( res: std__standard__string__PTR; left: std__standard__string__PTR; right: std__standard__string__PTR); type std__standard__bit_vector__BASE is array [__ghdl_index_type] of std__standard__bit; type std__standard__bit_vector__BASEP is access std__standard__bit_vector__BASE ; type std__standard__bit_vector__SIGBASE is array [__ghdl_index_type] of std__standard__bit__SIG; type std__standard__bit_vector__SIGBASEP is access std__standard__bit_vector__SIGBASE; type std__standard__bit_vector__BOUND is record dim_1: std__standard__integer__BT__TRT; end record; type std__standard__bit_vector__BOUNDP is access std__standard__bit_vector__BOUND; type std__standard__bit_vector is record BASE: std__standard__bit_vector__BASEP; BOUNDS: std__standard__bit_vector__BOUNDP; end record; type std__standard__bit_vector__PTR is access std__standard__bit_vector; type std__standard__bit_vector__SIG is record BASE: std__standard__bit_vector__SIGBASEP; BOUNDS: std__standard__bit_vector__BOUNDP; end record; type std__standard__bit_vector__SIGPTR is access std__standard__bit_vector__SIG ; external constant std__standard__bit_vector__BR1 : std__standard__bit_vector__BOUND; external function std__standard__bit_vector_EQ ( left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR) return std__standard__boolean; external function std__standard__bit_vector_CMP ( left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR) return __ghdl_compare_type; external procedure std__standard__bit_vector_CONCAT ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); external procedure std__standard__bit_vector_NOT ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR); external procedure std__standard__bit_vector_AND ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); external procedure std__standard__bit_vector_OR ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); external procedure std__standard__bit_vector_NAND ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); external procedure std__standard__bit_vector_NOR ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); external procedure std__standard__bit_vector_XOR ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); external procedure std__standard__bit_vector_XNOR ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); external procedure std__standard__bit_vector_SHL ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__integer__BT); external procedure std__standard__bit_vector_SHA ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__integer__BT); external procedure std__standard__bit_vector_ROT ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__integer__BT); type std__standard__time__BT is signed (64); type std__standard__time__BT__PTR is access std__standard__time__BT; type std__standard__time__BT__SIG is access std__standard__time__BT; type std__standard__time__BT__TRT is record left: std__standard__time__BT; right: std__standard__time__BT; dir: __ghdl_dir_type; end record; type std__standard__time__BT__TRPTR is access std__standard__time__BT__TRT; external constant std__standard__time__STR : std__standard__time__BT__TRT; external constant std__standard__delay_length__STR : std__standard__time__BT__TRT; type std__standard__file_open_kind is enum {read_mode = 0, write_mode = 1, append_mode = 2}; type std__standard__file_open_kind__PTR is access std__standard__file_open_kind ; type std__standard__file_open_kind__SIG is access std__standard__file_open_kind ; type std__standard__file_open_kind__TRT is record left: std__standard__file_open_kind; right: std__standard__file_open_kind; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__file_open_kind__TRPTR is access std__standard__file_open_kind__TRT; external constant std__standard__file_open_kind__BTR : std__standard__file_open_kind__TRT; type std__standard__file_open_status is enum {open_ok = 0, status_error = 1, name_error = 2, mode_error = 3}; type std__standard__file_open_status__PTR is access std__standard__file_open_status; type std__standard__file_open_status__SIG is access std__standard__file_open_status; type std__standard__file_open_status__TRT is record left: std__standard__file_open_status; right: std__standard__file_open_status; dir: __ghdl_dir_type; length: __ghdl_index_type; end record; type std__standard__file_open_status__TRPTR is access std__standard__file_open_status__TRT; external constant std__standard__file_open_status__BTR : std__standard__file_open_status__TRT; external constant std__standard__RTI : __ghdl_rtin_block; external constant std__standard__boolean__RTI : __ghdl_rtin_type_enum; external constant std__standard__bit__RTI : __ghdl_rtin_type_enum; external constant std__standard__character__RTI : __ghdl_rtin_type_enum; external constant std__standard__severity_level__RTI : __ghdl_rtin_type_enum; external constant std__standard__UNIVERSAL_INTEGER__BT__RTI : __ghdl_rtin_type_scalar; external constant std__standard__UNIVERSAL_INTEGER__RTI : __ghdl_rtin_subtype_scalar; external constant std__standard__UNIVERSAL_REAL__BT__RTI : __ghdl_rtin_type_scalar; external constant std__standard__UNIVERSAL_REAL__RTI : __ghdl_rtin_subtype_scalar; external constant std__standard__integer__BT__RTI : __ghdl_rtin_type_scalar; external constant std__standard__integer__RTI : __ghdl_rtin_subtype_scalar; external constant std__standard__real__BT__RTI : __ghdl_rtin_type_scalar; external constant std__standard__real__RTI : __ghdl_rtin_subtype_scalar; external constant std__standard__natural__RTI : __ghdl_rtin_subtype_scalar; external constant std__standard__positive__RTI : __ghdl_rtin_subtype_scalar; external constant std__standard__string__RTI : __ghdl_rtin_type_array; external constant std__standard__bit_vector__RTI : __ghdl_rtin_type_array; external constant std__standard__time__BT__RTI : __ghdl_rtin_type_physical; external constant std__standard__time__RTI : __ghdl_rtin_subtype_scalar; external constant std__standard__delay_length__RTI : __ghdl_rtin_subtype_scalar ; external constant std__standard__file_open_kind__RTI : __ghdl_rtin_type_enum; external constant std__standard__file_open_status__RTI : __ghdl_rtin_type_enum; external constant std__standard__foreign__RTI : __ghdl_rtin_object; type __ghdl_std_ulogic_boolean_array_type is subarray std__standard__BOOLEAN_ARRAY[__ghdl_index_type'[9]]; external constant __ghdl_std_ulogic_to_boolean_array : __ghdl_std_ulogic_boolean_array_type; -- internal declarations, part 2 external var __ghdl_now : std__standard__time__BT; external procedure __ghdl_assert_failed ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr; unit: __ghdl_rti_access); external procedure __ghdl_psl_assert_failed ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr; unit: __ghdl_rti_access); external procedure __ghdl_report ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr; unit: __ghdl_rti_access); external var __ghdl_assert_default_report : std__standard__string; external procedure __ghdl_text_write ( file: __ghdl_file_index; str: std__standard__string__PTR); external function __ghdl_text_read_length ( file: __ghdl_file_index; str: std__standard__string__PTR) return std__standard__integer__BT; external procedure __ghdl_write_scalar ( file: __ghdl_file_index; ptr: __ghdl_ptr; length: __ghdl_index_type); external procedure __ghdl_read_scalar ( file: __ghdl_file_index; ptr: __ghdl_ptr; length: __ghdl_index_type); external function __ghdl_real_exp ( left: std__standard__real__BT; right: std__standard__integer__BT) return std__standard__real__BT; external function __ghdl_integer_exp ( left: std__standard__integer__BT; right: std__standard__integer__BT) return std__standard__integer__BT; external procedure __ghdl_image_b2 ( res: std__standard__string__PTR; val: __ghdl_bool_type; rti: __ghdl_rti_access); external function __ghdl_value_b2 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) return __ghdl_bool_type; external procedure __ghdl_image_e8 ( res: std__standard__string__PTR; val: __ghdl_i32; rti: __ghdl_rti_access); external function __ghdl_value_e8 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) return __ghdl_i32; external procedure __ghdl_image_e32 ( res: std__standard__string__PTR; val: __ghdl_i32; rti: __ghdl_rti_access); external function __ghdl_value_e32 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) return __ghdl_i32; external procedure __ghdl_image_i32 ( res: std__standard__string__PTR; val: __ghdl_i32); external function __ghdl_value_i32 ( val: std__standard__string__PTR) return __ghdl_i32; external procedure __ghdl_image_p32 ( res: std__standard__string__PTR; val: __ghdl_i32; rti: __ghdl_rti_access); external function __ghdl_value_p32 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) return __ghdl_i32; external procedure __ghdl_image_p64 ( res: std__standard__string__PTR; val: __ghdl_i64; rti: __ghdl_rti_access); external function __ghdl_value_p64 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) return __ghdl_i64; external procedure __ghdl_image_f64 ( res: std__standard__string__PTR; val: __ghdl_real); external function __ghdl_value_f64 ( val: std__standard__string__PTR) return __ghdl_real; external procedure __ghdl_text_file_open ( file: __ghdl_file_index; mode: __ghdl_i32; str: std__standard__string__PTR); external procedure __ghdl_file_open ( file: __ghdl_file_index; mode: __ghdl_i32; str: std__standard__string__PTR); external function __ghdl_text_file_open_status ( file: __ghdl_file_index; mode: __ghdl_i32; str: std__standard__string__PTR) return __ghdl_i32; external function __ghdl_file_open_status ( file: __ghdl_file_index; mode: __ghdl_i32; str: std__standard__string__PTR) return __ghdl_i32; external function __ghdl_file_endfile ( file: __ghdl_file_index) return std__standard__boolean; external procedure __ghdl_text_file_close ( file: __ghdl_file_index); external procedure __ghdl_file_close ( file: __ghdl_file_index); external procedure __ghdl_signal_create_resolution ( func: __ghdl_ptr; INSTANCE: __ghdl_ptr; sig: __ghdl_ptr; nbr_sig: __ghdl_index_type); type __ghdl_scalar_bytes is subarray __ghdl_chararray[__ghdl_index_type'[8]]; type __ghdl_signal_ptr is access; type __ghdl_signal is record value: __ghdl_scalar_bytes; driving_value: __ghdl_scalar_bytes; last_value: __ghdl_scalar_bytes; last_event: std__standard__time__BT; last_active: std__standard__time__BT; active_chain: __ghdl_signal_ptr; event: std__standard__boolean; active: std__standard__boolean; has_active: __ghdl_bool_type; end record; type __ghdl_signal_ptr is access __ghdl_signal; type __ghdl_signal_ptr_ptr is access __ghdl_signal_ptr; external var __ghdl_signal_active_chain : __ghdl_signal_ptr; external procedure __ghdl_signal_merge_rti ( sig: __ghdl_signal_ptr; RTI: __ghdl_rti_access); external procedure __ghdl_signal_add_source ( targ: __ghdl_signal_ptr; src: __ghdl_signal_ptr); external procedure __ghdl_signal_effective_value ( targ: __ghdl_signal_ptr; src: __ghdl_signal_ptr); external procedure __ghdl_signal_set_disconnect ( sig: __ghdl_signal_ptr; time: std__standard__time__BT); external procedure __ghdl_signal_disconnect ( sig: __ghdl_signal_ptr); external function __ghdl_signal_get_nbr_drivers ( sig: __ghdl_signal_ptr) return __ghdl_index_type; external function __ghdl_signal_get_nbr_ports ( sig: __ghdl_signal_ptr) return __ghdl_index_type; external function __ghdl_signal_read_driver ( sig: __ghdl_signal_ptr; num: __ghdl_index_type) return __ghdl_ptr; external function __ghdl_signal_read_port ( sig: __ghdl_signal_ptr; num: __ghdl_index_type) return __ghdl_ptr; external function __ghdl_signal_driving ( sig: __ghdl_signal_ptr) return std__standard__boolean; external procedure __ghdl_signal_simple_assign_error ( sig: __ghdl_signal_ptr; filename: __ghdl_char_ptr; line: __ghdl_i32); external procedure __ghdl_signal_start_assign_error ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; after: std__standard__time__BT; filename: __ghdl_char_ptr; line: __ghdl_i32); external procedure __ghdl_signal_next_assign_error ( sig: __ghdl_signal_ptr; after: std__standard__time__BT; filename: __ghdl_char_ptr; line: __ghdl_i32); external procedure __ghdl_signal_start_assign_null ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; after: std__standard__time__BT); external procedure __ghdl_signal_next_assign_null ( sig: __ghdl_signal_ptr; after: std__standard__time__BT); external function __ghdl_create_signal_e8 ( init_val: __ghdl_i32; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) return __ghdl_signal_ptr; external procedure __ghdl_signal_init_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external procedure __ghdl_signal_simple_assign_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external procedure __ghdl_signal_start_assign_e8 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_i32; after: std__standard__time__BT); external procedure __ghdl_signal_next_assign_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32; after: std__standard__time__BT); external procedure __ghdl_signal_associate_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external function __ghdl_signal_driving_value_e8 ( sig: __ghdl_signal_ptr) return __ghdl_i32; external function __ghdl_create_signal_e32 ( init_val: __ghdl_i32; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) return __ghdl_signal_ptr; external procedure __ghdl_signal_init_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external procedure __ghdl_signal_simple_assign_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external procedure __ghdl_signal_start_assign_e32 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_i32; after: std__standard__time__BT); external procedure __ghdl_signal_next_assign_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32; after: std__standard__time__BT); external procedure __ghdl_signal_associate_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external function __ghdl_signal_driving_value_e32 ( sig: __ghdl_signal_ptr) return __ghdl_i32; external function __ghdl_create_signal_b2 ( init_val: __ghdl_bool_type; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) return __ghdl_signal_ptr; external procedure __ghdl_signal_init_b2 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type); external procedure __ghdl_signal_simple_assign_b2 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type); external procedure __ghdl_signal_start_assign_b2 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_bool_type; after: std__standard__time__BT); external procedure __ghdl_signal_next_assign_b2 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type; after: std__standard__time__BT); external procedure __ghdl_signal_associate_b2 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type); external function __ghdl_signal_driving_value_b2 ( sig: __ghdl_signal_ptr) return __ghdl_bool_type; external function __ghdl_create_signal_i32 ( init_val: __ghdl_i32; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) return __ghdl_signal_ptr; external procedure __ghdl_signal_init_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external procedure __ghdl_signal_simple_assign_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external procedure __ghdl_signal_start_assign_i32 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_i32; after: std__standard__time__BT); external procedure __ghdl_signal_next_assign_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32; after: std__standard__time__BT); external procedure __ghdl_signal_associate_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); external function __ghdl_signal_driving_value_i32 ( sig: __ghdl_signal_ptr) return __ghdl_i32; external function __ghdl_create_signal_f64 ( init_val: __ghdl_real; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) return __ghdl_signal_ptr; external procedure __ghdl_signal_init_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real); external procedure __ghdl_signal_simple_assign_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real); external procedure __ghdl_signal_start_assign_f64 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_real; after: std__standard__time__BT); external procedure __ghdl_signal_next_assign_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real; after: std__standard__time__BT); external procedure __ghdl_signal_associate_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real); external function __ghdl_signal_driving_value_f64 ( sig: __ghdl_signal_ptr) return __ghdl_real; external function __ghdl_create_signal_i64 ( init_val: __ghdl_i64; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) return __ghdl_signal_ptr; external procedure __ghdl_signal_init_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64); external procedure __ghdl_signal_simple_assign_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64); external procedure __ghdl_signal_start_assign_i64 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_i64; after: std__standard__time__BT); external procedure __ghdl_signal_next_assign_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64; after: std__standard__time__BT); external procedure __ghdl_signal_associate_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64); external function __ghdl_signal_driving_value_i64 ( sig: __ghdl_signal_ptr) return __ghdl_i64; external procedure __ghdl_process_add_sensitivity ( sig: __ghdl_signal_ptr); external procedure __ghdl_process_add_driver ( sig: __ghdl_signal_ptr); external procedure __ghdl_signal_direct_driver ( sig: __ghdl_signal_ptr; drv: __ghdl_ptr); external procedure __ghdl_signal_in_conversion ( func: __ghdl_ptr; INSTANCE: __ghdl_ptr; src: __ghdl_signal_ptr; src_len: __ghdl_index_type; dst: __ghdl_signal_ptr; dst_len: __ghdl_index_type); external procedure __ghdl_signal_out_conversion ( func: __ghdl_ptr; INSTANCE: __ghdl_ptr; src: __ghdl_signal_ptr; src_len: __ghdl_index_type; dst: __ghdl_signal_ptr; dst_len: __ghdl_index_type); external function __ghdl_create_stable_signal ( val: std__standard__time__BT) return __ghdl_signal_ptr; external function __ghdl_create_quiet_signal ( val: std__standard__time__BT) return __ghdl_signal_ptr; external function __ghdl_create_transaction_signal ( ) return __ghdl_signal_ptr; external procedure __ghdl_signal_attribute_register_prefix ( sig: __ghdl_signal_ptr); external function __ghdl_create_delayed_signal ( sig: __ghdl_signal_ptr; val: std__standard__time__BT) return __ghdl_signal_ptr; external function __ghdl_signal_create_guard ( this: __ghdl_ptr; proc: __ghdl_ptr) return __ghdl_signal_ptr; external procedure __ghdl_signal_guard_dependence ( sig: __ghdl_signal_ptr); external procedure __ghdl_process_wait_exit ( ); external procedure __ghdl_process_wait_timeout ( time: std__standard__time__BT); external procedure __ghdl_process_wait_set_timeout ( time: std__standard__time__BT); external procedure __ghdl_process_wait_add_sensitivity ( sig: __ghdl_signal_ptr); external function __ghdl_process_wait_suspend ( ) return __ghdl_bool_type; external procedure __ghdl_process_wait_close ( ); external procedure __ghdl_get_path_name ( res: std__standard__string__PTR; ctxt: __ghdl_rti_access; addr: __ghdl_ptr; name: __ghdl_str_len_ptr); external procedure __ghdl_get_instance_name ( res: std__standard__string__PTR; ctxt: __ghdl_rti_access; addr: __ghdl_ptr; name: __ghdl_str_len_ptr); private constant _UI00000000 : subarray __ghdl_chararray[__ghdl_index_type'[11] ]; constant _UI00000000 := {__ghdl_char'[114], __ghdl_char'[101], __ghdl_char'[112], __ghdl_char'[114], __ghdl_char'[111], __ghdl_char'[46], __ghdl_char'[118], __ghdl_char'[104], __ghdl_char'[100], __ghdl_char'[108], __ghdl_char'[0]}; --F repro.vhdl -- entity repro type work__repro__INSTTYPE is record; type work__repro__INSTPTR is access work__repro__INSTTYPE; type work__repro__INSTTYPE is record RTI: __ghdl_entity_link_type; end record; public procedure work__repro__ELAB ( INSTANCE: work__repro__INSTPTR); external constant work__RTI : __ghdl_rtin_type_scalar; public constant work__repro__RTI : __ghdl_rtin_block; private constant work__repro__RTISTR : subarray __ghdl_chararray[ __ghdl_index_type'[6]]; constant work__repro__RTISTR := {__ghdl_char'[114], __ghdl_char'[101], __ghdl_char'[112], __ghdl_char'[114], __ghdl_char'[111], __ghdl_char'[0]}; private constant work__repro__RTIARRAY : subarray __ghdl_rti_array[ __ghdl_index_type'[1]]; constant work__repro__RTIARRAY := {__ghdl_rti_access'[null]}; constant work__repro__RTI := {.common = {.kind = __ghdl_rtik'[__ghdl_rtik_entity], .depth = __ghdl_rti_depth'[1], .mode = __ghdl_rti_u8'[0], .max_depth = __ghdl_rti_depth'[0]}, .name = __ghdl_char_ptr'address (work__repro__RTISTR), .loc = {.address = __ghdl_ptr'[null]}, .parent = __ghdl_rti_access'unchecked_address (work__RTI), .size = __ghdl_index_type'sizeof (work__repro__INSTTYPE), .nbr_child = __ghdl_index_type'[0], .children = __ghdl_rti_arr_acc'address (work__repro__RTIARRAY)}; public procedure work__repro__ELAB ( INSTANCE: work__repro__INSTPTR) declare begin --# 1 --# 1 end; --F repro.vhdl -- architecture ghdl_bug type work__repro__ARCH__ghdl_bug__INSTTYPE is record; type work__repro__ARCH__ghdl_bug__INSTPTR is access work__repro__ARCH__ghdl_bug__INSTTYPE; type work__repro__ARCH__ghdl_bug__P0__INSTTYPE is record end record; type work__repro__ARCH__ghdl_bug__P1__INSTTYPE is record end record; type work__repro__ARCH__ghdl_bug__P2__INSTTYPE is record end record; type work__repro__ARCH__ghdl_bug__P3__INSTTYPE is record end record; type work__repro__ARCH__ghdl_bug__INSTTYPE is record ENTITY: work__repro__INSTTYPE; P0: work__repro__ARCH__ghdl_bug__P0__INSTTYPE; P1: work__repro__ARCH__ghdl_bug__P1__INSTTYPE; P2: work__repro__ARCH__ghdl_bug__P2__INSTTYPE; P3: work__repro__ARCH__ghdl_bug__P3__INSTTYPE; end record; public constant work__repro__ARCH__ghdl_bug__INSTSIZE : __ghdl_index_type; constant work__repro__ARCH__ghdl_bug__INSTSIZE := __ghdl_index_type'sizeof ( work__repro__ARCH__ghdl_bug__INSTTYPE); public procedure work__repro__ARCH__ghdl_bug__ELAB ( INSTANCE: work__repro__INSTPTR); public constant work__repro__ARCH__ghdl_bug__RTI : __ghdl_rtin_block; public constant work__repro__ARCH__ghdl_bug__P0__RTI : __ghdl_rtin_block; private constant work__repro__ARCH__ghdl_bug__P0__RTISTR : subarray __ghdl_chararray[__ghdl_index_type'[3]]; constant work__repro__ARCH__ghdl_bug__P0__RTISTR := {__ghdl_char'[80], __ghdl_char'[48], __ghdl_char'[0]}; private constant work__repro__ARCH__ghdl_bug__P0__RTIARRAY : subarray __ghdl_rti_array[__ghdl_index_type'[1]]; constant work__repro__ARCH__ghdl_bug__P0__RTIARRAY := {__ghdl_rti_access'[null]}; constant work__repro__ARCH__ghdl_bug__P0__RTI := {.common = {.kind = __ghdl_rtik'[__ghdl_rtik_process], .depth = __ghdl_rti_depth'[2], .mode = __ghdl_rti_u8'[0], .max_depth = __ghdl_rti_depth'[0]}, .name = __ghdl_char_ptr'address (work__repro__ARCH__ghdl_bug__P0__RTISTR), .loc = {.offset = __ghdl_index_type'offsetof ( work__repro__ARCH__ghdl_bug__INSTTYPE.P0)}, .parent = __ghdl_rti_access'unchecked_address ( work__repro__ARCH__ghdl_bug__RTI), .size = __ghdl_index_type'sizeof (work__repro__ARCH__ghdl_bug__P0__INSTTYPE) , .nbr_child = __ghdl_index_type'[0], .children = __ghdl_rti_arr_acc'address ( work__repro__ARCH__ghdl_bug__P0__RTIARRAY)}; public constant work__repro__ARCH__ghdl_bug__P1__RTI : __ghdl_rtin_block; private constant work__repro__ARCH__ghdl_bug__P1__RTISTR : subarray __ghdl_chararray[__ghdl_index_type'[3]]; constant work__repro__ARCH__ghdl_bug__P1__RTISTR := {__ghdl_char'[80], __ghdl_char'[49], __ghdl_char'[0]}; private constant work__repro__ARCH__ghdl_bug__P1__RTIARRAY : subarray __ghdl_rti_array[__ghdl_index_type'[1]]; constant work__repro__ARCH__ghdl_bug__P1__RTIARRAY := {__ghdl_rti_access'[null]}; constant work__repro__ARCH__ghdl_bug__P1__RTI := {.common = {.kind = __ghdl_rtik'[__ghdl_rtik_process], .depth = __ghdl_rti_depth'[2], .mode = __ghdl_rti_u8'[0], .max_depth = __ghdl_rti_depth'[0]}, .name = __ghdl_char_ptr'address (work__repro__ARCH__ghdl_bug__P1__RTISTR), .loc = {.offset = __ghdl_index_type'offsetof ( work__repro__ARCH__ghdl_bug__INSTTYPE.P1)}, .parent = __ghdl_rti_access'unchecked_address ( work__repro__ARCH__ghdl_bug__RTI), .size = __ghdl_index_type'sizeof (work__repro__ARCH__ghdl_bug__P1__INSTTYPE) , .nbr_child = __ghdl_index_type'[0], .children = __ghdl_rti_arr_acc'address ( work__repro__ARCH__ghdl_bug__P1__RTIARRAY)}; public constant work__repro__ARCH__ghdl_bug__P2__RTI : __ghdl_rtin_block; private constant work__repro__ARCH__ghdl_bug__P2__RTISTR : subarray __ghdl_chararray[__ghdl_index_type'[3]]; constant work__repro__ARCH__ghdl_bug__P2__RTISTR := {__ghdl_char'[80], __ghdl_char'[50], __ghdl_char'[0]}; private constant work__repro__ARCH__ghdl_bug__P2__RTIARRAY : subarray __ghdl_rti_array[__ghdl_index_type'[1]]; constant work__repro__ARCH__ghdl_bug__P2__RTIARRAY := {__ghdl_rti_access'[null]}; constant work__repro__ARCH__ghdl_bug__P2__RTI := {.common = {.kind = __ghdl_rtik'[__ghdl_rtik_process], .depth = __ghdl_rti_depth'[2], .mode = __ghdl_rti_u8'[0], .max_depth = __ghdl_rti_depth'[0]}, .name = __ghdl_char_ptr'address (work__repro__ARCH__ghdl_bug__P2__RTISTR), .loc = {.offset = __ghdl_index_type'offsetof ( work__repro__ARCH__ghdl_bug__INSTTYPE.P2)}, .parent = __ghdl_rti_access'unchecked_address ( work__repro__ARCH__ghdl_bug__RTI), .size = __ghdl_index_type'sizeof (work__repro__ARCH__ghdl_bug__P2__INSTTYPE) , .nbr_child = __ghdl_index_type'[0], .children = __ghdl_rti_arr_acc'address ( work__repro__ARCH__ghdl_bug__P2__RTIARRAY)}; public constant work__repro__ARCH__ghdl_bug__P3__RTI : __ghdl_rtin_block; private constant work__repro__ARCH__ghdl_bug__P3__RTISTR : subarray __ghdl_chararray[__ghdl_index_type'[3]]; constant work__repro__ARCH__ghdl_bug__P3__RTISTR := {__ghdl_char'[80], __ghdl_char'[51], __ghdl_char'[0]}; private constant work__repro__ARCH__ghdl_bug__P3__RTIARRAY : subarray __ghdl_rti_array[__ghdl_index_type'[1]]; constant work__repro__ARCH__ghdl_bug__P3__RTIARRAY := {__ghdl_rti_access'[null]}; constant work__repro__ARCH__ghdl_bug__P3__RTI := {.common = {.kind = __ghdl_rtik'[__ghdl_rtik_process], .depth = __ghdl_rti_depth'[2], .mode = __ghdl_rti_u8'[0], .max_depth = __ghdl_rti_depth'[0]}, .name = __ghdl_char_ptr'address (work__repro__ARCH__ghdl_bug__P3__RTISTR), .loc = {.offset = __ghdl_index_type'offsetof ( work__repro__ARCH__ghdl_bug__INSTTYPE.P3)}, .parent = __ghdl_rti_access'unchecked_address ( work__repro__ARCH__ghdl_bug__RTI), .size = __ghdl_index_type'sizeof (work__repro__ARCH__ghdl_bug__P3__INSTTYPE) , .nbr_child = __ghdl_index_type'[0], .children = __ghdl_rti_arr_acc'address ( work__repro__ARCH__ghdl_bug__P3__RTIARRAY)}; private constant work__repro__ARCH__ghdl_bug__RTISTR : subarray __ghdl_chararray[__ghdl_index_type'[9]]; constant work__repro__ARCH__ghdl_bug__RTISTR := {__ghdl_char'[103], __ghdl_char'[104], __ghdl_char'[100], __ghdl_char'[108], __ghdl_char'[95], __ghdl_char'[98], __ghdl_char'[117], __ghdl_char'[103], __ghdl_char'[0]}; private constant work__repro__ARCH__ghdl_bug__RTIARRAY : subarray __ghdl_rti_array[__ghdl_index_type'[5]]; constant work__repro__ARCH__ghdl_bug__RTIARRAY := {__ghdl_rti_access'unchecked_address (work__repro__ARCH__ghdl_bug__P0__RTI), __ghdl_rti_access'unchecked_address (work__repro__ARCH__ghdl_bug__P1__RTI), __ghdl_rti_access'unchecked_address (work__repro__ARCH__ghdl_bug__P2__RTI), __ghdl_rti_access'unchecked_address (work__repro__ARCH__ghdl_bug__P3__RTI), __ghdl_rti_access'[null]}; constant work__repro__ARCH__ghdl_bug__RTI := {.common = {.kind = __ghdl_rtik'[__ghdl_rtik_architecture], .depth = __ghdl_rti_depth'[1], .mode = __ghdl_rti_u8'[0], .max_depth = __ghdl_rti_depth'[0]}, .name = __ghdl_char_ptr'address (work__repro__ARCH__ghdl_bug__RTISTR), .loc = {.offset = __ghdl_index_type'offsetof ( work__repro__ARCH__ghdl_bug__INSTTYPE.ENTITY)}, .parent = __ghdl_rti_access'unchecked_address (work__repro__RTI), .size = __ghdl_index_type'sizeof (work__repro__ARCH__ghdl_bug__INSTTYPE), .nbr_child = __ghdl_index_type'[4], .children = __ghdl_rti_arr_acc'address (work__repro__ARCH__ghdl_bug__RTIARRAY )}; private procedure work__repro__ARCH__ghdl_bug__P0__PROC ( INSTANCE: work__repro__ARCH__ghdl_bug__INSTPTR) declare type work__repro__ARCH__ghdl_bug__P0__U0 is subarray std__standard__bit_vector__BASE[__ghdl_index_type'[5]]; private constant _UI00000001 : work__repro__ARCH__ghdl_bug__P0__U0; constant _UI00000001 := {}; private constant work__repro__ARCH__ghdl_bug__P0__U1__STB : std__standard__bit_vector__BOUND; constant work__repro__ARCH__ghdl_bug__P0__U1__STB := {.dim_1 = {.left = std__standard__integer__BT'[0], .right = std__standard__integer__BT'[4], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[5]}}; begin --# 7 declare local var T0_0 : std__standard__bit_vector; type work__repro__ARCH__ghdl_bug__P0__U2 is subarray std__standard__bit_vector__BASE[__ghdl_index_type'[5]]; private constant _UI00000002 : work__repro__ARCH__ghdl_bug__P0__U2; constant _UI00000002 := {std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_0], std__standard__bit'[C_0]}; private constant work__repro__ARCH__ghdl_bug__P0__U3__STB : std__standard__bit_vector__BOUND; constant work__repro__ARCH__ghdl_bug__P0__U3__STB := {.dim_1 = {.left = std__standard__integer__BT'[0], .right = std__standard__integer__BT'[4], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[5]}}; local var T0_1 : std__standard__bit_vector; private constant _UI00000003 : __ghdl_location; constant _UI00000003 := {.filename = __ghdl_char_ptr'address (_UI00000000), .line = __ghdl_i32'[7], .col = __ghdl_i32'[3]}; type work__repro__ARCH__ghdl_bug__P0__U4 is subarray std__standard__string__BASE[__ghdl_index_type'[16]]; private constant _UI00000004 : work__repro__ARCH__ghdl_bug__P0__U4; constant _UI00000004 := {std__standard__character'[C_r], std__standard__character'[C_o], std__standard__character'[C_r], std__standard__character'[C20], std__standard__character'[C20], std__standard__character'[C_5], std__standard__character'[C20], std__standard__character'[C_i], std__standard__character'[C_s], std__standard__character'[C20], std__standard__character'[C_b], std__standard__character'[C_r], std__standard__character'[C_o], std__standard__character'[C_k], std__standard__character'[C_e], std__standard__character'[C_n]}; private constant work__repro__ARCH__ghdl_bug__P0__U5__STB : std__standard__string__BOUND; constant work__repro__ARCH__ghdl_bug__P0__U5__STB := {.dim_1 = {.left = std__standard__integer__BT'[1], .right = std__standard__integer__BT'[16], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[16]}}; begin T0_0.BASE := std__standard__bit_vector__BASEP'conv ( std__standard__bit_vector__BASEP'address (_UI00000001)); T0_0.BOUNDS := std__standard__bit_vector__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P0__U1__STB); T0_1.BASE := std__standard__bit_vector__BASEP'conv ( std__standard__bit_vector__BASEP'address (_UI00000002)); T0_1.BOUNDS := std__standard__bit_vector__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P0__U3__STB); if not std__standard__bit_vector_EQ (std__standard__bit_vector__PTR 'address (T0_0), std__standard__bit_vector__PTR'address (T0_1)) then declare local var T1_0 : std__standard__string; begin T1_0.BASE := std__standard__string__BASEP'conv ( std__standard__string__BASEP'address (_UI00000004)); T1_0.BOUNDS := std__standard__string__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P0__U5__STB); __ghdl_assert_failed (std__standard__string__PTR'address (T1_0), std__standard__severity_level'[warning], __ghdl_location_ptr 'address (_UI00000003), __ghdl_rti_access'[null]); end; end if; end; end; private procedure work__repro__ARCH__ghdl_bug__P1__PROC ( INSTANCE: work__repro__ARCH__ghdl_bug__INSTPTR) declare type work__repro__ARCH__ghdl_bug__P1__U0 is subarray std__standard__bit_vector__BASE[__ghdl_index_type'[5]]; private constant _UI00000005 : work__repro__ARCH__ghdl_bug__P1__U0; constant _UI00000005 := {std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_0], std__standard__bit'[C_0]}; private constant work__repro__ARCH__ghdl_bug__P1__U1__STB : std__standard__bit_vector__BOUND; constant work__repro__ARCH__ghdl_bug__P1__U1__STB := {.dim_1 = {.left = std__standard__integer__BT'[0], .right = std__standard__integer__BT'[4], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[5]}}; begin --# 8 declare local var T0_0 : std__standard__bit_vector; local var T0_1 : __ghdl_ptr; local var T0_2 : std__standard__bit_vector; type work__repro__ARCH__ghdl_bug__P1__U2 is subarray std__standard__bit_vector__BASE[__ghdl_index_type'[5]]; private constant _UI00000006 : work__repro__ARCH__ghdl_bug__P1__U2; constant _UI00000006 := {std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_0], std__standard__bit'[C_0]}; private constant work__repro__ARCH__ghdl_bug__P1__U3__STB : std__standard__bit_vector__BOUND; constant work__repro__ARCH__ghdl_bug__P1__U3__STB := {.dim_1 = {.left = std__standard__integer__BT'[0], .right = std__standard__integer__BT'[4], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[5]}}; local var T0_3 : std__standard__bit_vector; private constant _UI00000007 : __ghdl_location; constant _UI00000007 := {.filename = __ghdl_char_ptr'address (_UI00000000), .line = __ghdl_i32'[8], .col = __ghdl_i32'[3]}; type work__repro__ARCH__ghdl_bug__P1__U4 is subarray std__standard__string__BASE[__ghdl_index_type'[17]]; private constant _UI00000008 : work__repro__ARCH__ghdl_bug__P1__U4; constant _UI00000008 := {std__standard__character'[C_r], std__standard__character'[C_o], std__standard__character'[C_r], std__standard__character'[C20], std__standard__character'[C20], std__standard__character'[C_5], std__standard__character'[C20], std__standard__character'[C_i], std__standard__character'[C_s], std__standard__character'[C20], std__standard__character'[C_b], std__standard__character'[C_r], std__standard__character'[C_o], std__standard__character'[C_k], std__standard__character'[C_e], std__standard__character'[C_n], std__standard__character'[C20]}; private constant work__repro__ARCH__ghdl_bug__P1__U5__STB : std__standard__string__BOUND; constant work__repro__ARCH__ghdl_bug__P1__U5__STB := {.dim_1 = {.left = std__standard__integer__BT'[1], .right = std__standard__integer__BT'[17], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[17]}}; begin T0_0.BASE := std__standard__bit_vector__BASEP'conv ( std__standard__bit_vector__BASEP'address (_UI00000005)); T0_0.BOUNDS := std__standard__bit_vector__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P1__U1__STB); T0_1 := __ghdl_stack2_mark (); std__standard__bit_vector_ROT (std__standard__bit_vector__PTR'address (T0_2 ), std__standard__bit_vector__PTR'address (T0_0), std__standard__integer__BT'[5]); T0_3.BASE := std__standard__bit_vector__BASEP'conv ( std__standard__bit_vector__BASEP'address (_UI00000006)); T0_3.BOUNDS := std__standard__bit_vector__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P1__U3__STB); if not std__standard__bit_vector_EQ (std__standard__bit_vector__PTR 'address (T0_2), std__standard__bit_vector__PTR'address (T0_3)) then declare local var T1_0 : std__standard__string; begin T1_0.BASE := std__standard__string__BASEP'conv ( std__standard__string__BASEP'address (_UI00000008)); T1_0.BOUNDS := std__standard__string__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P1__U5__STB); __ghdl_assert_failed (std__standard__string__PTR'address (T1_0), std__standard__severity_level'[warning], __ghdl_location_ptr 'address (_UI00000007), __ghdl_rti_access'[null]); end; end if; __ghdl_stack2_release (T0_1); end; end; private procedure work__repro__ARCH__ghdl_bug__P2__PROC ( INSTANCE: work__repro__ARCH__ghdl_bug__INSTPTR) declare type work__repro__ARCH__ghdl_bug__P2__U0 is subarray std__standard__bit_vector__BASE[__ghdl_index_type'[5]]; private constant _UI00000009 : work__repro__ARCH__ghdl_bug__P2__U0; constant _UI00000009 := {}; private constant work__repro__ARCH__ghdl_bug__P2__U1__STB : std__standard__bit_vector__BOUND; constant work__repro__ARCH__ghdl_bug__P2__U1__STB := {.dim_1 = {.left = std__standard__integer__BT'[0], .right = std__standard__integer__BT'[4], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[5]}}; begin --# 10 declare local var T0_0 : std__standard__bit_vector; type work__repro__ARCH__ghdl_bug__P2__U2 is subarray std__standard__bit_vector__BASE[__ghdl_index_type'[5]]; private constant _UI0000000a : work__repro__ARCH__ghdl_bug__P2__U2; constant _UI0000000a := {std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_0], std__standard__bit'[C_0]}; private constant work__repro__ARCH__ghdl_bug__P2__U3__STB : std__standard__bit_vector__BOUND; constant work__repro__ARCH__ghdl_bug__P2__U3__STB := {.dim_1 = {.left = std__standard__integer__BT'[0], .right = std__standard__integer__BT'[4], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[5]}}; local var T0_1 : std__standard__bit_vector; private constant _UI0000000b : __ghdl_location; constant _UI0000000b := {.filename = __ghdl_char_ptr'address (_UI00000000), .line = __ghdl_i32'[10], .col = __ghdl_i32'[3]}; type work__repro__ARCH__ghdl_bug__P2__U4 is subarray std__standard__string__BASE[__ghdl_index_type'[16]]; private constant _UI0000000c : work__repro__ARCH__ghdl_bug__P2__U4; constant _UI0000000c := {std__standard__character'[C_r], std__standard__character'[C_o], std__standard__character'[C_l], std__standard__character'[C20], std__standard__character'[C2d], std__standard__character'[C_5], std__standard__character'[C20], std__standard__character'[C_i], std__standard__character'[C_s], std__standard__character'[C20], std__standard__character'[C_b], std__standard__character'[C_r], std__standard__character'[C_o], std__standard__character'[C_k], std__standard__character'[C_e], std__standard__character'[C_n]}; private constant work__repro__ARCH__ghdl_bug__P2__U5__STB : std__standard__string__BOUND; constant work__repro__ARCH__ghdl_bug__P2__U5__STB := {.dim_1 = {.left = std__standard__integer__BT'[1], .right = std__standard__integer__BT'[16], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[16]}}; begin T0_0.BASE := std__standard__bit_vector__BASEP'conv ( std__standard__bit_vector__BASEP'address (_UI00000009)); T0_0.BOUNDS := std__standard__bit_vector__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P2__U1__STB); T0_1.BASE := std__standard__bit_vector__BASEP'conv ( std__standard__bit_vector__BASEP'address (_UI0000000a)); T0_1.BOUNDS := std__standard__bit_vector__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P2__U3__STB); if not std__standard__bit_vector_EQ (std__standard__bit_vector__PTR 'address (T0_0), std__standard__bit_vector__PTR'address (T0_1)) then declare local var T1_0 : std__standard__string; begin T1_0.BASE := std__standard__string__BASEP'conv ( std__standard__string__BASEP'address (_UI0000000c)); T1_0.BOUNDS := std__standard__string__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P2__U5__STB); __ghdl_assert_failed (std__standard__string__PTR'address (T1_0), std__standard__severity_level'[warning], __ghdl_location_ptr 'address (_UI0000000b), __ghdl_rti_access'[null]); end; end if; end; end; private procedure work__repro__ARCH__ghdl_bug__P3__PROC ( INSTANCE: work__repro__ARCH__ghdl_bug__INSTPTR) declare type work__repro__ARCH__ghdl_bug__P3__U0 is subarray std__standard__bit_vector__BASE[__ghdl_index_type'[5]]; private constant _UI0000000d : work__repro__ARCH__ghdl_bug__P3__U0; constant _UI0000000d := {std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_0], std__standard__bit'[C_0]}; private constant work__repro__ARCH__ghdl_bug__P3__U1__STB : std__standard__bit_vector__BOUND; constant work__repro__ARCH__ghdl_bug__P3__U1__STB := {.dim_1 = {.left = std__standard__integer__BT'[0], .right = std__standard__integer__BT'[4], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[5]}}; begin --# 11 declare local var T0_0 : std__standard__bit_vector; local var T0_1 : __ghdl_ptr; local var T0_2 : std__standard__bit_vector; type work__repro__ARCH__ghdl_bug__P3__U2 is subarray std__standard__bit_vector__BASE[__ghdl_index_type'[5]]; private constant _UI0000000e : work__repro__ARCH__ghdl_bug__P3__U2; constant _UI0000000e := {std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_1], std__standard__bit'[C_0], std__standard__bit'[C_0]}; private constant work__repro__ARCH__ghdl_bug__P3__U3__STB : std__standard__bit_vector__BOUND; constant work__repro__ARCH__ghdl_bug__P3__U3__STB := {.dim_1 = {.left = std__standard__integer__BT'[0], .right = std__standard__integer__BT'[4], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[5]}}; local var T0_3 : std__standard__bit_vector; private constant _UI0000000f : __ghdl_location; constant _UI0000000f := {.filename = __ghdl_char_ptr'address (_UI00000000), .line = __ghdl_i32'[11], .col = __ghdl_i32'[3]}; type work__repro__ARCH__ghdl_bug__P3__U4 is subarray std__standard__string__BASE[__ghdl_index_type'[17]]; private constant _UI00000010 : work__repro__ARCH__ghdl_bug__P3__U4; constant _UI00000010 := {std__standard__character'[C_r], std__standard__character'[C_o], std__standard__character'[C_l], std__standard__character'[C20], std__standard__character'[C2d], std__standard__character'[C_5], std__standard__character'[C20], std__standard__character'[C_i], std__standard__character'[C_s], std__standard__character'[C20], std__standard__character'[C_b], std__standard__character'[C_r], std__standard__character'[C_o], std__standard__character'[C_k], std__standard__character'[C_e], std__standard__character'[C_n], std__standard__character'[C20]}; private constant work__repro__ARCH__ghdl_bug__P3__U5__STB : std__standard__string__BOUND; constant work__repro__ARCH__ghdl_bug__P3__U5__STB := {.dim_1 = {.left = std__standard__integer__BT'[1], .right = std__standard__integer__BT'[17], .dir = __ghdl_dir_type'[dir_to], .length = __ghdl_index_type'[17]}}; begin T0_0.BASE := std__standard__bit_vector__BASEP'conv ( std__standard__bit_vector__BASEP'address (_UI0000000d)); T0_0.BOUNDS := std__standard__bit_vector__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P3__U1__STB); T0_1 := __ghdl_stack2_mark (); std__standard__bit_vector_ROT (std__standard__bit_vector__PTR'address (T0_2 ), std__standard__bit_vector__PTR'address (T0_0), - std__standard__integer__BT'[-5]); T0_3.BASE := std__standard__bit_vector__BASEP'conv ( std__standard__bit_vector__BASEP'address (_UI0000000e)); T0_3.BOUNDS := std__standard__bit_vector__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P3__U3__STB); if not std__standard__bit_vector_EQ (std__standard__bit_vector__PTR 'address (T0_2), std__standard__bit_vector__PTR'address (T0_3)) then declare local var T1_0 : std__standard__string; begin T1_0.BASE := std__standard__string__BASEP'conv ( std__standard__string__BASEP'address (_UI00000010)); T1_0.BOUNDS := std__standard__string__BOUNDP'address ( work__repro__ARCH__ghdl_bug__P3__U5__STB); __ghdl_assert_failed (std__standard__string__PTR'address (T1_0), std__standard__severity_level'[warning], __ghdl_location_ptr 'address (_UI0000000f), __ghdl_rti_access'[null]); end; end if; __ghdl_stack2_release (T0_1); end; end; public procedure work__repro__ARCH__ghdl_bug__ELAB ( INSTANCE: work__repro__INSTPTR) declare local var ARCH_INSTANCE : work__repro__ARCH__ghdl_bug__INSTPTR; begin ARCH_INSTANCE := work__repro__ARCH__ghdl_bug__INSTPTR'conv (INSTANCE); INSTANCE.all.RTI.rti := __ghdl_rti_access'unchecked_address ( work__repro__ARCH__ghdl_bug__RTI); work__repro__ELAB (INSTANCE); --# 4 --# 4 --# 7 __ghdl_sensitized_process_register (__ghdl_ptr'unchecked_address ( ARCH_INSTANCE.all), __ghdl_ptr'subprg_addr ( work__repro__ARCH__ghdl_bug__P0__PROC), __ghdl_rti_access 'unchecked_address (work__repro__ARCH__ghdl_bug__P0__RTI), __ghdl_ptr 'unchecked_address (ARCH_INSTANCE.all.P0)); --# 8 __ghdl_sensitized_process_register (__ghdl_ptr'unchecked_address ( ARCH_INSTANCE.all), __ghdl_ptr'subprg_addr ( work__repro__ARCH__ghdl_bug__P1__PROC), __ghdl_rti_access 'unchecked_address (work__repro__ARCH__ghdl_bug__P1__RTI), __ghdl_ptr 'unchecked_address (ARCH_INSTANCE.all.P1)); --# 10 __ghdl_sensitized_process_register (__ghdl_ptr'unchecked_address ( ARCH_INSTANCE.all), __ghdl_ptr'subprg_addr ( work__repro__ARCH__ghdl_bug__P2__PROC), __ghdl_rti_access 'unchecked_address (work__repro__ARCH__ghdl_bug__P2__RTI), __ghdl_ptr 'unchecked_address (ARCH_INSTANCE.all.P2)); --# 11 __ghdl_sensitized_process_register (__ghdl_ptr'unchecked_address ( ARCH_INSTANCE.all), __ghdl_ptr'subprg_addr ( work__repro__ARCH__ghdl_bug__P3__PROC), __ghdl_rti_access 'unchecked_address (work__repro__ARCH__ghdl_bug__P3__RTI), __ghdl_ptr 'unchecked_address (ARCH_INSTANCE.all.P3)); end;