diff --git a/src/V3EmitCSyms.cpp b/src/V3EmitCSyms.cpp index 8c505b36b..e958cf5a1 100644 --- a/src/V3EmitCSyms.cpp +++ b/src/V3EmitCSyms.cpp @@ -861,12 +861,12 @@ void EmitCSyms::emitDpiHdr() { for (AstCFunc* nodep : m_dpis) { if (nodep->dpiExportWrapper()) { if (!firstExp++) puts("\n// DPI EXPORTS\n"); - puts("// DPI export" + ifNoProtect(" at " + nodep->fileline()->ascii()) + "\n"); + putsDecoration("// DPI export" + ifNoProtect(" at " + nodep->fileline()->ascii()) + "\n"); puts("extern " + nodep->rtnTypeVoid() + " " + nodep->nameProtect() + "(" + cFuncArgs(nodep) + ");\n"); } else if (nodep->dpiImport()) { if (!firstImp++) puts("\n// DPI IMPORTS\n"); - puts("// DPI import" + ifNoProtect(" at " + nodep->fileline()->ascii()) + "\n"); + putsDecoration("// DPI import" + ifNoProtect(" at " + nodep->fileline()->ascii()) + "\n"); puts("extern " + nodep->rtnTypeVoid() + " " + nodep->nameProtect() + "(" + cFuncArgs(nodep) + ");\n"); } diff --git a/test_regress/t/t_dpi_arg_inout_type.pl b/test_regress/t/t_dpi_arg_inout_type.pl index 68d9c487c..c885022e4 100755 --- a/test_regress/t/t_dpi_arg_inout_type.pl +++ b/test_regress/t/t_dpi_arg_inout_type.pl @@ -20,7 +20,8 @@ if ($Self->{nc}) { compile( v_flags2 => ["t/t_dpi_arg_inout_type.cpp"], - verilator_flags2 => ["-Wall -Wno-DECLFILENAME"], + # --no-decoration so .out file doesn't comment on source lines + verilator_flags2 => ["-Wall -Wno-DECLFILENAME --no-decoration"], # NC: Gdd the obj_dir to the C include path nc_flags2 => ["+ncscargs+-I$Self->{obj_dir}"], # ModelSim: Generate DPI header, add obj_dir to the C include path diff --git a/test_regress/t/t_dpi_arg_inout_type__Dpi.out b/test_regress/t/t_dpi_arg_inout_type__Dpi.out index 36221d574..3f0f7e242 100644 --- a/test_regress/t/t_dpi_arg_inout_type__Dpi.out +++ b/test_regress/t/t_dpi_arg_inout_type__Dpi.out @@ -10,278 +10,145 @@ #ifdef __cplusplus extern "C" { #endif - - - // DPI EXPORTS - // DPI export at t/t_dpi_arg_inout_type.v:571:18 - extern void e_array_2_state_1(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:611:18 - extern void e_array_2_state_128(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:579:18 - extern void e_array_2_state_32(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:587:18 - extern void e_array_2_state_33(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:595:18 - extern void e_array_2_state_64(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:603:18 - extern void e_array_2_state_65(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:718:18 - extern void e_array_4_state_1(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:758:18 - extern void e_array_4_state_128(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:726:18 - extern void e_array_4_state_32(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:734:18 - extern void e_array_4_state_33(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:742:18 - extern void e_array_4_state_64(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:750:18 - extern void e_array_4_state_65(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:422:18 - extern void e_bit(svBit* x); - // DPI export at t/t_dpi_arg_inout_type.v:554:18 - extern void e_bit_t(svBit* x); - // DPI export at t/t_dpi_arg_inout_type.v:307:18 - extern void e_byte(char* x); - // DPI export at t/t_dpi_arg_inout_type.v:439:18 - extern void e_byte_t(char* x); - // DPI export at t/t_dpi_arg_inout_type.v:314:18 - extern void e_byte_unsigned(unsigned char* x); - // DPI export at t/t_dpi_arg_inout_type.v:446:18 - extern void e_byte_unsigned_t(unsigned char* x); - // DPI export at t/t_dpi_arg_inout_type.v:397:18 - extern void e_chandle(void** x); - // DPI export at t/t_dpi_arg_inout_type.v:529:18 - extern void e_chandle_t(void** x); - // DPI export at t/t_dpi_arg_inout_type.v:335:18 - extern void e_int(int* x); - // DPI export at t/t_dpi_arg_inout_type.v:467:18 - extern void e_int_t(int* x); - // DPI export at t/t_dpi_arg_inout_type.v:342:18 - extern void e_int_unsigned(unsigned int* x); - // DPI export at t/t_dpi_arg_inout_type.v:474:18 - extern void e_int_unsigned_t(unsigned int* x); - // DPI export at t/t_dpi_arg_inout_type.v:373:18 - extern void e_integer(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:505:18 - extern void e_integer_t(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:430:18 - extern void e_logic(svLogic* x); - // DPI export at t/t_dpi_arg_inout_type.v:562:18 - extern void e_logic_t(svLogic* x); - // DPI export at t/t_dpi_arg_inout_type.v:349:18 - extern void e_longint(long long* x); - // DPI export at t/t_dpi_arg_inout_type.v:481:18 - extern void e_longint_t(long long* x); - // DPI export at t/t_dpi_arg_inout_type.v:356:18 - extern void e_longint_unsigned(unsigned long long* x); - // DPI export at t/t_dpi_arg_inout_type.v:488:18 - extern void e_longint_unsigned_t(unsigned long long* x); - // DPI export at t/t_dpi_arg_inout_type.v:381:18 - extern void e_real(double* x); - // DPI export at t/t_dpi_arg_inout_type.v:513:18 - extern void e_real_t(double* x); - // DPI export at t/t_dpi_arg_inout_type.v:321:18 - extern void e_shortint(short* x); - // DPI export at t/t_dpi_arg_inout_type.v:453:18 - extern void e_shortint_t(short* x); - // DPI export at t/t_dpi_arg_inout_type.v:328:18 - extern void e_shortint_unsigned(unsigned short* x); - // DPI export at t/t_dpi_arg_inout_type.v:460:18 - extern void e_shortint_unsigned_t(unsigned short* x); - // DPI export at t/t_dpi_arg_inout_type.v:409:18 - extern void e_string(const char** x); - // DPI export at t/t_dpi_arg_inout_type.v:541:18 - extern void e_string_t(const char** x); - // DPI export at t/t_dpi_arg_inout_type.v:620:18 - extern void e_struct_2_state_1(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:660:18 - extern void e_struct_2_state_128(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:628:18 - extern void e_struct_2_state_32(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:636:18 - extern void e_struct_2_state_33(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:644:18 - extern void e_struct_2_state_64(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:652:18 - extern void e_struct_2_state_65(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:767:18 - extern void e_struct_4_state_1(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:807:18 - extern void e_struct_4_state_128(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:775:18 - extern void e_struct_4_state_32(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:783:18 - extern void e_struct_4_state_33(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:791:18 - extern void e_struct_4_state_64(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:799:18 - extern void e_struct_4_state_65(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:364:18 - extern void e_time(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:496:18 - extern void e_time_t(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:669:18 - extern void e_union_2_state_1(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:709:18 - extern void e_union_2_state_128(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:677:18 - extern void e_union_2_state_32(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:685:18 - extern void e_union_2_state_33(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:693:18 - extern void e_union_2_state_64(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:701:18 - extern void e_union_2_state_65(svBitVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:816:18 - extern void e_union_4_state_1(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:856:18 - extern void e_union_4_state_128(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:824:18 - extern void e_union_4_state_32(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:832:18 - extern void e_union_4_state_33(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:840:18 - extern void e_union_4_state_64(svLogicVecVal* x); - // DPI export at t/t_dpi_arg_inout_type.v:848:18 - extern void e_union_4_state_65(svLogicVecVal* x); - - // DPI IMPORTS - // DPI import at t/t_dpi_arg_inout_type.v:867:41 - extern void check_exports(); - // DPI import at t/t_dpi_arg_inout_type.v:154:33 - extern void i_array_2_state_1(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:159:33 - extern void i_array_2_state_128(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:155:33 - extern void i_array_2_state_32(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:156:33 - extern void i_array_2_state_33(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:157:33 - extern void i_array_2_state_64(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:158:33 - extern void i_array_2_state_65(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:178:33 - extern void i_array_4_state_1(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:183:33 - extern void i_array_4_state_128(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:179:33 - extern void i_array_4_state_32(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:180:33 - extern void i_array_4_state_33(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:181:33 - extern void i_array_4_state_64(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:182:33 - extern void i_array_4_state_65(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:126:33 - extern void i_bit(svBit* x); - // DPI import at t/t_dpi_arg_inout_type.v:150:33 - extern void i_bit_t(svBit* x); - // DPI import at t/t_dpi_arg_inout_type.v:106:33 - extern void i_byte(char* x); - // DPI import at t/t_dpi_arg_inout_type.v:130:33 - extern void i_byte_t(char* x); - // DPI import at t/t_dpi_arg_inout_type.v:107:33 - extern void i_byte_unsigned(unsigned char* x); - // DPI import at t/t_dpi_arg_inout_type.v:131:33 - extern void i_byte_unsigned_t(unsigned char* x); - // DPI import at t/t_dpi_arg_inout_type.v:124:33 - extern void i_chandle(void** x); - // DPI import at t/t_dpi_arg_inout_type.v:148:33 - extern void i_chandle_t(void** x); - // DPI import at t/t_dpi_arg_inout_type.v:110:33 - extern void i_int(int* x); - // DPI import at t/t_dpi_arg_inout_type.v:134:33 - extern void i_int_t(int* x); - // DPI import at t/t_dpi_arg_inout_type.v:111:33 - extern void i_int_unsigned(unsigned int* x); - // DPI import at t/t_dpi_arg_inout_type.v:135:33 - extern void i_int_unsigned_t(unsigned int* x); - // DPI import at t/t_dpi_arg_inout_type.v:118:33 - extern void i_integer(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:142:33 - extern void i_integer_t(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:127:33 - extern void i_logic(svLogic* x); - // DPI import at t/t_dpi_arg_inout_type.v:151:33 - extern void i_logic_t(svLogic* x); - // DPI import at t/t_dpi_arg_inout_type.v:112:33 - extern void i_longint(long long* x); - // DPI import at t/t_dpi_arg_inout_type.v:136:33 - extern void i_longint_t(long long* x); - // DPI import at t/t_dpi_arg_inout_type.v:113:33 - extern void i_longint_unsigned(unsigned long long* x); - // DPI import at t/t_dpi_arg_inout_type.v:137:33 - extern void i_longint_unsigned_t(unsigned long long* x); - // DPI import at t/t_dpi_arg_inout_type.v:120:33 - extern void i_real(double* x); - // DPI import at t/t_dpi_arg_inout_type.v:144:33 - extern void i_real_t(double* x); - // DPI import at t/t_dpi_arg_inout_type.v:108:33 - extern void i_shortint(short* x); - // DPI import at t/t_dpi_arg_inout_type.v:132:33 - extern void i_shortint_t(short* x); - // DPI import at t/t_dpi_arg_inout_type.v:109:33 - extern void i_shortint_unsigned(unsigned short* x); - // DPI import at t/t_dpi_arg_inout_type.v:133:33 - extern void i_shortint_unsigned_t(unsigned short* x); - // DPI import at t/t_dpi_arg_inout_type.v:125:33 - extern void i_string(const char** x); - // DPI import at t/t_dpi_arg_inout_type.v:149:33 - extern void i_string_t(const char** x); - // DPI import at t/t_dpi_arg_inout_type.v:162:33 - extern void i_struct_2_state_1(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:167:33 - extern void i_struct_2_state_128(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:163:33 - extern void i_struct_2_state_32(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:164:33 - extern void i_struct_2_state_33(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:165:33 - extern void i_struct_2_state_64(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:166:33 - extern void i_struct_2_state_65(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:186:33 - extern void i_struct_4_state_1(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:191:33 - extern void i_struct_4_state_128(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:187:33 - extern void i_struct_4_state_32(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:188:33 - extern void i_struct_4_state_33(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:189:33 - extern void i_struct_4_state_64(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:190:33 - extern void i_struct_4_state_65(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:115:33 - extern void i_time(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:139:33 - extern void i_time_t(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:170:33 - extern void i_union_2_state_1(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:175:33 - extern void i_union_2_state_128(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:171:33 - extern void i_union_2_state_32(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:172:33 - extern void i_union_2_state_33(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:173:33 - extern void i_union_2_state_64(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:174:33 - extern void i_union_2_state_65(svBitVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:194:33 - extern void i_union_4_state_1(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:199:33 - extern void i_union_4_state_128(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:195:33 - extern void i_union_4_state_32(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:196:33 - extern void i_union_4_state_33(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:197:33 - extern void i_union_4_state_64(svLogicVecVal* x); - // DPI import at t/t_dpi_arg_inout_type.v:198:33 - extern void i_union_4_state_65(svLogicVecVal* x); - + + + // DPI EXPORTS + extern void e_array_2_state_1(svBitVecVal* x); + extern void e_array_2_state_128(svBitVecVal* x); + extern void e_array_2_state_32(svBitVecVal* x); + extern void e_array_2_state_33(svBitVecVal* x); + extern void e_array_2_state_64(svBitVecVal* x); + extern void e_array_2_state_65(svBitVecVal* x); + extern void e_array_4_state_1(svLogicVecVal* x); + extern void e_array_4_state_128(svLogicVecVal* x); + extern void e_array_4_state_32(svLogicVecVal* x); + extern void e_array_4_state_33(svLogicVecVal* x); + extern void e_array_4_state_64(svLogicVecVal* x); + extern void e_array_4_state_65(svLogicVecVal* x); + extern void e_bit(svBit* x); + extern void e_bit_t(svBit* x); + extern void e_byte(char* x); + extern void e_byte_t(char* x); + extern void e_byte_unsigned(unsigned char* x); + extern void e_byte_unsigned_t(unsigned char* x); + extern void e_chandle(void** x); + extern void e_chandle_t(void** x); + extern void e_int(int* x); + extern void e_int_t(int* x); + extern void e_int_unsigned(unsigned int* x); + extern void e_int_unsigned_t(unsigned int* x); + extern void e_integer(svLogicVecVal* x); + extern void e_integer_t(svLogicVecVal* x); + extern void e_logic(svLogic* x); + extern void e_logic_t(svLogic* x); + extern void e_longint(long long* x); + extern void e_longint_t(long long* x); + extern void e_longint_unsigned(unsigned long long* x); + extern void e_longint_unsigned_t(unsigned long long* x); + extern void e_real(double* x); + extern void e_real_t(double* x); + extern void e_shortint(short* x); + extern void e_shortint_t(short* x); + extern void e_shortint_unsigned(unsigned short* x); + extern void e_shortint_unsigned_t(unsigned short* x); + extern void e_string(const char** x); + extern void e_string_t(const char** x); + extern void e_struct_2_state_1(svBitVecVal* x); + extern void e_struct_2_state_128(svBitVecVal* x); + extern void e_struct_2_state_32(svBitVecVal* x); + extern void e_struct_2_state_33(svBitVecVal* x); + extern void e_struct_2_state_64(svBitVecVal* x); + extern void e_struct_2_state_65(svBitVecVal* x); + extern void e_struct_4_state_1(svLogicVecVal* x); + extern void e_struct_4_state_128(svLogicVecVal* x); + extern void e_struct_4_state_32(svLogicVecVal* x); + extern void e_struct_4_state_33(svLogicVecVal* x); + extern void e_struct_4_state_64(svLogicVecVal* x); + extern void e_struct_4_state_65(svLogicVecVal* x); + extern void e_time(svLogicVecVal* x); + extern void e_time_t(svLogicVecVal* x); + extern void e_union_2_state_1(svBitVecVal* x); + extern void e_union_2_state_128(svBitVecVal* x); + extern void e_union_2_state_32(svBitVecVal* x); + extern void e_union_2_state_33(svBitVecVal* x); + extern void e_union_2_state_64(svBitVecVal* x); + extern void e_union_2_state_65(svBitVecVal* x); + extern void e_union_4_state_1(svLogicVecVal* x); + extern void e_union_4_state_128(svLogicVecVal* x); + extern void e_union_4_state_32(svLogicVecVal* x); + extern void e_union_4_state_33(svLogicVecVal* x); + extern void e_union_4_state_64(svLogicVecVal* x); + extern void e_union_4_state_65(svLogicVecVal* x); + + // DPI IMPORTS + extern void check_exports(); + extern void i_array_2_state_1(svBitVecVal* x); + extern void i_array_2_state_128(svBitVecVal* x); + extern void i_array_2_state_32(svBitVecVal* x); + extern void i_array_2_state_33(svBitVecVal* x); + extern void i_array_2_state_64(svBitVecVal* x); + extern void i_array_2_state_65(svBitVecVal* x); + extern void i_array_4_state_1(svLogicVecVal* x); + extern void i_array_4_state_128(svLogicVecVal* x); + extern void i_array_4_state_32(svLogicVecVal* x); + extern void i_array_4_state_33(svLogicVecVal* x); + extern void i_array_4_state_64(svLogicVecVal* x); + extern void i_array_4_state_65(svLogicVecVal* x); + extern void i_bit(svBit* x); + extern void i_bit_t(svBit* x); + extern void i_byte(char* x); + extern void i_byte_t(char* x); + extern void i_byte_unsigned(unsigned char* x); + extern void i_byte_unsigned_t(unsigned char* x); + extern void i_chandle(void** x); + extern void i_chandle_t(void** x); + extern void i_int(int* x); + extern void i_int_t(int* x); + extern void i_int_unsigned(unsigned int* x); + extern void i_int_unsigned_t(unsigned int* x); + extern void i_integer(svLogicVecVal* x); + extern void i_integer_t(svLogicVecVal* x); + extern void i_logic(svLogic* x); + extern void i_logic_t(svLogic* x); + extern void i_longint(long long* x); + extern void i_longint_t(long long* x); + extern void i_longint_unsigned(unsigned long long* x); + extern void i_longint_unsigned_t(unsigned long long* x); + extern void i_real(double* x); + extern void i_real_t(double* x); + extern void i_shortint(short* x); + extern void i_shortint_t(short* x); + extern void i_shortint_unsigned(unsigned short* x); + extern void i_shortint_unsigned_t(unsigned short* x); + extern void i_string(const char** x); + extern void i_string_t(const char** x); + extern void i_struct_2_state_1(svBitVecVal* x); + extern void i_struct_2_state_128(svBitVecVal* x); + extern void i_struct_2_state_32(svBitVecVal* x); + extern void i_struct_2_state_33(svBitVecVal* x); + extern void i_struct_2_state_64(svBitVecVal* x); + extern void i_struct_2_state_65(svBitVecVal* x); + extern void i_struct_4_state_1(svLogicVecVal* x); + extern void i_struct_4_state_128(svLogicVecVal* x); + extern void i_struct_4_state_32(svLogicVecVal* x); + extern void i_struct_4_state_33(svLogicVecVal* x); + extern void i_struct_4_state_64(svLogicVecVal* x); + extern void i_struct_4_state_65(svLogicVecVal* x); + extern void i_time(svLogicVecVal* x); + extern void i_time_t(svLogicVecVal* x); + extern void i_union_2_state_1(svBitVecVal* x); + extern void i_union_2_state_128(svBitVecVal* x); + extern void i_union_2_state_32(svBitVecVal* x); + extern void i_union_2_state_33(svBitVecVal* x); + extern void i_union_2_state_64(svBitVecVal* x); + extern void i_union_2_state_65(svBitVecVal* x); + extern void i_union_4_state_1(svLogicVecVal* x); + extern void i_union_4_state_128(svLogicVecVal* x); + extern void i_union_4_state_32(svLogicVecVal* x); + extern void i_union_4_state_33(svLogicVecVal* x); + extern void i_union_4_state_64(svLogicVecVal* x); + extern void i_union_4_state_65(svLogicVecVal* x); + #ifdef __cplusplus } #endif diff --git a/test_regress/t/t_dpi_arg_inout_unpack.pl b/test_regress/t/t_dpi_arg_inout_unpack.pl index 59dfe0252..b46d023f8 100755 --- a/test_regress/t/t_dpi_arg_inout_unpack.pl +++ b/test_regress/t/t_dpi_arg_inout_unpack.pl @@ -20,7 +20,8 @@ if ($Self->{nc}) { compile( v_flags2 => ["t/t_dpi_arg_inout_unpack.cpp"], - verilator_flags2 => ["-Wall -Wno-DECLFILENAME"], + # --no-decoration so .out file doesn't comment on source lines + verilator_flags2 => ["-Wall -Wno-DECLFILENAME --no-decoration"], # NC: Gdd the obj_dir to the C include path nc_flags2 => ["+ncscargs+-I$Self->{obj_dir}"], # ModelSim: Generate DPI header, add obj_dir to the C include path diff --git a/test_regress/t/t_dpi_arg_inout_unpack__Dpi.out b/test_regress/t/t_dpi_arg_inout_unpack__Dpi.out index 280517620..918872073 100644 --- a/test_regress/t/t_dpi_arg_inout_unpack__Dpi.out +++ b/test_regress/t/t_dpi_arg_inout_unpack__Dpi.out @@ -10,336 +10,174 @@ #ifdef __cplusplus extern "C" { #endif - - - // DPI EXPORTS - // DPI export at t/t_dpi_arg_inout_unpack.v:575:18 - extern void e_bit121_0d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:576:18 - extern void e_bit121_1d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:577:18 - extern void e_bit121_2d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:578:18 - extern void e_bit121_3d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:565:18 - extern void e_bit1_0d(svBit* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:566:18 - extern void e_bit1_1d(svBit* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:567:18 - extern void e_bit1_2d(svBit* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:568:18 - extern void e_bit1_3d(svBit* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:570:18 - extern void e_bit7_0d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:571:18 - extern void e_bit7_1d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:572:18 - extern void e_bit7_2d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:573:18 - extern void e_bit7_3d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:436:18 - extern void e_byte_0d(char* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:437:18 - extern void e_byte_1d(char* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:438:18 - extern void e_byte_2d(char* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:439:18 - extern void e_byte_3d(char* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:441:18 - extern void e_byte_unsigned_0d(unsigned char* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:442:18 - extern void e_byte_unsigned_1d(unsigned char* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:443:18 - extern void e_byte_unsigned_2d(unsigned char* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:444:18 - extern void e_byte_unsigned_3d(unsigned char* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:506:18 - extern void e_chandle_0d(void** val); - // DPI export at t/t_dpi_arg_inout_unpack.v:510:18 - extern void e_chandle_1d(void** val); - // DPI export at t/t_dpi_arg_inout_unpack.v:516:18 - extern void e_chandle_2d(void** val); - // DPI export at t/t_dpi_arg_inout_unpack.v:524:18 - extern void e_chandle_3d(void** val); - // DPI export at t/t_dpi_arg_inout_unpack.v:457:18 - extern void e_int_0d(int* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:458:18 - extern void e_int_1d(int* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:459:18 - extern void e_int_2d(int* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:460:18 - extern void e_int_3d(int* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:462:18 - extern void e_int_unsigned_0d(unsigned int* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:463:18 - extern void e_int_unsigned_1d(unsigned int* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:464:18 - extern void e_int_unsigned_2d(unsigned int* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:465:18 - extern void e_int_unsigned_3d(unsigned int* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:487:18 - extern void e_integer_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:488:18 - extern void e_integer_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:489:18 - extern void e_integer_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:490:18 - extern void e_integer_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:590:18 - extern void e_logic121_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:591:18 - extern void e_logic121_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:592:18 - extern void e_logic121_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:593:18 - extern void e_logic121_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:580:18 - extern void e_logic1_0d(svLogic* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:581:18 - extern void e_logic1_1d(svLogic* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:582:18 - extern void e_logic1_2d(svLogic* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:583:18 - extern void e_logic1_3d(svLogic* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:585:18 - extern void e_logic7_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:586:18 - extern void e_logic7_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:587:18 - extern void e_logic7_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:588:18 - extern void e_logic7_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:469:18 - extern void e_longint_0d(long long* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:470:18 - extern void e_longint_1d(long long* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:471:18 - extern void e_longint_2d(long long* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:472:18 - extern void e_longint_3d(long long* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:474:18 - extern void e_longint_unsigned_0d(unsigned long long* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:475:18 - extern void e_longint_unsigned_1d(unsigned long long* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:476:18 - extern void e_longint_unsigned_2d(unsigned long long* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:477:18 - extern void e_longint_unsigned_3d(unsigned long long* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:595:18 - extern void e_pack_struct_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:596:18 - extern void e_pack_struct_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:597:18 - extern void e_pack_struct_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:598:18 - extern void e_pack_struct_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:493:18 - extern void e_real_0d(double* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:494:18 - extern void e_real_1d(double* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:495:18 - extern void e_real_2d(double* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:496:18 - extern void e_real_3d(double* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:446:18 - extern void e_shortint_0d(short* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:447:18 - extern void e_shortint_1d(short* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:448:18 - extern void e_shortint_2d(short* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:449:18 - extern void e_shortint_3d(short* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:451:18 - extern void e_shortint_unsigned_0d(unsigned short* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:452:18 - extern void e_shortint_unsigned_1d(unsigned short* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:453:18 - extern void e_shortint_unsigned_2d(unsigned short* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:454:18 - extern void e_shortint_unsigned_3d(unsigned short* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:536:18 - extern void e_string_0d(const char** val); - // DPI export at t/t_dpi_arg_inout_unpack.v:540:18 - extern void e_string_1d(const char** val); - // DPI export at t/t_dpi_arg_inout_unpack.v:546:18 - extern void e_string_2d(const char** val); - // DPI export at t/t_dpi_arg_inout_unpack.v:554:18 - extern void e_string_3d(const char** val); - // DPI export at t/t_dpi_arg_inout_unpack.v:480:18 - extern void e_time_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:481:18 - extern void e_time_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:482:18 - extern void e_time_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_inout_unpack.v:483:18 - extern void e_time_3d(svLogicVecVal* val); - - // DPI IMPORTS - // DPI import at t/t_dpi_arg_inout_unpack.v:635:41 - extern void check_exports(); - // DPI import at t/t_dpi_arg_inout_unpack.v:192:36 - extern void* get_non_null(); - // DPI import at t/t_dpi_arg_inout_unpack.v:280:33 - extern void i_bit121_0d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:281:33 - extern void i_bit121_1d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:282:33 - extern void i_bit121_2d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:283:33 - extern void i_bit121_3d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:270:33 - extern void i_bit1_0d(svBit* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:271:33 - extern void i_bit1_1d(svBit* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:272:33 - extern void i_bit1_2d(svBit* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:273:33 - extern void i_bit1_3d(svBit* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:275:33 - extern void i_bit7_0d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:276:33 - extern void i_bit7_1d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:277:33 - extern void i_bit7_2d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:278:33 - extern void i_bit7_3d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:194:33 - extern void i_byte_0d(char* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:195:33 - extern void i_byte_1d(char* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:196:33 - extern void i_byte_2d(char* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:197:33 - extern void i_byte_3d(char* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:199:33 - extern void i_byte_unsigned_0d(unsigned char* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:200:33 - extern void i_byte_unsigned_1d(unsigned char* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:201:33 - extern void i_byte_unsigned_2d(unsigned char* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:202:33 - extern void i_byte_unsigned_3d(unsigned char* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:260:33 - extern void i_chandle_0d(void** val); - // DPI import at t/t_dpi_arg_inout_unpack.v:261:33 - extern void i_chandle_1d(void** val); - // DPI import at t/t_dpi_arg_inout_unpack.v:262:33 - extern void i_chandle_2d(void** val); - // DPI import at t/t_dpi_arg_inout_unpack.v:263:33 - extern void i_chandle_3d(void** val); - // DPI import at t/t_dpi_arg_inout_unpack.v:214:33 - extern void i_int_0d(int* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:215:33 - extern void i_int_1d(int* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:216:33 - extern void i_int_2d(int* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:217:33 - extern void i_int_3d(int* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:219:33 - extern void i_int_unsigned_0d(unsigned int* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:220:33 - extern void i_int_unsigned_1d(unsigned int* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:221:33 - extern void i_int_unsigned_2d(unsigned int* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:222:33 - extern void i_int_unsigned_3d(unsigned int* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:242:33 - extern void i_integer_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:243:33 - extern void i_integer_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:244:33 - extern void i_integer_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:245:33 - extern void i_integer_3d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:295:33 - extern void i_logic121_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:296:33 - extern void i_logic121_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:297:33 - extern void i_logic121_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:298:33 - extern void i_logic121_3d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:285:33 - extern void i_logic1_0d(svLogic* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:286:33 - extern void i_logic1_1d(svLogic* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:287:33 - extern void i_logic1_2d(svLogic* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:288:33 - extern void i_logic1_3d(svLogic* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:290:33 - extern void i_logic7_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:291:33 - extern void i_logic7_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:292:33 - extern void i_logic7_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:293:33 - extern void i_logic7_3d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:224:33 - extern void i_longint_0d(long long* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:225:33 - extern void i_longint_1d(long long* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:226:33 - extern void i_longint_2d(long long* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:227:33 - extern void i_longint_3d(long long* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:229:33 - extern void i_longint_unsigned_0d(unsigned long long* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:230:33 - extern void i_longint_unsigned_1d(unsigned long long* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:231:33 - extern void i_longint_unsigned_2d(unsigned long long* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:232:33 - extern void i_longint_unsigned_3d(unsigned long long* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:300:33 - extern void i_pack_struct_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:301:33 - extern void i_pack_struct_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:302:33 - extern void i_pack_struct_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:303:33 - extern void i_pack_struct_3d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:248:33 - extern void i_real_0d(double* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:249:33 - extern void i_real_1d(double* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:250:33 - extern void i_real_2d(double* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:251:33 - extern void i_real_3d(double* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:204:33 - extern void i_shortint_0d(short* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:205:33 - extern void i_shortint_1d(short* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:206:33 - extern void i_shortint_2d(short* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:207:33 - extern void i_shortint_3d(short* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:209:33 - extern void i_shortint_unsigned_0d(unsigned short* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:210:33 - extern void i_shortint_unsigned_1d(unsigned short* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:211:33 - extern void i_shortint_unsigned_2d(unsigned short* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:212:33 - extern void i_shortint_unsigned_3d(unsigned short* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:265:33 - extern void i_string_0d(const char** val); - // DPI import at t/t_dpi_arg_inout_unpack.v:266:33 - extern void i_string_1d(const char** val); - // DPI import at t/t_dpi_arg_inout_unpack.v:267:33 - extern void i_string_2d(const char** val); - // DPI import at t/t_dpi_arg_inout_unpack.v:268:33 - extern void i_string_3d(const char** val); - // DPI import at t/t_dpi_arg_inout_unpack.v:235:33 - extern void i_time_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:236:33 - extern void i_time_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:237:33 - extern void i_time_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_inout_unpack.v:238:33 - extern void i_time_3d(svLogicVecVal* val); - + + + // DPI EXPORTS + extern void e_bit121_0d(svBitVecVal* val); + extern void e_bit121_1d(svBitVecVal* val); + extern void e_bit121_2d(svBitVecVal* val); + extern void e_bit121_3d(svBitVecVal* val); + extern void e_bit1_0d(svBit* val); + extern void e_bit1_1d(svBit* val); + extern void e_bit1_2d(svBit* val); + extern void e_bit1_3d(svBit* val); + extern void e_bit7_0d(svBitVecVal* val); + extern void e_bit7_1d(svBitVecVal* val); + extern void e_bit7_2d(svBitVecVal* val); + extern void e_bit7_3d(svBitVecVal* val); + extern void e_byte_0d(char* val); + extern void e_byte_1d(char* val); + extern void e_byte_2d(char* val); + extern void e_byte_3d(char* val); + extern void e_byte_unsigned_0d(unsigned char* val); + extern void e_byte_unsigned_1d(unsigned char* val); + extern void e_byte_unsigned_2d(unsigned char* val); + extern void e_byte_unsigned_3d(unsigned char* val); + extern void e_chandle_0d(void** val); + extern void e_chandle_1d(void** val); + extern void e_chandle_2d(void** val); + extern void e_chandle_3d(void** val); + extern void e_int_0d(int* val); + extern void e_int_1d(int* val); + extern void e_int_2d(int* val); + extern void e_int_3d(int* val); + extern void e_int_unsigned_0d(unsigned int* val); + extern void e_int_unsigned_1d(unsigned int* val); + extern void e_int_unsigned_2d(unsigned int* val); + extern void e_int_unsigned_3d(unsigned int* val); + extern void e_integer_0d(svLogicVecVal* val); + extern void e_integer_1d(svLogicVecVal* val); + extern void e_integer_2d(svLogicVecVal* val); + extern void e_integer_3d(svLogicVecVal* val); + extern void e_logic121_0d(svLogicVecVal* val); + extern void e_logic121_1d(svLogicVecVal* val); + extern void e_logic121_2d(svLogicVecVal* val); + extern void e_logic121_3d(svLogicVecVal* val); + extern void e_logic1_0d(svLogic* val); + extern void e_logic1_1d(svLogic* val); + extern void e_logic1_2d(svLogic* val); + extern void e_logic1_3d(svLogic* val); + extern void e_logic7_0d(svLogicVecVal* val); + extern void e_logic7_1d(svLogicVecVal* val); + extern void e_logic7_2d(svLogicVecVal* val); + extern void e_logic7_3d(svLogicVecVal* val); + extern void e_longint_0d(long long* val); + extern void e_longint_1d(long long* val); + extern void e_longint_2d(long long* val); + extern void e_longint_3d(long long* val); + extern void e_longint_unsigned_0d(unsigned long long* val); + extern void e_longint_unsigned_1d(unsigned long long* val); + extern void e_longint_unsigned_2d(unsigned long long* val); + extern void e_longint_unsigned_3d(unsigned long long* val); + extern void e_pack_struct_0d(svLogicVecVal* val); + extern void e_pack_struct_1d(svLogicVecVal* val); + extern void e_pack_struct_2d(svLogicVecVal* val); + extern void e_pack_struct_3d(svLogicVecVal* val); + extern void e_real_0d(double* val); + extern void e_real_1d(double* val); + extern void e_real_2d(double* val); + extern void e_real_3d(double* val); + extern void e_shortint_0d(short* val); + extern void e_shortint_1d(short* val); + extern void e_shortint_2d(short* val); + extern void e_shortint_3d(short* val); + extern void e_shortint_unsigned_0d(unsigned short* val); + extern void e_shortint_unsigned_1d(unsigned short* val); + extern void e_shortint_unsigned_2d(unsigned short* val); + extern void e_shortint_unsigned_3d(unsigned short* val); + extern void e_string_0d(const char** val); + extern void e_string_1d(const char** val); + extern void e_string_2d(const char** val); + extern void e_string_3d(const char** val); + extern void e_time_0d(svLogicVecVal* val); + extern void e_time_1d(svLogicVecVal* val); + extern void e_time_2d(svLogicVecVal* val); + extern void e_time_3d(svLogicVecVal* val); + + // DPI IMPORTS + extern void check_exports(); + extern void* get_non_null(); + extern void i_bit121_0d(svBitVecVal* val); + extern void i_bit121_1d(svBitVecVal* val); + extern void i_bit121_2d(svBitVecVal* val); + extern void i_bit121_3d(svBitVecVal* val); + extern void i_bit1_0d(svBit* val); + extern void i_bit1_1d(svBit* val); + extern void i_bit1_2d(svBit* val); + extern void i_bit1_3d(svBit* val); + extern void i_bit7_0d(svBitVecVal* val); + extern void i_bit7_1d(svBitVecVal* val); + extern void i_bit7_2d(svBitVecVal* val); + extern void i_bit7_3d(svBitVecVal* val); + extern void i_byte_0d(char* val); + extern void i_byte_1d(char* val); + extern void i_byte_2d(char* val); + extern void i_byte_3d(char* val); + extern void i_byte_unsigned_0d(unsigned char* val); + extern void i_byte_unsigned_1d(unsigned char* val); + extern void i_byte_unsigned_2d(unsigned char* val); + extern void i_byte_unsigned_3d(unsigned char* val); + extern void i_chandle_0d(void** val); + extern void i_chandle_1d(void** val); + extern void i_chandle_2d(void** val); + extern void i_chandle_3d(void** val); + extern void i_int_0d(int* val); + extern void i_int_1d(int* val); + extern void i_int_2d(int* val); + extern void i_int_3d(int* val); + extern void i_int_unsigned_0d(unsigned int* val); + extern void i_int_unsigned_1d(unsigned int* val); + extern void i_int_unsigned_2d(unsigned int* val); + extern void i_int_unsigned_3d(unsigned int* val); + extern void i_integer_0d(svLogicVecVal* val); + extern void i_integer_1d(svLogicVecVal* val); + extern void i_integer_2d(svLogicVecVal* val); + extern void i_integer_3d(svLogicVecVal* val); + extern void i_logic121_0d(svLogicVecVal* val); + extern void i_logic121_1d(svLogicVecVal* val); + extern void i_logic121_2d(svLogicVecVal* val); + extern void i_logic121_3d(svLogicVecVal* val); + extern void i_logic1_0d(svLogic* val); + extern void i_logic1_1d(svLogic* val); + extern void i_logic1_2d(svLogic* val); + extern void i_logic1_3d(svLogic* val); + extern void i_logic7_0d(svLogicVecVal* val); + extern void i_logic7_1d(svLogicVecVal* val); + extern void i_logic7_2d(svLogicVecVal* val); + extern void i_logic7_3d(svLogicVecVal* val); + extern void i_longint_0d(long long* val); + extern void i_longint_1d(long long* val); + extern void i_longint_2d(long long* val); + extern void i_longint_3d(long long* val); + extern void i_longint_unsigned_0d(unsigned long long* val); + extern void i_longint_unsigned_1d(unsigned long long* val); + extern void i_longint_unsigned_2d(unsigned long long* val); + extern void i_longint_unsigned_3d(unsigned long long* val); + extern void i_pack_struct_0d(svLogicVecVal* val); + extern void i_pack_struct_1d(svLogicVecVal* val); + extern void i_pack_struct_2d(svLogicVecVal* val); + extern void i_pack_struct_3d(svLogicVecVal* val); + extern void i_real_0d(double* val); + extern void i_real_1d(double* val); + extern void i_real_2d(double* val); + extern void i_real_3d(double* val); + extern void i_shortint_0d(short* val); + extern void i_shortint_1d(short* val); + extern void i_shortint_2d(short* val); + extern void i_shortint_3d(short* val); + extern void i_shortint_unsigned_0d(unsigned short* val); + extern void i_shortint_unsigned_1d(unsigned short* val); + extern void i_shortint_unsigned_2d(unsigned short* val); + extern void i_shortint_unsigned_3d(unsigned short* val); + extern void i_string_0d(const char** val); + extern void i_string_1d(const char** val); + extern void i_string_2d(const char** val); + extern void i_string_3d(const char** val); + extern void i_time_0d(svLogicVecVal* val); + extern void i_time_1d(svLogicVecVal* val); + extern void i_time_2d(svLogicVecVal* val); + extern void i_time_3d(svLogicVecVal* val); + #ifdef __cplusplus } #endif diff --git a/test_regress/t/t_dpi_arg_input_type.pl b/test_regress/t/t_dpi_arg_input_type.pl index 16fc1abc3..8c609be40 100755 --- a/test_regress/t/t_dpi_arg_input_type.pl +++ b/test_regress/t/t_dpi_arg_input_type.pl @@ -20,7 +20,8 @@ if ($Self->{nc}) { compile( v_flags2 => ["t/t_dpi_arg_input_type.cpp"], - verilator_flags2 => ["-Wall -Wno-DECLFILENAME"], + # --no-decoration so .out file doesn't comment on source lines + verilator_flags2 => ["-Wall -Wno-DECLFILENAME --no-decoration"], # NC: Gdd the obj_dir to the C include path nc_flags2 => ["+ncscargs+-I$Self->{obj_dir}"], # ModelSim: Generate DPI header, add obj_dir to the C include path diff --git a/test_regress/t/t_dpi_arg_input_type__Dpi.out b/test_regress/t/t_dpi_arg_input_type__Dpi.out index 26a75f7ee..ea56ffe00 100644 --- a/test_regress/t/t_dpi_arg_input_type__Dpi.out +++ b/test_regress/t/t_dpi_arg_input_type__Dpi.out @@ -10,278 +10,145 @@ #ifdef __cplusplus extern "C" { #endif - - - // DPI EXPORTS - // DPI export at t/t_dpi_arg_input_type.v:537:18 - extern void e_array_2_state_1(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:572:18 - extern void e_array_2_state_128(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:544:18 - extern void e_array_2_state_32(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:551:18 - extern void e_array_2_state_33(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:558:18 - extern void e_array_2_state_64(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:565:18 - extern void e_array_2_state_65(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:666:18 - extern void e_array_4_state_1(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:701:18 - extern void e_array_4_state_128(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:673:18 - extern void e_array_4_state_32(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:680:18 - extern void e_array_4_state_33(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:687:18 - extern void e_array_4_state_64(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:694:18 - extern void e_array_4_state_65(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:407:18 - extern void e_bit(svBit i); - // DPI export at t/t_dpi_arg_input_type.v:522:18 - extern void e_bit_t(svBit i); - // DPI export at t/t_dpi_arg_input_type.v:307:18 - extern void e_byte(char i); - // DPI export at t/t_dpi_arg_input_type.v:422:18 - extern void e_byte_t(char i); - // DPI export at t/t_dpi_arg_input_type.v:313:18 - extern void e_byte_unsigned(unsigned char i); - // DPI export at t/t_dpi_arg_input_type.v:428:18 - extern void e_byte_unsigned_t(unsigned char i); - // DPI export at t/t_dpi_arg_input_type.v:385:18 - extern void e_chandle(void* i); - // DPI export at t/t_dpi_arg_input_type.v:500:18 - extern void e_chandle_t(void* i); - // DPI export at t/t_dpi_arg_input_type.v:331:18 - extern void e_int(int i); - // DPI export at t/t_dpi_arg_input_type.v:446:18 - extern void e_int_t(int i); - // DPI export at t/t_dpi_arg_input_type.v:337:18 - extern void e_int_unsigned(unsigned int i); - // DPI export at t/t_dpi_arg_input_type.v:452:18 - extern void e_int_unsigned_t(unsigned int i); - // DPI export at t/t_dpi_arg_input_type.v:364:18 - extern void e_integer(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:479:18 - extern void e_integer_t(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:414:18 - extern void e_logic(svLogic i); - // DPI export at t/t_dpi_arg_input_type.v:529:18 - extern void e_logic_t(svLogic i); - // DPI export at t/t_dpi_arg_input_type.v:343:18 - extern void e_longint(long long i); - // DPI export at t/t_dpi_arg_input_type.v:458:18 - extern void e_longint_t(long long i); - // DPI export at t/t_dpi_arg_input_type.v:349:18 - extern void e_longint_unsigned(unsigned long long i); - // DPI export at t/t_dpi_arg_input_type.v:464:18 - extern void e_longint_unsigned_t(unsigned long long i); - // DPI export at t/t_dpi_arg_input_type.v:371:18 - extern void e_real(double i); - // DPI export at t/t_dpi_arg_input_type.v:486:18 - extern void e_real_t(double i); - // DPI export at t/t_dpi_arg_input_type.v:319:18 - extern void e_shortint(short i); - // DPI export at t/t_dpi_arg_input_type.v:434:18 - extern void e_shortint_t(short i); - // DPI export at t/t_dpi_arg_input_type.v:325:18 - extern void e_shortint_unsigned(unsigned short i); - // DPI export at t/t_dpi_arg_input_type.v:440:18 - extern void e_shortint_unsigned_t(unsigned short i); - // DPI export at t/t_dpi_arg_input_type.v:396:18 - extern void e_string(const char* i); - // DPI export at t/t_dpi_arg_input_type.v:511:18 - extern void e_string_t(const char* i); - // DPI export at t/t_dpi_arg_input_type.v:580:18 - extern void e_struct_2_state_1(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:615:18 - extern void e_struct_2_state_128(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:587:18 - extern void e_struct_2_state_32(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:594:18 - extern void e_struct_2_state_33(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:601:18 - extern void e_struct_2_state_64(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:608:18 - extern void e_struct_2_state_65(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:709:18 - extern void e_struct_4_state_1(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:744:18 - extern void e_struct_4_state_128(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:716:18 - extern void e_struct_4_state_32(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:723:18 - extern void e_struct_4_state_33(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:730:18 - extern void e_struct_4_state_64(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:737:18 - extern void e_struct_4_state_65(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:356:18 - extern void e_time(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:471:18 - extern void e_time_t(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:623:18 - extern void e_union_2_state_1(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:658:18 - extern void e_union_2_state_128(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:630:18 - extern void e_union_2_state_32(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:637:18 - extern void e_union_2_state_33(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:644:18 - extern void e_union_2_state_64(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:651:18 - extern void e_union_2_state_65(const svBitVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:752:18 - extern void e_union_4_state_1(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:787:18 - extern void e_union_4_state_128(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:759:18 - extern void e_union_4_state_32(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:766:18 - extern void e_union_4_state_33(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:773:18 - extern void e_union_4_state_64(const svLogicVecVal* i); - // DPI export at t/t_dpi_arg_input_type.v:780:18 - extern void e_union_4_state_65(const svLogicVecVal* i); - - // DPI IMPORTS - // DPI import at t/t_dpi_arg_input_type.v:797:41 - extern void check_exports(); - // DPI import at t/t_dpi_arg_input_type.v:154:33 - extern void i_array_2_state_1(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:159:33 - extern void i_array_2_state_128(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:155:33 - extern void i_array_2_state_32(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:156:33 - extern void i_array_2_state_33(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:157:33 - extern void i_array_2_state_64(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:158:33 - extern void i_array_2_state_65(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:178:33 - extern void i_array_4_state_1(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:183:33 - extern void i_array_4_state_128(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:179:33 - extern void i_array_4_state_32(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:180:33 - extern void i_array_4_state_33(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:181:33 - extern void i_array_4_state_64(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:182:33 - extern void i_array_4_state_65(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:126:33 - extern void i_bit(svBit i); - // DPI import at t/t_dpi_arg_input_type.v:150:33 - extern void i_bit_t(svBit i); - // DPI import at t/t_dpi_arg_input_type.v:106:33 - extern void i_byte(char i); - // DPI import at t/t_dpi_arg_input_type.v:130:33 - extern void i_byte_t(char i); - // DPI import at t/t_dpi_arg_input_type.v:107:33 - extern void i_byte_unsigned(unsigned char i); - // DPI import at t/t_dpi_arg_input_type.v:131:33 - extern void i_byte_unsigned_t(unsigned char i); - // DPI import at t/t_dpi_arg_input_type.v:124:33 - extern void i_chandle(void* i); - // DPI import at t/t_dpi_arg_input_type.v:148:33 - extern void i_chandle_t(void* i); - // DPI import at t/t_dpi_arg_input_type.v:110:33 - extern void i_int(int i); - // DPI import at t/t_dpi_arg_input_type.v:134:33 - extern void i_int_t(int i); - // DPI import at t/t_dpi_arg_input_type.v:111:33 - extern void i_int_unsigned(unsigned int i); - // DPI import at t/t_dpi_arg_input_type.v:135:33 - extern void i_int_unsigned_t(unsigned int i); - // DPI import at t/t_dpi_arg_input_type.v:118:33 - extern void i_integer(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:142:33 - extern void i_integer_t(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:127:33 - extern void i_logic(svLogic i); - // DPI import at t/t_dpi_arg_input_type.v:151:33 - extern void i_logic_t(svLogic i); - // DPI import at t/t_dpi_arg_input_type.v:112:33 - extern void i_longint(long long i); - // DPI import at t/t_dpi_arg_input_type.v:136:33 - extern void i_longint_t(long long i); - // DPI import at t/t_dpi_arg_input_type.v:113:33 - extern void i_longint_unsigned(unsigned long long i); - // DPI import at t/t_dpi_arg_input_type.v:137:33 - extern void i_longint_unsigned_t(unsigned long long i); - // DPI import at t/t_dpi_arg_input_type.v:120:33 - extern void i_real(double i); - // DPI import at t/t_dpi_arg_input_type.v:144:33 - extern void i_real_t(double i); - // DPI import at t/t_dpi_arg_input_type.v:108:33 - extern void i_shortint(short i); - // DPI import at t/t_dpi_arg_input_type.v:132:33 - extern void i_shortint_t(short i); - // DPI import at t/t_dpi_arg_input_type.v:109:33 - extern void i_shortint_unsigned(unsigned short i); - // DPI import at t/t_dpi_arg_input_type.v:133:33 - extern void i_shortint_unsigned_t(unsigned short i); - // DPI import at t/t_dpi_arg_input_type.v:125:33 - extern void i_string(const char* i); - // DPI import at t/t_dpi_arg_input_type.v:149:33 - extern void i_string_t(const char* i); - // DPI import at t/t_dpi_arg_input_type.v:162:33 - extern void i_struct_2_state_1(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:167:33 - extern void i_struct_2_state_128(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:163:33 - extern void i_struct_2_state_32(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:164:33 - extern void i_struct_2_state_33(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:165:33 - extern void i_struct_2_state_64(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:166:33 - extern void i_struct_2_state_65(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:186:33 - extern void i_struct_4_state_1(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:191:33 - extern void i_struct_4_state_128(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:187:33 - extern void i_struct_4_state_32(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:188:33 - extern void i_struct_4_state_33(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:189:33 - extern void i_struct_4_state_64(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:190:33 - extern void i_struct_4_state_65(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:115:33 - extern void i_time(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:139:33 - extern void i_time_t(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:170:33 - extern void i_union_2_state_1(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:175:33 - extern void i_union_2_state_128(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:171:33 - extern void i_union_2_state_32(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:172:33 - extern void i_union_2_state_33(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:173:33 - extern void i_union_2_state_64(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:174:33 - extern void i_union_2_state_65(const svBitVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:194:33 - extern void i_union_4_state_1(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:199:33 - extern void i_union_4_state_128(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:195:33 - extern void i_union_4_state_32(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:196:33 - extern void i_union_4_state_33(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:197:33 - extern void i_union_4_state_64(const svLogicVecVal* i); - // DPI import at t/t_dpi_arg_input_type.v:198:33 - extern void i_union_4_state_65(const svLogicVecVal* i); - + + + // DPI EXPORTS + extern void e_array_2_state_1(const svBitVecVal* i); + extern void e_array_2_state_128(const svBitVecVal* i); + extern void e_array_2_state_32(const svBitVecVal* i); + extern void e_array_2_state_33(const svBitVecVal* i); + extern void e_array_2_state_64(const svBitVecVal* i); + extern void e_array_2_state_65(const svBitVecVal* i); + extern void e_array_4_state_1(const svLogicVecVal* i); + extern void e_array_4_state_128(const svLogicVecVal* i); + extern void e_array_4_state_32(const svLogicVecVal* i); + extern void e_array_4_state_33(const svLogicVecVal* i); + extern void e_array_4_state_64(const svLogicVecVal* i); + extern void e_array_4_state_65(const svLogicVecVal* i); + extern void e_bit(svBit i); + extern void e_bit_t(svBit i); + extern void e_byte(char i); + extern void e_byte_t(char i); + extern void e_byte_unsigned(unsigned char i); + extern void e_byte_unsigned_t(unsigned char i); + extern void e_chandle(void* i); + extern void e_chandle_t(void* i); + extern void e_int(int i); + extern void e_int_t(int i); + extern void e_int_unsigned(unsigned int i); + extern void e_int_unsigned_t(unsigned int i); + extern void e_integer(const svLogicVecVal* i); + extern void e_integer_t(const svLogicVecVal* i); + extern void e_logic(svLogic i); + extern void e_logic_t(svLogic i); + extern void e_longint(long long i); + extern void e_longint_t(long long i); + extern void e_longint_unsigned(unsigned long long i); + extern void e_longint_unsigned_t(unsigned long long i); + extern void e_real(double i); + extern void e_real_t(double i); + extern void e_shortint(short i); + extern void e_shortint_t(short i); + extern void e_shortint_unsigned(unsigned short i); + extern void e_shortint_unsigned_t(unsigned short i); + extern void e_string(const char* i); + extern void e_string_t(const char* i); + extern void e_struct_2_state_1(const svBitVecVal* i); + extern void e_struct_2_state_128(const svBitVecVal* i); + extern void e_struct_2_state_32(const svBitVecVal* i); + extern void e_struct_2_state_33(const svBitVecVal* i); + extern void e_struct_2_state_64(const svBitVecVal* i); + extern void e_struct_2_state_65(const svBitVecVal* i); + extern void e_struct_4_state_1(const svLogicVecVal* i); + extern void e_struct_4_state_128(const svLogicVecVal* i); + extern void e_struct_4_state_32(const svLogicVecVal* i); + extern void e_struct_4_state_33(const svLogicVecVal* i); + extern void e_struct_4_state_64(const svLogicVecVal* i); + extern void e_struct_4_state_65(const svLogicVecVal* i); + extern void e_time(const svLogicVecVal* i); + extern void e_time_t(const svLogicVecVal* i); + extern void e_union_2_state_1(const svBitVecVal* i); + extern void e_union_2_state_128(const svBitVecVal* i); + extern void e_union_2_state_32(const svBitVecVal* i); + extern void e_union_2_state_33(const svBitVecVal* i); + extern void e_union_2_state_64(const svBitVecVal* i); + extern void e_union_2_state_65(const svBitVecVal* i); + extern void e_union_4_state_1(const svLogicVecVal* i); + extern void e_union_4_state_128(const svLogicVecVal* i); + extern void e_union_4_state_32(const svLogicVecVal* i); + extern void e_union_4_state_33(const svLogicVecVal* i); + extern void e_union_4_state_64(const svLogicVecVal* i); + extern void e_union_4_state_65(const svLogicVecVal* i); + + // DPI IMPORTS + extern void check_exports(); + extern void i_array_2_state_1(const svBitVecVal* i); + extern void i_array_2_state_128(const svBitVecVal* i); + extern void i_array_2_state_32(const svBitVecVal* i); + extern void i_array_2_state_33(const svBitVecVal* i); + extern void i_array_2_state_64(const svBitVecVal* i); + extern void i_array_2_state_65(const svBitVecVal* i); + extern void i_array_4_state_1(const svLogicVecVal* i); + extern void i_array_4_state_128(const svLogicVecVal* i); + extern void i_array_4_state_32(const svLogicVecVal* i); + extern void i_array_4_state_33(const svLogicVecVal* i); + extern void i_array_4_state_64(const svLogicVecVal* i); + extern void i_array_4_state_65(const svLogicVecVal* i); + extern void i_bit(svBit i); + extern void i_bit_t(svBit i); + extern void i_byte(char i); + extern void i_byte_t(char i); + extern void i_byte_unsigned(unsigned char i); + extern void i_byte_unsigned_t(unsigned char i); + extern void i_chandle(void* i); + extern void i_chandle_t(void* i); + extern void i_int(int i); + extern void i_int_t(int i); + extern void i_int_unsigned(unsigned int i); + extern void i_int_unsigned_t(unsigned int i); + extern void i_integer(const svLogicVecVal* i); + extern void i_integer_t(const svLogicVecVal* i); + extern void i_logic(svLogic i); + extern void i_logic_t(svLogic i); + extern void i_longint(long long i); + extern void i_longint_t(long long i); + extern void i_longint_unsigned(unsigned long long i); + extern void i_longint_unsigned_t(unsigned long long i); + extern void i_real(double i); + extern void i_real_t(double i); + extern void i_shortint(short i); + extern void i_shortint_t(short i); + extern void i_shortint_unsigned(unsigned short i); + extern void i_shortint_unsigned_t(unsigned short i); + extern void i_string(const char* i); + extern void i_string_t(const char* i); + extern void i_struct_2_state_1(const svBitVecVal* i); + extern void i_struct_2_state_128(const svBitVecVal* i); + extern void i_struct_2_state_32(const svBitVecVal* i); + extern void i_struct_2_state_33(const svBitVecVal* i); + extern void i_struct_2_state_64(const svBitVecVal* i); + extern void i_struct_2_state_65(const svBitVecVal* i); + extern void i_struct_4_state_1(const svLogicVecVal* i); + extern void i_struct_4_state_128(const svLogicVecVal* i); + extern void i_struct_4_state_32(const svLogicVecVal* i); + extern void i_struct_4_state_33(const svLogicVecVal* i); + extern void i_struct_4_state_64(const svLogicVecVal* i); + extern void i_struct_4_state_65(const svLogicVecVal* i); + extern void i_time(const svLogicVecVal* i); + extern void i_time_t(const svLogicVecVal* i); + extern void i_union_2_state_1(const svBitVecVal* i); + extern void i_union_2_state_128(const svBitVecVal* i); + extern void i_union_2_state_32(const svBitVecVal* i); + extern void i_union_2_state_33(const svBitVecVal* i); + extern void i_union_2_state_64(const svBitVecVal* i); + extern void i_union_2_state_65(const svBitVecVal* i); + extern void i_union_4_state_1(const svLogicVecVal* i); + extern void i_union_4_state_128(const svLogicVecVal* i); + extern void i_union_4_state_32(const svLogicVecVal* i); + extern void i_union_4_state_33(const svLogicVecVal* i); + extern void i_union_4_state_64(const svLogicVecVal* i); + extern void i_union_4_state_65(const svLogicVecVal* i); + #ifdef __cplusplus } #endif diff --git a/test_regress/t/t_dpi_arg_input_unpack.pl b/test_regress/t/t_dpi_arg_input_unpack.pl index 364897b82..f6772ebcc 100755 --- a/test_regress/t/t_dpi_arg_input_unpack.pl +++ b/test_regress/t/t_dpi_arg_input_unpack.pl @@ -20,7 +20,8 @@ if ($Self->{nc}) { compile( v_flags2 => ["t/t_dpi_arg_input_unpack.cpp"], - verilator_flags2 => ["-Wall -Wno-DECLFILENAME"], + # --no-decoration so .out file doesn't comment on source lines + verilator_flags2 => ["-Wall -Wno-DECLFILENAME --no-decoration"], # NC: Gdd the obj_dir to the C include path nc_flags2 => ["+ncscargs+-I$Self->{obj_dir}"], # ModelSim: Generate DPI header, add obj_dir to the C include path diff --git a/test_regress/t/t_dpi_arg_input_unpack__Dpi.out b/test_regress/t/t_dpi_arg_input_unpack__Dpi.out index 91b191e18..f6eee80e8 100644 --- a/test_regress/t/t_dpi_arg_input_unpack__Dpi.out +++ b/test_regress/t/t_dpi_arg_input_unpack__Dpi.out @@ -10,336 +10,174 @@ #ifdef __cplusplus extern "C" { #endif - - - // DPI EXPORTS - // DPI export at t/t_dpi_arg_input_unpack.v:535:18 - extern void e_bit121_0d(const svBitVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:536:18 - extern void e_bit121_1d(const svBitVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:537:18 - extern void e_bit121_2d(const svBitVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:538:18 - extern void e_bit121_3d(const svBitVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:525:18 - extern void e_bit1_0d(svBit val); - // DPI export at t/t_dpi_arg_input_unpack.v:526:18 - extern void e_bit1_1d(const svBit* val); - // DPI export at t/t_dpi_arg_input_unpack.v:527:18 - extern void e_bit1_2d(const svBit* val); - // DPI export at t/t_dpi_arg_input_unpack.v:528:18 - extern void e_bit1_3d(const svBit* val); - // DPI export at t/t_dpi_arg_input_unpack.v:530:18 - extern void e_bit7_0d(const svBitVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:531:18 - extern void e_bit7_1d(const svBitVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:532:18 - extern void e_bit7_2d(const svBitVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:533:18 - extern void e_bit7_3d(const svBitVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:361:18 - extern void e_byte_0d(char val); - // DPI export at t/t_dpi_arg_input_unpack.v:362:18 - extern void e_byte_1d(const char* val); - // DPI export at t/t_dpi_arg_input_unpack.v:363:18 - extern void e_byte_2d(const char* val); - // DPI export at t/t_dpi_arg_input_unpack.v:364:18 - extern void e_byte_3d(const char* val); - // DPI export at t/t_dpi_arg_input_unpack.v:366:18 - extern void e_byte_unsigned_0d(unsigned char val); - // DPI export at t/t_dpi_arg_input_unpack.v:367:18 - extern void e_byte_unsigned_1d(const unsigned char* val); - // DPI export at t/t_dpi_arg_input_unpack.v:368:18 - extern void e_byte_unsigned_2d(const unsigned char* val); - // DPI export at t/t_dpi_arg_input_unpack.v:369:18 - extern void e_byte_unsigned_3d(const unsigned char* val); - // DPI export at t/t_dpi_arg_input_unpack.v:427:18 - extern void e_chandle_0d(void* val); - // DPI export at t/t_dpi_arg_input_unpack.v:433:18 - extern void e_chandle_1d(const void** val); - // DPI export at t/t_dpi_arg_input_unpack.v:443:18 - extern void e_chandle_2d(const void** val); - // DPI export at t/t_dpi_arg_input_unpack.v:457:18 - extern void e_chandle_3d(const void** val); - // DPI export at t/t_dpi_arg_input_unpack.v:381:18 - extern void e_int_0d(int val); - // DPI export at t/t_dpi_arg_input_unpack.v:382:18 - extern void e_int_1d(const int* val); - // DPI export at t/t_dpi_arg_input_unpack.v:383:18 - extern void e_int_2d(const int* val); - // DPI export at t/t_dpi_arg_input_unpack.v:384:18 - extern void e_int_3d(const int* val); - // DPI export at t/t_dpi_arg_input_unpack.v:386:18 - extern void e_int_unsigned_0d(unsigned int val); - // DPI export at t/t_dpi_arg_input_unpack.v:387:18 - extern void e_int_unsigned_1d(const unsigned int* val); - // DPI export at t/t_dpi_arg_input_unpack.v:388:18 - extern void e_int_unsigned_2d(const unsigned int* val); - // DPI export at t/t_dpi_arg_input_unpack.v:389:18 - extern void e_int_unsigned_3d(const unsigned int* val); - // DPI export at t/t_dpi_arg_input_unpack.v:409:18 - extern void e_integer_0d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:410:18 - extern void e_integer_1d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:411:18 - extern void e_integer_2d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:412:18 - extern void e_integer_3d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:550:18 - extern void e_logic121_0d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:551:18 - extern void e_logic121_1d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:552:18 - extern void e_logic121_2d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:553:18 - extern void e_logic121_3d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:540:18 - extern void e_logic1_0d(svLogic val); - // DPI export at t/t_dpi_arg_input_unpack.v:541:18 - extern void e_logic1_1d(const svLogic* val); - // DPI export at t/t_dpi_arg_input_unpack.v:542:18 - extern void e_logic1_2d(const svLogic* val); - // DPI export at t/t_dpi_arg_input_unpack.v:543:18 - extern void e_logic1_3d(const svLogic* val); - // DPI export at t/t_dpi_arg_input_unpack.v:545:18 - extern void e_logic7_0d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:546:18 - extern void e_logic7_1d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:547:18 - extern void e_logic7_2d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:548:18 - extern void e_logic7_3d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:391:18 - extern void e_longint_0d(long long val); - // DPI export at t/t_dpi_arg_input_unpack.v:392:18 - extern void e_longint_1d(const long long* val); - // DPI export at t/t_dpi_arg_input_unpack.v:393:18 - extern void e_longint_2d(const long long* val); - // DPI export at t/t_dpi_arg_input_unpack.v:394:18 - extern void e_longint_3d(const long long* val); - // DPI export at t/t_dpi_arg_input_unpack.v:396:18 - extern void e_longint_unsigned_0d(unsigned long long val); - // DPI export at t/t_dpi_arg_input_unpack.v:397:18 - extern void e_longint_unsigned_1d(const unsigned long long* val); - // DPI export at t/t_dpi_arg_input_unpack.v:398:18 - extern void e_longint_unsigned_2d(const unsigned long long* val); - // DPI export at t/t_dpi_arg_input_unpack.v:399:18 - extern void e_longint_unsigned_3d(const unsigned long long* val); - // DPI export at t/t_dpi_arg_input_unpack.v:555:18 - extern void e_pack_struct_0d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:556:18 - extern void e_pack_struct_1d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:557:18 - extern void e_pack_struct_2d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:558:18 - extern void e_pack_struct_3d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:415:18 - extern void e_real_0d(double val); - // DPI export at t/t_dpi_arg_input_unpack.v:416:18 - extern void e_real_1d(const double* val); - // DPI export at t/t_dpi_arg_input_unpack.v:417:18 - extern void e_real_2d(const double* val); - // DPI export at t/t_dpi_arg_input_unpack.v:418:18 - extern void e_real_3d(const double* val); - // DPI export at t/t_dpi_arg_input_unpack.v:371:18 - extern void e_shortint_0d(short val); - // DPI export at t/t_dpi_arg_input_unpack.v:372:18 - extern void e_shortint_1d(const short* val); - // DPI export at t/t_dpi_arg_input_unpack.v:373:18 - extern void e_shortint_2d(const short* val); - // DPI export at t/t_dpi_arg_input_unpack.v:374:18 - extern void e_shortint_3d(const short* val); - // DPI export at t/t_dpi_arg_input_unpack.v:376:18 - extern void e_shortint_unsigned_0d(unsigned short val); - // DPI export at t/t_dpi_arg_input_unpack.v:377:18 - extern void e_shortint_unsigned_1d(const unsigned short* val); - // DPI export at t/t_dpi_arg_input_unpack.v:378:18 - extern void e_shortint_unsigned_2d(const unsigned short* val); - // DPI export at t/t_dpi_arg_input_unpack.v:379:18 - extern void e_shortint_unsigned_3d(const unsigned short* val); - // DPI export at t/t_dpi_arg_input_unpack.v:476:18 - extern void e_string_0d(const char* val); - // DPI export at t/t_dpi_arg_input_unpack.v:482:18 - extern void e_string_1d(const char** val); - // DPI export at t/t_dpi_arg_input_unpack.v:492:18 - extern void e_string_2d(const char** val); - // DPI export at t/t_dpi_arg_input_unpack.v:506:18 - extern void e_string_3d(const char** val); - // DPI export at t/t_dpi_arg_input_unpack.v:402:18 - extern void e_time_0d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:403:18 - extern void e_time_1d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:404:18 - extern void e_time_2d(const svLogicVecVal* val); - // DPI export at t/t_dpi_arg_input_unpack.v:405:18 - extern void e_time_3d(const svLogicVecVal* val); - - // DPI IMPORTS - // DPI import at t/t_dpi_arg_input_unpack.v:615:41 - extern void check_exports(); - // DPI import at t/t_dpi_arg_input_unpack.v:115:36 - extern void* get_non_null(); - // DPI import at t/t_dpi_arg_input_unpack.v:203:33 - extern void i_bit121_0d(const svBitVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:204:33 - extern void i_bit121_1d(const svBitVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:205:33 - extern void i_bit121_2d(const svBitVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:206:33 - extern void i_bit121_3d(const svBitVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:193:33 - extern void i_bit1_0d(svBit val); - // DPI import at t/t_dpi_arg_input_unpack.v:194:33 - extern void i_bit1_1d(const svBit* val); - // DPI import at t/t_dpi_arg_input_unpack.v:195:33 - extern void i_bit1_2d(const svBit* val); - // DPI import at t/t_dpi_arg_input_unpack.v:196:33 - extern void i_bit1_3d(const svBit* val); - // DPI import at t/t_dpi_arg_input_unpack.v:198:33 - extern void i_bit7_0d(const svBitVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:199:33 - extern void i_bit7_1d(const svBitVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:200:33 - extern void i_bit7_2d(const svBitVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:201:33 - extern void i_bit7_3d(const svBitVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:117:33 - extern void i_byte_0d(char val); - // DPI import at t/t_dpi_arg_input_unpack.v:118:33 - extern void i_byte_1d(const char* val); - // DPI import at t/t_dpi_arg_input_unpack.v:119:33 - extern void i_byte_2d(const char* val); - // DPI import at t/t_dpi_arg_input_unpack.v:120:33 - extern void i_byte_3d(const char* val); - // DPI import at t/t_dpi_arg_input_unpack.v:122:33 - extern void i_byte_unsigned_0d(unsigned char val); - // DPI import at t/t_dpi_arg_input_unpack.v:123:33 - extern void i_byte_unsigned_1d(const unsigned char* val); - // DPI import at t/t_dpi_arg_input_unpack.v:124:33 - extern void i_byte_unsigned_2d(const unsigned char* val); - // DPI import at t/t_dpi_arg_input_unpack.v:125:33 - extern void i_byte_unsigned_3d(const unsigned char* val); - // DPI import at t/t_dpi_arg_input_unpack.v:183:33 - extern void i_chandle_0d(void* val); - // DPI import at t/t_dpi_arg_input_unpack.v:184:33 - extern void i_chandle_1d(const void** val); - // DPI import at t/t_dpi_arg_input_unpack.v:185:33 - extern void i_chandle_2d(const void** val); - // DPI import at t/t_dpi_arg_input_unpack.v:186:33 - extern void i_chandle_3d(const void** val); - // DPI import at t/t_dpi_arg_input_unpack.v:137:33 - extern void i_int_0d(int val); - // DPI import at t/t_dpi_arg_input_unpack.v:138:33 - extern void i_int_1d(const int* val); - // DPI import at t/t_dpi_arg_input_unpack.v:139:33 - extern void i_int_2d(const int* val); - // DPI import at t/t_dpi_arg_input_unpack.v:140:33 - extern void i_int_3d(const int* val); - // DPI import at t/t_dpi_arg_input_unpack.v:142:33 - extern void i_int_unsigned_0d(unsigned int val); - // DPI import at t/t_dpi_arg_input_unpack.v:143:33 - extern void i_int_unsigned_1d(const unsigned int* val); - // DPI import at t/t_dpi_arg_input_unpack.v:144:33 - extern void i_int_unsigned_2d(const unsigned int* val); - // DPI import at t/t_dpi_arg_input_unpack.v:145:33 - extern void i_int_unsigned_3d(const unsigned int* val); - // DPI import at t/t_dpi_arg_input_unpack.v:165:33 - extern void i_integer_0d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:166:33 - extern void i_integer_1d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:167:33 - extern void i_integer_2d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:168:33 - extern void i_integer_3d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:218:33 - extern void i_logic121_0d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:219:33 - extern void i_logic121_1d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:220:33 - extern void i_logic121_2d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:221:33 - extern void i_logic121_3d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:208:33 - extern void i_logic1_0d(svLogic val); - // DPI import at t/t_dpi_arg_input_unpack.v:209:33 - extern void i_logic1_1d(const svLogic* val); - // DPI import at t/t_dpi_arg_input_unpack.v:210:33 - extern void i_logic1_2d(const svLogic* val); - // DPI import at t/t_dpi_arg_input_unpack.v:211:33 - extern void i_logic1_3d(const svLogic* val); - // DPI import at t/t_dpi_arg_input_unpack.v:213:33 - extern void i_logic7_0d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:214:33 - extern void i_logic7_1d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:215:33 - extern void i_logic7_2d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:216:33 - extern void i_logic7_3d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:147:33 - extern void i_longint_0d(long long val); - // DPI import at t/t_dpi_arg_input_unpack.v:148:33 - extern void i_longint_1d(const long long* val); - // DPI import at t/t_dpi_arg_input_unpack.v:149:33 - extern void i_longint_2d(const long long* val); - // DPI import at t/t_dpi_arg_input_unpack.v:150:33 - extern void i_longint_3d(const long long* val); - // DPI import at t/t_dpi_arg_input_unpack.v:152:33 - extern void i_longint_unsigned_0d(unsigned long long val); - // DPI import at t/t_dpi_arg_input_unpack.v:153:33 - extern void i_longint_unsigned_1d(const unsigned long long* val); - // DPI import at t/t_dpi_arg_input_unpack.v:154:33 - extern void i_longint_unsigned_2d(const unsigned long long* val); - // DPI import at t/t_dpi_arg_input_unpack.v:155:33 - extern void i_longint_unsigned_3d(const unsigned long long* val); - // DPI import at t/t_dpi_arg_input_unpack.v:223:33 - extern void i_pack_struct_0d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:224:33 - extern void i_pack_struct_1d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:225:33 - extern void i_pack_struct_2d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:226:33 - extern void i_pack_struct_3d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:171:33 - extern void i_real_0d(double val); - // DPI import at t/t_dpi_arg_input_unpack.v:172:33 - extern void i_real_1d(const double* val); - // DPI import at t/t_dpi_arg_input_unpack.v:173:33 - extern void i_real_2d(const double* val); - // DPI import at t/t_dpi_arg_input_unpack.v:174:33 - extern void i_real_3d(const double* val); - // DPI import at t/t_dpi_arg_input_unpack.v:127:33 - extern void i_shortint_0d(short val); - // DPI import at t/t_dpi_arg_input_unpack.v:128:33 - extern void i_shortint_1d(const short* val); - // DPI import at t/t_dpi_arg_input_unpack.v:129:33 - extern void i_shortint_2d(const short* val); - // DPI import at t/t_dpi_arg_input_unpack.v:130:33 - extern void i_shortint_3d(const short* val); - // DPI import at t/t_dpi_arg_input_unpack.v:132:33 - extern void i_shortint_unsigned_0d(unsigned short val); - // DPI import at t/t_dpi_arg_input_unpack.v:133:33 - extern void i_shortint_unsigned_1d(const unsigned short* val); - // DPI import at t/t_dpi_arg_input_unpack.v:134:33 - extern void i_shortint_unsigned_2d(const unsigned short* val); - // DPI import at t/t_dpi_arg_input_unpack.v:135:33 - extern void i_shortint_unsigned_3d(const unsigned short* val); - // DPI import at t/t_dpi_arg_input_unpack.v:188:33 - extern void i_string_0d(const char* val); - // DPI import at t/t_dpi_arg_input_unpack.v:189:33 - extern void i_string_1d(const char** val); - // DPI import at t/t_dpi_arg_input_unpack.v:190:33 - extern void i_string_2d(const char** val); - // DPI import at t/t_dpi_arg_input_unpack.v:191:33 - extern void i_string_3d(const char** val); - // DPI import at t/t_dpi_arg_input_unpack.v:158:33 - extern void i_time_0d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:159:33 - extern void i_time_1d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:160:33 - extern void i_time_2d(const svLogicVecVal* val); - // DPI import at t/t_dpi_arg_input_unpack.v:161:33 - extern void i_time_3d(const svLogicVecVal* val); - + + + // DPI EXPORTS + extern void e_bit121_0d(const svBitVecVal* val); + extern void e_bit121_1d(const svBitVecVal* val); + extern void e_bit121_2d(const svBitVecVal* val); + extern void e_bit121_3d(const svBitVecVal* val); + extern void e_bit1_0d(svBit val); + extern void e_bit1_1d(const svBit* val); + extern void e_bit1_2d(const svBit* val); + extern void e_bit1_3d(const svBit* val); + extern void e_bit7_0d(const svBitVecVal* val); + extern void e_bit7_1d(const svBitVecVal* val); + extern void e_bit7_2d(const svBitVecVal* val); + extern void e_bit7_3d(const svBitVecVal* val); + extern void e_byte_0d(char val); + extern void e_byte_1d(const char* val); + extern void e_byte_2d(const char* val); + extern void e_byte_3d(const char* val); + extern void e_byte_unsigned_0d(unsigned char val); + extern void e_byte_unsigned_1d(const unsigned char* val); + extern void e_byte_unsigned_2d(const unsigned char* val); + extern void e_byte_unsigned_3d(const unsigned char* val); + extern void e_chandle_0d(void* val); + extern void e_chandle_1d(const void** val); + extern void e_chandle_2d(const void** val); + extern void e_chandle_3d(const void** val); + extern void e_int_0d(int val); + extern void e_int_1d(const int* val); + extern void e_int_2d(const int* val); + extern void e_int_3d(const int* val); + extern void e_int_unsigned_0d(unsigned int val); + extern void e_int_unsigned_1d(const unsigned int* val); + extern void e_int_unsigned_2d(const unsigned int* val); + extern void e_int_unsigned_3d(const unsigned int* val); + extern void e_integer_0d(const svLogicVecVal* val); + extern void e_integer_1d(const svLogicVecVal* val); + extern void e_integer_2d(const svLogicVecVal* val); + extern void e_integer_3d(const svLogicVecVal* val); + extern void e_logic121_0d(const svLogicVecVal* val); + extern void e_logic121_1d(const svLogicVecVal* val); + extern void e_logic121_2d(const svLogicVecVal* val); + extern void e_logic121_3d(const svLogicVecVal* val); + extern void e_logic1_0d(svLogic val); + extern void e_logic1_1d(const svLogic* val); + extern void e_logic1_2d(const svLogic* val); + extern void e_logic1_3d(const svLogic* val); + extern void e_logic7_0d(const svLogicVecVal* val); + extern void e_logic7_1d(const svLogicVecVal* val); + extern void e_logic7_2d(const svLogicVecVal* val); + extern void e_logic7_3d(const svLogicVecVal* val); + extern void e_longint_0d(long long val); + extern void e_longint_1d(const long long* val); + extern void e_longint_2d(const long long* val); + extern void e_longint_3d(const long long* val); + extern void e_longint_unsigned_0d(unsigned long long val); + extern void e_longint_unsigned_1d(const unsigned long long* val); + extern void e_longint_unsigned_2d(const unsigned long long* val); + extern void e_longint_unsigned_3d(const unsigned long long* val); + extern void e_pack_struct_0d(const svLogicVecVal* val); + extern void e_pack_struct_1d(const svLogicVecVal* val); + extern void e_pack_struct_2d(const svLogicVecVal* val); + extern void e_pack_struct_3d(const svLogicVecVal* val); + extern void e_real_0d(double val); + extern void e_real_1d(const double* val); + extern void e_real_2d(const double* val); + extern void e_real_3d(const double* val); + extern void e_shortint_0d(short val); + extern void e_shortint_1d(const short* val); + extern void e_shortint_2d(const short* val); + extern void e_shortint_3d(const short* val); + extern void e_shortint_unsigned_0d(unsigned short val); + extern void e_shortint_unsigned_1d(const unsigned short* val); + extern void e_shortint_unsigned_2d(const unsigned short* val); + extern void e_shortint_unsigned_3d(const unsigned short* val); + extern void e_string_0d(const char* val); + extern void e_string_1d(const char** val); + extern void e_string_2d(const char** val); + extern void e_string_3d(const char** val); + extern void e_time_0d(const svLogicVecVal* val); + extern void e_time_1d(const svLogicVecVal* val); + extern void e_time_2d(const svLogicVecVal* val); + extern void e_time_3d(const svLogicVecVal* val); + + // DPI IMPORTS + extern void check_exports(); + extern void* get_non_null(); + extern void i_bit121_0d(const svBitVecVal* val); + extern void i_bit121_1d(const svBitVecVal* val); + extern void i_bit121_2d(const svBitVecVal* val); + extern void i_bit121_3d(const svBitVecVal* val); + extern void i_bit1_0d(svBit val); + extern void i_bit1_1d(const svBit* val); + extern void i_bit1_2d(const svBit* val); + extern void i_bit1_3d(const svBit* val); + extern void i_bit7_0d(const svBitVecVal* val); + extern void i_bit7_1d(const svBitVecVal* val); + extern void i_bit7_2d(const svBitVecVal* val); + extern void i_bit7_3d(const svBitVecVal* val); + extern void i_byte_0d(char val); + extern void i_byte_1d(const char* val); + extern void i_byte_2d(const char* val); + extern void i_byte_3d(const char* val); + extern void i_byte_unsigned_0d(unsigned char val); + extern void i_byte_unsigned_1d(const unsigned char* val); + extern void i_byte_unsigned_2d(const unsigned char* val); + extern void i_byte_unsigned_3d(const unsigned char* val); + extern void i_chandle_0d(void* val); + extern void i_chandle_1d(const void** val); + extern void i_chandle_2d(const void** val); + extern void i_chandle_3d(const void** val); + extern void i_int_0d(int val); + extern void i_int_1d(const int* val); + extern void i_int_2d(const int* val); + extern void i_int_3d(const int* val); + extern void i_int_unsigned_0d(unsigned int val); + extern void i_int_unsigned_1d(const unsigned int* val); + extern void i_int_unsigned_2d(const unsigned int* val); + extern void i_int_unsigned_3d(const unsigned int* val); + extern void i_integer_0d(const svLogicVecVal* val); + extern void i_integer_1d(const svLogicVecVal* val); + extern void i_integer_2d(const svLogicVecVal* val); + extern void i_integer_3d(const svLogicVecVal* val); + extern void i_logic121_0d(const svLogicVecVal* val); + extern void i_logic121_1d(const svLogicVecVal* val); + extern void i_logic121_2d(const svLogicVecVal* val); + extern void i_logic121_3d(const svLogicVecVal* val); + extern void i_logic1_0d(svLogic val); + extern void i_logic1_1d(const svLogic* val); + extern void i_logic1_2d(const svLogic* val); + extern void i_logic1_3d(const svLogic* val); + extern void i_logic7_0d(const svLogicVecVal* val); + extern void i_logic7_1d(const svLogicVecVal* val); + extern void i_logic7_2d(const svLogicVecVal* val); + extern void i_logic7_3d(const svLogicVecVal* val); + extern void i_longint_0d(long long val); + extern void i_longint_1d(const long long* val); + extern void i_longint_2d(const long long* val); + extern void i_longint_3d(const long long* val); + extern void i_longint_unsigned_0d(unsigned long long val); + extern void i_longint_unsigned_1d(const unsigned long long* val); + extern void i_longint_unsigned_2d(const unsigned long long* val); + extern void i_longint_unsigned_3d(const unsigned long long* val); + extern void i_pack_struct_0d(const svLogicVecVal* val); + extern void i_pack_struct_1d(const svLogicVecVal* val); + extern void i_pack_struct_2d(const svLogicVecVal* val); + extern void i_pack_struct_3d(const svLogicVecVal* val); + extern void i_real_0d(double val); + extern void i_real_1d(const double* val); + extern void i_real_2d(const double* val); + extern void i_real_3d(const double* val); + extern void i_shortint_0d(short val); + extern void i_shortint_1d(const short* val); + extern void i_shortint_2d(const short* val); + extern void i_shortint_3d(const short* val); + extern void i_shortint_unsigned_0d(unsigned short val); + extern void i_shortint_unsigned_1d(const unsigned short* val); + extern void i_shortint_unsigned_2d(const unsigned short* val); + extern void i_shortint_unsigned_3d(const unsigned short* val); + extern void i_string_0d(const char* val); + extern void i_string_1d(const char** val); + extern void i_string_2d(const char** val); + extern void i_string_3d(const char** val); + extern void i_time_0d(const svLogicVecVal* val); + extern void i_time_1d(const svLogicVecVal* val); + extern void i_time_2d(const svLogicVecVal* val); + extern void i_time_3d(const svLogicVecVal* val); + #ifdef __cplusplus } #endif diff --git a/test_regress/t/t_dpi_arg_output_type.pl b/test_regress/t/t_dpi_arg_output_type.pl index b611513a8..d469bfc8a 100755 --- a/test_regress/t/t_dpi_arg_output_type.pl +++ b/test_regress/t/t_dpi_arg_output_type.pl @@ -20,7 +20,8 @@ if ($Self->{nc}) { compile( v_flags2 => ["t/t_dpi_arg_output_type.cpp"], - verilator_flags2 => ["-Wall -Wno-DECLFILENAME"], + # --no-decoration so .out file doesn't comment on source lines + verilator_flags2 => ["-Wall -Wno-DECLFILENAME --no-decoration"], # NC: Gdd the obj_dir to the C include path nc_flags2 => ["+ncscargs+-I$Self->{obj_dir}"], # ModelSim: Generate DPI header, add obj_dir to the C include path diff --git a/test_regress/t/t_dpi_arg_output_type__Dpi.out b/test_regress/t/t_dpi_arg_output_type__Dpi.out index 5f24130ff..f2bc7f4c6 100644 --- a/test_regress/t/t_dpi_arg_output_type__Dpi.out +++ b/test_regress/t/t_dpi_arg_output_type__Dpi.out @@ -10,278 +10,145 @@ #ifdef __cplusplus extern "C" { #endif - - - // DPI EXPORTS - // DPI export at t/t_dpi_arg_output_type.v:521:18 - extern void e_array_2_state_1(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:556:18 - extern void e_array_2_state_128(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:528:18 - extern void e_array_2_state_32(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:535:18 - extern void e_array_2_state_33(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:542:18 - extern void e_array_2_state_64(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:549:18 - extern void e_array_2_state_65(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:650:18 - extern void e_array_4_state_1(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:685:18 - extern void e_array_4_state_128(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:657:18 - extern void e_array_4_state_32(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:664:18 - extern void e_array_4_state_33(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:671:18 - extern void e_array_4_state_64(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:678:18 - extern void e_array_4_state_65(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:399:18 - extern void e_bit(svBit* o); - // DPI export at t/t_dpi_arg_output_type.v:506:18 - extern void e_bit_t(svBit* o); - // DPI export at t/t_dpi_arg_output_type.v:307:18 - extern void e_byte(char* o); - // DPI export at t/t_dpi_arg_output_type.v:414:18 - extern void e_byte_t(char* o); - // DPI export at t/t_dpi_arg_output_type.v:313:18 - extern void e_byte_unsigned(unsigned char* o); - // DPI export at t/t_dpi_arg_output_type.v:420:18 - extern void e_byte_unsigned_t(unsigned char* o); - // DPI export at t/t_dpi_arg_output_type.v:385:18 - extern void e_chandle(void** o); - // DPI export at t/t_dpi_arg_output_type.v:492:18 - extern void e_chandle_t(void** o); - // DPI export at t/t_dpi_arg_output_type.v:331:18 - extern void e_int(int* o); - // DPI export at t/t_dpi_arg_output_type.v:438:18 - extern void e_int_t(int* o); - // DPI export at t/t_dpi_arg_output_type.v:337:18 - extern void e_int_unsigned(unsigned int* o); - // DPI export at t/t_dpi_arg_output_type.v:444:18 - extern void e_int_unsigned_t(unsigned int* o); - // DPI export at t/t_dpi_arg_output_type.v:364:18 - extern void e_integer(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:471:18 - extern void e_integer_t(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:406:18 - extern void e_logic(svLogic* o); - // DPI export at t/t_dpi_arg_output_type.v:513:18 - extern void e_logic_t(svLogic* o); - // DPI export at t/t_dpi_arg_output_type.v:343:18 - extern void e_longint(long long* o); - // DPI export at t/t_dpi_arg_output_type.v:450:18 - extern void e_longint_t(long long* o); - // DPI export at t/t_dpi_arg_output_type.v:349:18 - extern void e_longint_unsigned(unsigned long long* o); - // DPI export at t/t_dpi_arg_output_type.v:456:18 - extern void e_longint_unsigned_t(unsigned long long* o); - // DPI export at t/t_dpi_arg_output_type.v:371:18 - extern void e_real(double* o); - // DPI export at t/t_dpi_arg_output_type.v:478:18 - extern void e_real_t(double* o); - // DPI export at t/t_dpi_arg_output_type.v:319:18 - extern void e_shortint(short* o); - // DPI export at t/t_dpi_arg_output_type.v:426:18 - extern void e_shortint_t(short* o); - // DPI export at t/t_dpi_arg_output_type.v:325:18 - extern void e_shortint_unsigned(unsigned short* o); - // DPI export at t/t_dpi_arg_output_type.v:432:18 - extern void e_shortint_unsigned_t(unsigned short* o); - // DPI export at t/t_dpi_arg_output_type.v:392:18 - extern void e_string(const char** o); - // DPI export at t/t_dpi_arg_output_type.v:499:18 - extern void e_string_t(const char** o); - // DPI export at t/t_dpi_arg_output_type.v:564:18 - extern void e_struct_2_state_1(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:599:18 - extern void e_struct_2_state_128(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:571:18 - extern void e_struct_2_state_32(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:578:18 - extern void e_struct_2_state_33(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:585:18 - extern void e_struct_2_state_64(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:592:18 - extern void e_struct_2_state_65(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:693:18 - extern void e_struct_4_state_1(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:728:18 - extern void e_struct_4_state_128(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:700:18 - extern void e_struct_4_state_32(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:707:18 - extern void e_struct_4_state_33(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:714:18 - extern void e_struct_4_state_64(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:721:18 - extern void e_struct_4_state_65(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:356:18 - extern void e_time(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:463:18 - extern void e_time_t(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:607:18 - extern void e_union_2_state_1(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:642:18 - extern void e_union_2_state_128(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:614:18 - extern void e_union_2_state_32(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:621:18 - extern void e_union_2_state_33(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:628:18 - extern void e_union_2_state_64(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:635:18 - extern void e_union_2_state_65(svBitVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:736:18 - extern void e_union_4_state_1(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:771:18 - extern void e_union_4_state_128(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:743:18 - extern void e_union_4_state_32(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:750:18 - extern void e_union_4_state_33(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:757:18 - extern void e_union_4_state_64(svLogicVecVal* o); - // DPI export at t/t_dpi_arg_output_type.v:764:18 - extern void e_union_4_state_65(svLogicVecVal* o); - - // DPI IMPORTS - // DPI import at t/t_dpi_arg_output_type.v:781:41 - extern void check_exports(); - // DPI import at t/t_dpi_arg_output_type.v:154:33 - extern void i_array_2_state_1(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:159:33 - extern void i_array_2_state_128(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:155:33 - extern void i_array_2_state_32(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:156:33 - extern void i_array_2_state_33(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:157:33 - extern void i_array_2_state_64(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:158:33 - extern void i_array_2_state_65(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:178:33 - extern void i_array_4_state_1(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:183:33 - extern void i_array_4_state_128(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:179:33 - extern void i_array_4_state_32(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:180:33 - extern void i_array_4_state_33(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:181:33 - extern void i_array_4_state_64(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:182:33 - extern void i_array_4_state_65(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:126:33 - extern void i_bit(svBit* o); - // DPI import at t/t_dpi_arg_output_type.v:150:33 - extern void i_bit_t(svBit* o); - // DPI import at t/t_dpi_arg_output_type.v:106:33 - extern void i_byte(char* o); - // DPI import at t/t_dpi_arg_output_type.v:130:33 - extern void i_byte_t(char* o); - // DPI import at t/t_dpi_arg_output_type.v:107:33 - extern void i_byte_unsigned(unsigned char* o); - // DPI import at t/t_dpi_arg_output_type.v:131:33 - extern void i_byte_unsigned_t(unsigned char* o); - // DPI import at t/t_dpi_arg_output_type.v:124:33 - extern void i_chandle(void** o); - // DPI import at t/t_dpi_arg_output_type.v:148:33 - extern void i_chandle_t(void** o); - // DPI import at t/t_dpi_arg_output_type.v:110:33 - extern void i_int(int* o); - // DPI import at t/t_dpi_arg_output_type.v:134:33 - extern void i_int_t(int* o); - // DPI import at t/t_dpi_arg_output_type.v:111:33 - extern void i_int_unsigned(unsigned int* o); - // DPI import at t/t_dpi_arg_output_type.v:135:33 - extern void i_int_unsigned_t(unsigned int* o); - // DPI import at t/t_dpi_arg_output_type.v:118:33 - extern void i_integer(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:142:33 - extern void i_integer_t(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:127:33 - extern void i_logic(svLogic* o); - // DPI import at t/t_dpi_arg_output_type.v:151:33 - extern void i_logic_t(svLogic* o); - // DPI import at t/t_dpi_arg_output_type.v:112:33 - extern void i_longint(long long* o); - // DPI import at t/t_dpi_arg_output_type.v:136:33 - extern void i_longint_t(long long* o); - // DPI import at t/t_dpi_arg_output_type.v:113:33 - extern void i_longint_unsigned(unsigned long long* o); - // DPI import at t/t_dpi_arg_output_type.v:137:33 - extern void i_longint_unsigned_t(unsigned long long* o); - // DPI import at t/t_dpi_arg_output_type.v:120:33 - extern void i_real(double* o); - // DPI import at t/t_dpi_arg_output_type.v:144:33 - extern void i_real_t(double* o); - // DPI import at t/t_dpi_arg_output_type.v:108:33 - extern void i_shortint(short* o); - // DPI import at t/t_dpi_arg_output_type.v:132:33 - extern void i_shortint_t(short* o); - // DPI import at t/t_dpi_arg_output_type.v:109:33 - extern void i_shortint_unsigned(unsigned short* o); - // DPI import at t/t_dpi_arg_output_type.v:133:33 - extern void i_shortint_unsigned_t(unsigned short* o); - // DPI import at t/t_dpi_arg_output_type.v:125:33 - extern void i_string(const char** o); - // DPI import at t/t_dpi_arg_output_type.v:149:33 - extern void i_string_t(const char** o); - // DPI import at t/t_dpi_arg_output_type.v:162:33 - extern void i_struct_2_state_1(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:167:33 - extern void i_struct_2_state_128(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:163:33 - extern void i_struct_2_state_32(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:164:33 - extern void i_struct_2_state_33(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:165:33 - extern void i_struct_2_state_64(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:166:33 - extern void i_struct_2_state_65(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:186:33 - extern void i_struct_4_state_1(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:191:33 - extern void i_struct_4_state_128(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:187:33 - extern void i_struct_4_state_32(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:188:33 - extern void i_struct_4_state_33(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:189:33 - extern void i_struct_4_state_64(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:190:33 - extern void i_struct_4_state_65(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:115:33 - extern void i_time(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:139:33 - extern void i_time_t(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:170:33 - extern void i_union_2_state_1(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:175:33 - extern void i_union_2_state_128(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:171:33 - extern void i_union_2_state_32(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:172:33 - extern void i_union_2_state_33(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:173:33 - extern void i_union_2_state_64(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:174:33 - extern void i_union_2_state_65(svBitVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:194:33 - extern void i_union_4_state_1(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:199:33 - extern void i_union_4_state_128(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:195:33 - extern void i_union_4_state_32(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:196:33 - extern void i_union_4_state_33(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:197:33 - extern void i_union_4_state_64(svLogicVecVal* o); - // DPI import at t/t_dpi_arg_output_type.v:198:33 - extern void i_union_4_state_65(svLogicVecVal* o); - + + + // DPI EXPORTS + extern void e_array_2_state_1(svBitVecVal* o); + extern void e_array_2_state_128(svBitVecVal* o); + extern void e_array_2_state_32(svBitVecVal* o); + extern void e_array_2_state_33(svBitVecVal* o); + extern void e_array_2_state_64(svBitVecVal* o); + extern void e_array_2_state_65(svBitVecVal* o); + extern void e_array_4_state_1(svLogicVecVal* o); + extern void e_array_4_state_128(svLogicVecVal* o); + extern void e_array_4_state_32(svLogicVecVal* o); + extern void e_array_4_state_33(svLogicVecVal* o); + extern void e_array_4_state_64(svLogicVecVal* o); + extern void e_array_4_state_65(svLogicVecVal* o); + extern void e_bit(svBit* o); + extern void e_bit_t(svBit* o); + extern void e_byte(char* o); + extern void e_byte_t(char* o); + extern void e_byte_unsigned(unsigned char* o); + extern void e_byte_unsigned_t(unsigned char* o); + extern void e_chandle(void** o); + extern void e_chandle_t(void** o); + extern void e_int(int* o); + extern void e_int_t(int* o); + extern void e_int_unsigned(unsigned int* o); + extern void e_int_unsigned_t(unsigned int* o); + extern void e_integer(svLogicVecVal* o); + extern void e_integer_t(svLogicVecVal* o); + extern void e_logic(svLogic* o); + extern void e_logic_t(svLogic* o); + extern void e_longint(long long* o); + extern void e_longint_t(long long* o); + extern void e_longint_unsigned(unsigned long long* o); + extern void e_longint_unsigned_t(unsigned long long* o); + extern void e_real(double* o); + extern void e_real_t(double* o); + extern void e_shortint(short* o); + extern void e_shortint_t(short* o); + extern void e_shortint_unsigned(unsigned short* o); + extern void e_shortint_unsigned_t(unsigned short* o); + extern void e_string(const char** o); + extern void e_string_t(const char** o); + extern void e_struct_2_state_1(svBitVecVal* o); + extern void e_struct_2_state_128(svBitVecVal* o); + extern void e_struct_2_state_32(svBitVecVal* o); + extern void e_struct_2_state_33(svBitVecVal* o); + extern void e_struct_2_state_64(svBitVecVal* o); + extern void e_struct_2_state_65(svBitVecVal* o); + extern void e_struct_4_state_1(svLogicVecVal* o); + extern void e_struct_4_state_128(svLogicVecVal* o); + extern void e_struct_4_state_32(svLogicVecVal* o); + extern void e_struct_4_state_33(svLogicVecVal* o); + extern void e_struct_4_state_64(svLogicVecVal* o); + extern void e_struct_4_state_65(svLogicVecVal* o); + extern void e_time(svLogicVecVal* o); + extern void e_time_t(svLogicVecVal* o); + extern void e_union_2_state_1(svBitVecVal* o); + extern void e_union_2_state_128(svBitVecVal* o); + extern void e_union_2_state_32(svBitVecVal* o); + extern void e_union_2_state_33(svBitVecVal* o); + extern void e_union_2_state_64(svBitVecVal* o); + extern void e_union_2_state_65(svBitVecVal* o); + extern void e_union_4_state_1(svLogicVecVal* o); + extern void e_union_4_state_128(svLogicVecVal* o); + extern void e_union_4_state_32(svLogicVecVal* o); + extern void e_union_4_state_33(svLogicVecVal* o); + extern void e_union_4_state_64(svLogicVecVal* o); + extern void e_union_4_state_65(svLogicVecVal* o); + + // DPI IMPORTS + extern void check_exports(); + extern void i_array_2_state_1(svBitVecVal* o); + extern void i_array_2_state_128(svBitVecVal* o); + extern void i_array_2_state_32(svBitVecVal* o); + extern void i_array_2_state_33(svBitVecVal* o); + extern void i_array_2_state_64(svBitVecVal* o); + extern void i_array_2_state_65(svBitVecVal* o); + extern void i_array_4_state_1(svLogicVecVal* o); + extern void i_array_4_state_128(svLogicVecVal* o); + extern void i_array_4_state_32(svLogicVecVal* o); + extern void i_array_4_state_33(svLogicVecVal* o); + extern void i_array_4_state_64(svLogicVecVal* o); + extern void i_array_4_state_65(svLogicVecVal* o); + extern void i_bit(svBit* o); + extern void i_bit_t(svBit* o); + extern void i_byte(char* o); + extern void i_byte_t(char* o); + extern void i_byte_unsigned(unsigned char* o); + extern void i_byte_unsigned_t(unsigned char* o); + extern void i_chandle(void** o); + extern void i_chandle_t(void** o); + extern void i_int(int* o); + extern void i_int_t(int* o); + extern void i_int_unsigned(unsigned int* o); + extern void i_int_unsigned_t(unsigned int* o); + extern void i_integer(svLogicVecVal* o); + extern void i_integer_t(svLogicVecVal* o); + extern void i_logic(svLogic* o); + extern void i_logic_t(svLogic* o); + extern void i_longint(long long* o); + extern void i_longint_t(long long* o); + extern void i_longint_unsigned(unsigned long long* o); + extern void i_longint_unsigned_t(unsigned long long* o); + extern void i_real(double* o); + extern void i_real_t(double* o); + extern void i_shortint(short* o); + extern void i_shortint_t(short* o); + extern void i_shortint_unsigned(unsigned short* o); + extern void i_shortint_unsigned_t(unsigned short* o); + extern void i_string(const char** o); + extern void i_string_t(const char** o); + extern void i_struct_2_state_1(svBitVecVal* o); + extern void i_struct_2_state_128(svBitVecVal* o); + extern void i_struct_2_state_32(svBitVecVal* o); + extern void i_struct_2_state_33(svBitVecVal* o); + extern void i_struct_2_state_64(svBitVecVal* o); + extern void i_struct_2_state_65(svBitVecVal* o); + extern void i_struct_4_state_1(svLogicVecVal* o); + extern void i_struct_4_state_128(svLogicVecVal* o); + extern void i_struct_4_state_32(svLogicVecVal* o); + extern void i_struct_4_state_33(svLogicVecVal* o); + extern void i_struct_4_state_64(svLogicVecVal* o); + extern void i_struct_4_state_65(svLogicVecVal* o); + extern void i_time(svLogicVecVal* o); + extern void i_time_t(svLogicVecVal* o); + extern void i_union_2_state_1(svBitVecVal* o); + extern void i_union_2_state_128(svBitVecVal* o); + extern void i_union_2_state_32(svBitVecVal* o); + extern void i_union_2_state_33(svBitVecVal* o); + extern void i_union_2_state_64(svBitVecVal* o); + extern void i_union_2_state_65(svBitVecVal* o); + extern void i_union_4_state_1(svLogicVecVal* o); + extern void i_union_4_state_128(svLogicVecVal* o); + extern void i_union_4_state_32(svLogicVecVal* o); + extern void i_union_4_state_33(svLogicVecVal* o); + extern void i_union_4_state_64(svLogicVecVal* o); + extern void i_union_4_state_65(svLogicVecVal* o); + #ifdef __cplusplus } #endif diff --git a/test_regress/t/t_dpi_arg_output_unpack.pl b/test_regress/t/t_dpi_arg_output_unpack.pl index 4a2f325ab..c4b0c26de 100755 --- a/test_regress/t/t_dpi_arg_output_unpack.pl +++ b/test_regress/t/t_dpi_arg_output_unpack.pl @@ -20,7 +20,8 @@ if ($Self->{nc}) { compile( v_flags2 => ["t/t_dpi_arg_output_unpack.cpp"], - verilator_flags2 => ["-Wall -Wno-DECLFILENAME"], + # --no-decoration so .out file doesn't comment on source lines + verilator_flags2 => ["-Wall -Wno-DECLFILENAME --no-decoration"], # NC: Gdd the obj_dir to the C include path nc_flags2 => ["+ncscargs+-I$Self->{obj_dir}"], # ModelSim: Generate DPI header, add obj_dir to the C include path diff --git a/test_regress/t/t_dpi_arg_output_unpack__Dpi.out b/test_regress/t/t_dpi_arg_output_unpack__Dpi.out index e8104ed47..e3a2729a4 100644 --- a/test_regress/t/t_dpi_arg_output_unpack__Dpi.out +++ b/test_regress/t/t_dpi_arg_output_unpack__Dpi.out @@ -10,336 +10,174 @@ #ifdef __cplusplus extern "C" { #endif - - - // DPI EXPORTS - // DPI export at t/t_dpi_arg_output_unpack.v:503:18 - extern void e_bit121_0d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:504:18 - extern void e_bit121_1d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:505:18 - extern void e_bit121_2d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:506:18 - extern void e_bit121_3d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:493:18 - extern void e_bit1_0d(svBit* val); - // DPI export at t/t_dpi_arg_output_unpack.v:494:18 - extern void e_bit1_1d(svBit* val); - // DPI export at t/t_dpi_arg_output_unpack.v:495:18 - extern void e_bit1_2d(svBit* val); - // DPI export at t/t_dpi_arg_output_unpack.v:496:18 - extern void e_bit1_3d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:498:18 - extern void e_bit7_0d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:499:18 - extern void e_bit7_1d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:500:18 - extern void e_bit7_2d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:501:18 - extern void e_bit7_3d(svBitVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:389:18 - extern void e_byte_0d(char* val); - // DPI export at t/t_dpi_arg_output_unpack.v:390:18 - extern void e_byte_1d(char* val); - // DPI export at t/t_dpi_arg_output_unpack.v:391:18 - extern void e_byte_2d(char* val); - // DPI export at t/t_dpi_arg_output_unpack.v:392:18 - extern void e_byte_3d(char* val); - // DPI export at t/t_dpi_arg_output_unpack.v:394:18 - extern void e_byte_unsigned_0d(unsigned char* val); - // DPI export at t/t_dpi_arg_output_unpack.v:395:18 - extern void e_byte_unsigned_1d(unsigned char* val); - // DPI export at t/t_dpi_arg_output_unpack.v:396:18 - extern void e_byte_unsigned_2d(unsigned char* val); - // DPI export at t/t_dpi_arg_output_unpack.v:397:18 - extern void e_byte_unsigned_3d(unsigned char* val); - // DPI export at t/t_dpi_arg_output_unpack.v:455:18 - extern void e_chandle_0d(void** val); - // DPI export at t/t_dpi_arg_output_unpack.v:458:18 - extern void e_chandle_1d(void** val); - // DPI export at t/t_dpi_arg_output_unpack.v:462:18 - extern void e_chandle_2d(void** val); - // DPI export at t/t_dpi_arg_output_unpack.v:467:18 - extern void e_chandle_3d(void** val); - // DPI export at t/t_dpi_arg_output_unpack.v:409:18 - extern void e_int_0d(int* val); - // DPI export at t/t_dpi_arg_output_unpack.v:410:18 - extern void e_int_1d(int* val); - // DPI export at t/t_dpi_arg_output_unpack.v:411:18 - extern void e_int_2d(int* val); - // DPI export at t/t_dpi_arg_output_unpack.v:412:18 - extern void e_int_3d(int* val); - // DPI export at t/t_dpi_arg_output_unpack.v:414:18 - extern void e_int_unsigned_0d(unsigned int* val); - // DPI export at t/t_dpi_arg_output_unpack.v:415:18 - extern void e_int_unsigned_1d(unsigned int* val); - // DPI export at t/t_dpi_arg_output_unpack.v:416:18 - extern void e_int_unsigned_2d(unsigned int* val); - // DPI export at t/t_dpi_arg_output_unpack.v:417:18 - extern void e_int_unsigned_3d(unsigned int* val); - // DPI export at t/t_dpi_arg_output_unpack.v:437:18 - extern void e_integer_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:438:18 - extern void e_integer_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:439:18 - extern void e_integer_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:440:18 - extern void e_integer_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:518:18 - extern void e_logic121_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:519:18 - extern void e_logic121_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:520:18 - extern void e_logic121_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:521:18 - extern void e_logic121_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:508:18 - extern void e_logic1_0d(svLogic* val); - // DPI export at t/t_dpi_arg_output_unpack.v:509:18 - extern void e_logic1_1d(svLogic* val); - // DPI export at t/t_dpi_arg_output_unpack.v:510:18 - extern void e_logic1_2d(svLogic* val); - // DPI export at t/t_dpi_arg_output_unpack.v:511:18 - extern void e_logic1_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:513:18 - extern void e_logic7_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:514:18 - extern void e_logic7_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:515:18 - extern void e_logic7_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:516:18 - extern void e_logic7_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:419:18 - extern void e_longint_0d(long long* val); - // DPI export at t/t_dpi_arg_output_unpack.v:420:18 - extern void e_longint_1d(long long* val); - // DPI export at t/t_dpi_arg_output_unpack.v:421:18 - extern void e_longint_2d(long long* val); - // DPI export at t/t_dpi_arg_output_unpack.v:422:18 - extern void e_longint_3d(long long* val); - // DPI export at t/t_dpi_arg_output_unpack.v:424:18 - extern void e_longint_unsigned_0d(unsigned long long* val); - // DPI export at t/t_dpi_arg_output_unpack.v:425:18 - extern void e_longint_unsigned_1d(unsigned long long* val); - // DPI export at t/t_dpi_arg_output_unpack.v:426:18 - extern void e_longint_unsigned_2d(unsigned long long* val); - // DPI export at t/t_dpi_arg_output_unpack.v:427:18 - extern void e_longint_unsigned_3d(unsigned long long* val); - // DPI export at t/t_dpi_arg_output_unpack.v:523:18 - extern void e_pack_struct_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:524:18 - extern void e_pack_struct_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:525:18 - extern void e_pack_struct_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:526:18 - extern void e_pack_struct_3d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:443:18 - extern void e_real_0d(double* val); - // DPI export at t/t_dpi_arg_output_unpack.v:444:18 - extern void e_real_1d(double* val); - // DPI export at t/t_dpi_arg_output_unpack.v:445:18 - extern void e_real_2d(double* val); - // DPI export at t/t_dpi_arg_output_unpack.v:446:18 - extern void e_real_3d(double* val); - // DPI export at t/t_dpi_arg_output_unpack.v:399:18 - extern void e_shortint_0d(short* val); - // DPI export at t/t_dpi_arg_output_unpack.v:400:18 - extern void e_shortint_1d(short* val); - // DPI export at t/t_dpi_arg_output_unpack.v:401:18 - extern void e_shortint_2d(short* val); - // DPI export at t/t_dpi_arg_output_unpack.v:402:18 - extern void e_shortint_3d(short* val); - // DPI export at t/t_dpi_arg_output_unpack.v:404:18 - extern void e_shortint_unsigned_0d(unsigned short* val); - // DPI export at t/t_dpi_arg_output_unpack.v:405:18 - extern void e_shortint_unsigned_1d(unsigned short* val); - // DPI export at t/t_dpi_arg_output_unpack.v:406:18 - extern void e_shortint_unsigned_2d(unsigned short* val); - // DPI export at t/t_dpi_arg_output_unpack.v:407:18 - extern void e_shortint_unsigned_3d(unsigned short* val); - // DPI export at t/t_dpi_arg_output_unpack.v:474:18 - extern void e_string_0d(const char** val); - // DPI export at t/t_dpi_arg_output_unpack.v:477:18 - extern void e_string_1d(const char** val); - // DPI export at t/t_dpi_arg_output_unpack.v:481:18 - extern void e_string_2d(const char** val); - // DPI export at t/t_dpi_arg_output_unpack.v:486:18 - extern void e_string_3d(const char** val); - // DPI export at t/t_dpi_arg_output_unpack.v:430:18 - extern void e_time_0d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:431:18 - extern void e_time_1d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:432:18 - extern void e_time_2d(svLogicVecVal* val); - // DPI export at t/t_dpi_arg_output_unpack.v:433:18 - extern void e_time_3d(svLogicVecVal* val); - - // DPI IMPORTS - // DPI import at t/t_dpi_arg_output_unpack.v:553:41 - extern void check_exports(); - // DPI import at t/t_dpi_arg_output_unpack.v:129:36 - extern void* get_non_null(); - // DPI import at t/t_dpi_arg_output_unpack.v:217:33 - extern void i_bit121_0d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:218:33 - extern void i_bit121_1d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:219:33 - extern void i_bit121_2d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:220:33 - extern void i_bit121_3d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:207:33 - extern void i_bit1_0d(svBit* val); - // DPI import at t/t_dpi_arg_output_unpack.v:208:33 - extern void i_bit1_1d(svBit* val); - // DPI import at t/t_dpi_arg_output_unpack.v:209:33 - extern void i_bit1_2d(svBit* val); - // DPI import at t/t_dpi_arg_output_unpack.v:210:33 - extern void i_bit1_3d(svBit* val); - // DPI import at t/t_dpi_arg_output_unpack.v:212:33 - extern void i_bit7_0d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:213:33 - extern void i_bit7_1d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:214:33 - extern void i_bit7_2d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:215:33 - extern void i_bit7_3d(svBitVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:131:33 - extern void i_byte_0d(char* val); - // DPI import at t/t_dpi_arg_output_unpack.v:132:33 - extern void i_byte_1d(char* val); - // DPI import at t/t_dpi_arg_output_unpack.v:133:33 - extern void i_byte_2d(char* val); - // DPI import at t/t_dpi_arg_output_unpack.v:134:33 - extern void i_byte_3d(char* val); - // DPI import at t/t_dpi_arg_output_unpack.v:136:33 - extern void i_byte_unsigned_0d(unsigned char* val); - // DPI import at t/t_dpi_arg_output_unpack.v:137:33 - extern void i_byte_unsigned_1d(unsigned char* val); - // DPI import at t/t_dpi_arg_output_unpack.v:138:33 - extern void i_byte_unsigned_2d(unsigned char* val); - // DPI import at t/t_dpi_arg_output_unpack.v:139:33 - extern void i_byte_unsigned_3d(unsigned char* val); - // DPI import at t/t_dpi_arg_output_unpack.v:197:33 - extern void i_chandle_0d(void** val); - // DPI import at t/t_dpi_arg_output_unpack.v:198:33 - extern void i_chandle_1d(void** val); - // DPI import at t/t_dpi_arg_output_unpack.v:199:33 - extern void i_chandle_2d(void** val); - // DPI import at t/t_dpi_arg_output_unpack.v:200:33 - extern void i_chandle_3d(void** val); - // DPI import at t/t_dpi_arg_output_unpack.v:151:33 - extern void i_int_0d(int* val); - // DPI import at t/t_dpi_arg_output_unpack.v:152:33 - extern void i_int_1d(int* val); - // DPI import at t/t_dpi_arg_output_unpack.v:153:33 - extern void i_int_2d(int* val); - // DPI import at t/t_dpi_arg_output_unpack.v:154:33 - extern void i_int_3d(int* val); - // DPI import at t/t_dpi_arg_output_unpack.v:156:33 - extern void i_int_unsigned_0d(unsigned int* val); - // DPI import at t/t_dpi_arg_output_unpack.v:157:33 - extern void i_int_unsigned_1d(unsigned int* val); - // DPI import at t/t_dpi_arg_output_unpack.v:158:33 - extern void i_int_unsigned_2d(unsigned int* val); - // DPI import at t/t_dpi_arg_output_unpack.v:159:33 - extern void i_int_unsigned_3d(unsigned int* val); - // DPI import at t/t_dpi_arg_output_unpack.v:179:33 - extern void i_integer_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:180:33 - extern void i_integer_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:181:33 - extern void i_integer_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:182:33 - extern void i_integer_3d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:232:33 - extern void i_logic121_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:233:33 - extern void i_logic121_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:234:33 - extern void i_logic121_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:235:33 - extern void i_logic121_3d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:222:33 - extern void i_logic1_0d(svLogic* val); - // DPI import at t/t_dpi_arg_output_unpack.v:223:33 - extern void i_logic1_1d(svLogic* val); - // DPI import at t/t_dpi_arg_output_unpack.v:224:33 - extern void i_logic1_2d(svLogic* val); - // DPI import at t/t_dpi_arg_output_unpack.v:225:33 - extern void i_logic1_3d(svLogic* val); - // DPI import at t/t_dpi_arg_output_unpack.v:227:33 - extern void i_logic7_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:228:33 - extern void i_logic7_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:229:33 - extern void i_logic7_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:230:33 - extern void i_logic7_3d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:161:33 - extern void i_longint_0d(long long* val); - // DPI import at t/t_dpi_arg_output_unpack.v:162:33 - extern void i_longint_1d(long long* val); - // DPI import at t/t_dpi_arg_output_unpack.v:163:33 - extern void i_longint_2d(long long* val); - // DPI import at t/t_dpi_arg_output_unpack.v:164:33 - extern void i_longint_3d(long long* val); - // DPI import at t/t_dpi_arg_output_unpack.v:166:33 - extern void i_longint_unsigned_0d(unsigned long long* val); - // DPI import at t/t_dpi_arg_output_unpack.v:167:33 - extern void i_longint_unsigned_1d(unsigned long long* val); - // DPI import at t/t_dpi_arg_output_unpack.v:168:33 - extern void i_longint_unsigned_2d(unsigned long long* val); - // DPI import at t/t_dpi_arg_output_unpack.v:169:33 - extern void i_longint_unsigned_3d(unsigned long long* val); - // DPI import at t/t_dpi_arg_output_unpack.v:237:33 - extern void i_pack_struct_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:238:33 - extern void i_pack_struct_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:239:33 - extern void i_pack_struct_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:240:33 - extern void i_pack_struct_3d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:185:33 - extern void i_real_0d(double* val); - // DPI import at t/t_dpi_arg_output_unpack.v:186:33 - extern void i_real_1d(double* val); - // DPI import at t/t_dpi_arg_output_unpack.v:187:33 - extern void i_real_2d(double* val); - // DPI import at t/t_dpi_arg_output_unpack.v:188:33 - extern void i_real_3d(double* val); - // DPI import at t/t_dpi_arg_output_unpack.v:141:33 - extern void i_shortint_0d(short* val); - // DPI import at t/t_dpi_arg_output_unpack.v:142:33 - extern void i_shortint_1d(short* val); - // DPI import at t/t_dpi_arg_output_unpack.v:143:33 - extern void i_shortint_2d(short* val); - // DPI import at t/t_dpi_arg_output_unpack.v:144:33 - extern void i_shortint_3d(short* val); - // DPI import at t/t_dpi_arg_output_unpack.v:146:33 - extern void i_shortint_unsigned_0d(unsigned short* val); - // DPI import at t/t_dpi_arg_output_unpack.v:147:33 - extern void i_shortint_unsigned_1d(unsigned short* val); - // DPI import at t/t_dpi_arg_output_unpack.v:148:33 - extern void i_shortint_unsigned_2d(unsigned short* val); - // DPI import at t/t_dpi_arg_output_unpack.v:149:33 - extern void i_shortint_unsigned_3d(unsigned short* val); - // DPI import at t/t_dpi_arg_output_unpack.v:202:33 - extern void i_string_0d(const char** val); - // DPI import at t/t_dpi_arg_output_unpack.v:203:33 - extern void i_string_1d(const char** val); - // DPI import at t/t_dpi_arg_output_unpack.v:204:33 - extern void i_string_2d(const char** val); - // DPI import at t/t_dpi_arg_output_unpack.v:205:33 - extern void i_string_3d(const char** val); - // DPI import at t/t_dpi_arg_output_unpack.v:172:33 - extern void i_time_0d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:173:33 - extern void i_time_1d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:174:33 - extern void i_time_2d(svLogicVecVal* val); - // DPI import at t/t_dpi_arg_output_unpack.v:175:33 - extern void i_time_3d(svLogicVecVal* val); - + + + // DPI EXPORTS + extern void e_bit121_0d(svBitVecVal* val); + extern void e_bit121_1d(svBitVecVal* val); + extern void e_bit121_2d(svBitVecVal* val); + extern void e_bit121_3d(svBitVecVal* val); + extern void e_bit1_0d(svBit* val); + extern void e_bit1_1d(svBit* val); + extern void e_bit1_2d(svBit* val); + extern void e_bit1_3d(svBitVecVal* val); + extern void e_bit7_0d(svBitVecVal* val); + extern void e_bit7_1d(svBitVecVal* val); + extern void e_bit7_2d(svBitVecVal* val); + extern void e_bit7_3d(svBitVecVal* val); + extern void e_byte_0d(char* val); + extern void e_byte_1d(char* val); + extern void e_byte_2d(char* val); + extern void e_byte_3d(char* val); + extern void e_byte_unsigned_0d(unsigned char* val); + extern void e_byte_unsigned_1d(unsigned char* val); + extern void e_byte_unsigned_2d(unsigned char* val); + extern void e_byte_unsigned_3d(unsigned char* val); + extern void e_chandle_0d(void** val); + extern void e_chandle_1d(void** val); + extern void e_chandle_2d(void** val); + extern void e_chandle_3d(void** val); + extern void e_int_0d(int* val); + extern void e_int_1d(int* val); + extern void e_int_2d(int* val); + extern void e_int_3d(int* val); + extern void e_int_unsigned_0d(unsigned int* val); + extern void e_int_unsigned_1d(unsigned int* val); + extern void e_int_unsigned_2d(unsigned int* val); + extern void e_int_unsigned_3d(unsigned int* val); + extern void e_integer_0d(svLogicVecVal* val); + extern void e_integer_1d(svLogicVecVal* val); + extern void e_integer_2d(svLogicVecVal* val); + extern void e_integer_3d(svLogicVecVal* val); + extern void e_logic121_0d(svLogicVecVal* val); + extern void e_logic121_1d(svLogicVecVal* val); + extern void e_logic121_2d(svLogicVecVal* val); + extern void e_logic121_3d(svLogicVecVal* val); + extern void e_logic1_0d(svLogic* val); + extern void e_logic1_1d(svLogic* val); + extern void e_logic1_2d(svLogic* val); + extern void e_logic1_3d(svLogicVecVal* val); + extern void e_logic7_0d(svLogicVecVal* val); + extern void e_logic7_1d(svLogicVecVal* val); + extern void e_logic7_2d(svLogicVecVal* val); + extern void e_logic7_3d(svLogicVecVal* val); + extern void e_longint_0d(long long* val); + extern void e_longint_1d(long long* val); + extern void e_longint_2d(long long* val); + extern void e_longint_3d(long long* val); + extern void e_longint_unsigned_0d(unsigned long long* val); + extern void e_longint_unsigned_1d(unsigned long long* val); + extern void e_longint_unsigned_2d(unsigned long long* val); + extern void e_longint_unsigned_3d(unsigned long long* val); + extern void e_pack_struct_0d(svLogicVecVal* val); + extern void e_pack_struct_1d(svLogicVecVal* val); + extern void e_pack_struct_2d(svLogicVecVal* val); + extern void e_pack_struct_3d(svLogicVecVal* val); + extern void e_real_0d(double* val); + extern void e_real_1d(double* val); + extern void e_real_2d(double* val); + extern void e_real_3d(double* val); + extern void e_shortint_0d(short* val); + extern void e_shortint_1d(short* val); + extern void e_shortint_2d(short* val); + extern void e_shortint_3d(short* val); + extern void e_shortint_unsigned_0d(unsigned short* val); + extern void e_shortint_unsigned_1d(unsigned short* val); + extern void e_shortint_unsigned_2d(unsigned short* val); + extern void e_shortint_unsigned_3d(unsigned short* val); + extern void e_string_0d(const char** val); + extern void e_string_1d(const char** val); + extern void e_string_2d(const char** val); + extern void e_string_3d(const char** val); + extern void e_time_0d(svLogicVecVal* val); + extern void e_time_1d(svLogicVecVal* val); + extern void e_time_2d(svLogicVecVal* val); + extern void e_time_3d(svLogicVecVal* val); + + // DPI IMPORTS + extern void check_exports(); + extern void* get_non_null(); + extern void i_bit121_0d(svBitVecVal* val); + extern void i_bit121_1d(svBitVecVal* val); + extern void i_bit121_2d(svBitVecVal* val); + extern void i_bit121_3d(svBitVecVal* val); + extern void i_bit1_0d(svBit* val); + extern void i_bit1_1d(svBit* val); + extern void i_bit1_2d(svBit* val); + extern void i_bit1_3d(svBit* val); + extern void i_bit7_0d(svBitVecVal* val); + extern void i_bit7_1d(svBitVecVal* val); + extern void i_bit7_2d(svBitVecVal* val); + extern void i_bit7_3d(svBitVecVal* val); + extern void i_byte_0d(char* val); + extern void i_byte_1d(char* val); + extern void i_byte_2d(char* val); + extern void i_byte_3d(char* val); + extern void i_byte_unsigned_0d(unsigned char* val); + extern void i_byte_unsigned_1d(unsigned char* val); + extern void i_byte_unsigned_2d(unsigned char* val); + extern void i_byte_unsigned_3d(unsigned char* val); + extern void i_chandle_0d(void** val); + extern void i_chandle_1d(void** val); + extern void i_chandle_2d(void** val); + extern void i_chandle_3d(void** val); + extern void i_int_0d(int* val); + extern void i_int_1d(int* val); + extern void i_int_2d(int* val); + extern void i_int_3d(int* val); + extern void i_int_unsigned_0d(unsigned int* val); + extern void i_int_unsigned_1d(unsigned int* val); + extern void i_int_unsigned_2d(unsigned int* val); + extern void i_int_unsigned_3d(unsigned int* val); + extern void i_integer_0d(svLogicVecVal* val); + extern void i_integer_1d(svLogicVecVal* val); + extern void i_integer_2d(svLogicVecVal* val); + extern void i_integer_3d(svLogicVecVal* val); + extern void i_logic121_0d(svLogicVecVal* val); + extern void i_logic121_1d(svLogicVecVal* val); + extern void i_logic121_2d(svLogicVecVal* val); + extern void i_logic121_3d(svLogicVecVal* val); + extern void i_logic1_0d(svLogic* val); + extern void i_logic1_1d(svLogic* val); + extern void i_logic1_2d(svLogic* val); + extern void i_logic1_3d(svLogic* val); + extern void i_logic7_0d(svLogicVecVal* val); + extern void i_logic7_1d(svLogicVecVal* val); + extern void i_logic7_2d(svLogicVecVal* val); + extern void i_logic7_3d(svLogicVecVal* val); + extern void i_longint_0d(long long* val); + extern void i_longint_1d(long long* val); + extern void i_longint_2d(long long* val); + extern void i_longint_3d(long long* val); + extern void i_longint_unsigned_0d(unsigned long long* val); + extern void i_longint_unsigned_1d(unsigned long long* val); + extern void i_longint_unsigned_2d(unsigned long long* val); + extern void i_longint_unsigned_3d(unsigned long long* val); + extern void i_pack_struct_0d(svLogicVecVal* val); + extern void i_pack_struct_1d(svLogicVecVal* val); + extern void i_pack_struct_2d(svLogicVecVal* val); + extern void i_pack_struct_3d(svLogicVecVal* val); + extern void i_real_0d(double* val); + extern void i_real_1d(double* val); + extern void i_real_2d(double* val); + extern void i_real_3d(double* val); + extern void i_shortint_0d(short* val); + extern void i_shortint_1d(short* val); + extern void i_shortint_2d(short* val); + extern void i_shortint_3d(short* val); + extern void i_shortint_unsigned_0d(unsigned short* val); + extern void i_shortint_unsigned_1d(unsigned short* val); + extern void i_shortint_unsigned_2d(unsigned short* val); + extern void i_shortint_unsigned_3d(unsigned short* val); + extern void i_string_0d(const char** val); + extern void i_string_1d(const char** val); + extern void i_string_2d(const char** val); + extern void i_string_3d(const char** val); + extern void i_time_0d(svLogicVecVal* val); + extern void i_time_1d(svLogicVecVal* val); + extern void i_time_2d(svLogicVecVal* val); + extern void i_time_3d(svLogicVecVal* val); + #ifdef __cplusplus } #endif diff --git a/test_regress/t/t_dpi_result_type.pl b/test_regress/t/t_dpi_result_type.pl index 76761b85a..7796879c7 100755 --- a/test_regress/t/t_dpi_result_type.pl +++ b/test_regress/t/t_dpi_result_type.pl @@ -20,7 +20,8 @@ if ($Self->{nc}) { compile( v_flags2 => ["t/t_dpi_result_type.cpp"], - verilator_flags2 => ["-Wall -Wno-DECLFILENAME"], + # --no-decoration so .out file doesn't comment on source lines + verilator_flags2 => ["-Wall -Wno-DECLFILENAME --no-decoration"], # NC: Gdd the obj_dir to the C include path nc_flags2 => ["+ncscargs+-I$Self->{obj_dir}"], # ModelSim: Generate DPI header, add obj_dir to the C include path diff --git a/test_regress/t/t_dpi_result_type__Dpi.out b/test_regress/t/t_dpi_result_type__Dpi.out index 680a6d05c..e5d541f43 100644 --- a/test_regress/t/t_dpi_result_type__Dpi.out +++ b/test_regress/t/t_dpi_result_type__Dpi.out @@ -10,146 +10,79 @@ #ifdef __cplusplus extern "C" { #endif - - - // DPI EXPORTS - // DPI export at t/t_dpi_result_type.v:393:24 - extern svBitVecVal e_array_2_state_1(); - // DPI export at t/t_dpi_result_type.v:400:24 - extern svBitVecVal e_array_2_state_32(); - // DPI export at t/t_dpi_result_type.v:284:17 - extern svBit e_bit(); - // DPI export at t/t_dpi_result_type.v:377:19 - extern svBit e_bit_t(); - // DPI export at t/t_dpi_result_type.v:206:18 - extern char e_byte(); - // DPI export at t/t_dpi_result_type.v:299:20 - extern char e_byte_t(); - // DPI export at t/t_dpi_result_type.v:212:27 - extern unsigned char e_byte_unsigned(); - // DPI export at t/t_dpi_result_type.v:305:29 - extern unsigned char e_byte_unsigned_t(); - // DPI export at t/t_dpi_result_type.v:270:21 - extern void* e_chandle(); - // DPI export at t/t_dpi_result_type.v:363:23 - extern void* e_chandle_t(); - // DPI export at t/t_dpi_result_type.v:230:17 - extern int e_int(); - // DPI export at t/t_dpi_result_type.v:323:19 - extern int e_int_t(); - // DPI export at t/t_dpi_result_type.v:236:26 - extern unsigned int e_int_unsigned(); - // DPI export at t/t_dpi_result_type.v:329:28 - extern unsigned int e_int_unsigned_t(); - // DPI export at t/t_dpi_result_type.v:291:19 - extern svLogic e_logic(); - // DPI export at t/t_dpi_result_type.v:384:21 - extern svLogic e_logic_t(); - // DPI export at t/t_dpi_result_type.v:242:21 - extern long long e_longint(); - // DPI export at t/t_dpi_result_type.v:335:23 - extern long long e_longint_t(); - // DPI export at t/t_dpi_result_type.v:248:30 - extern unsigned long long e_longint_unsigned(); - // DPI export at t/t_dpi_result_type.v:341:32 - extern unsigned long long e_longint_unsigned_t(); - // DPI export at t/t_dpi_result_type.v:255:18 - extern double e_real(); - // DPI export at t/t_dpi_result_type.v:348:20 - extern double e_real_t(); - // DPI export at t/t_dpi_result_type.v:218:22 - extern short e_shortint(); - // DPI export at t/t_dpi_result_type.v:311:24 - extern short e_shortint_t(); - // DPI export at t/t_dpi_result_type.v:224:31 - extern unsigned short e_shortint_unsigned(); - // DPI export at t/t_dpi_result_type.v:317:33 - extern unsigned short e_shortint_unsigned_t(); - // DPI export at t/t_dpi_result_type.v:277:20 - extern const char* e_string(); - // DPI export at t/t_dpi_result_type.v:370:22 - extern const char* e_string_t(); - // DPI export at t/t_dpi_result_type.v:410:30 - extern svBitVecVal e_struct_2_state_1(); - // DPI export at t/t_dpi_result_type.v:417:32 - extern svBitVecVal e_struct_2_state_32(); - // DPI export at t/t_dpi_result_type.v:425:29 - extern svBitVecVal e_union_2_state_1(); - // DPI export at t/t_dpi_result_type.v:432:30 - extern svBitVecVal e_union_2_state_32(); - // DPI export at t/t_dpi_result_type.v:200:18 - extern void e_void(); - - // DPI IMPORTS - // DPI import at t/t_dpi_result_type.v:443:41 - extern void check_exports(); - // DPI import at t/t_dpi_result_type.v:115:39 - extern svBitVecVal i_array_2_state_1(); - // DPI import at t/t_dpi_result_type.v:116:39 - extern svBitVecVal i_array_2_state_32(); - // DPI import at t/t_dpi_result_type.v:92:46 - extern svBit i_bit(); - // DPI import at t/t_dpi_result_type.v:110:48 - extern svBit i_bit_t(); - // DPI import at t/t_dpi_result_type.v:78:46 - extern char i_byte(); - // DPI import at t/t_dpi_result_type.v:96:48 - extern char i_byte_t(); - // DPI import at t/t_dpi_result_type.v:79:46 - extern unsigned char i_byte_unsigned(); - // DPI import at t/t_dpi_result_type.v:97:48 - extern unsigned char i_byte_unsigned_t(); - // DPI import at t/t_dpi_result_type.v:90:46 - extern void* i_chandle(); - // DPI import at t/t_dpi_result_type.v:108:48 - extern void* i_chandle_t(); - // DPI import at t/t_dpi_result_type.v:82:46 - extern int i_int(); - // DPI import at t/t_dpi_result_type.v:100:48 - extern int i_int_t(); - // DPI import at t/t_dpi_result_type.v:83:46 - extern unsigned int i_int_unsigned(); - // DPI import at t/t_dpi_result_type.v:101:48 - extern unsigned int i_int_unsigned_t(); - // DPI import at t/t_dpi_result_type.v:93:46 - extern svLogic i_logic(); - // DPI import at t/t_dpi_result_type.v:111:48 - extern svLogic i_logic_t(); - // DPI import at t/t_dpi_result_type.v:84:46 - extern long long i_longint(); - // DPI import at t/t_dpi_result_type.v:102:48 - extern long long i_longint_t(); - // DPI import at t/t_dpi_result_type.v:85:46 - extern unsigned long long i_longint_unsigned(); - // DPI import at t/t_dpi_result_type.v:103:48 - extern unsigned long long i_longint_unsigned_t(); - // DPI import at t/t_dpi_result_type.v:86:46 - extern double i_real(); - // DPI import at t/t_dpi_result_type.v:104:48 - extern double i_real_t(); - // DPI import at t/t_dpi_result_type.v:80:46 - extern short i_shortint(); - // DPI import at t/t_dpi_result_type.v:98:48 - extern short i_shortint_t(); - // DPI import at t/t_dpi_result_type.v:81:46 - extern unsigned short i_shortint_unsigned(); - // DPI import at t/t_dpi_result_type.v:99:48 - extern unsigned short i_shortint_unsigned_t(); - // DPI import at t/t_dpi_result_type.v:91:46 - extern const char* i_string(); - // DPI import at t/t_dpi_result_type.v:109:48 - extern const char* i_string_t(); - // DPI import at t/t_dpi_result_type.v:121:47 - extern svBitVecVal i_struct_2_state_1(); - // DPI import at t/t_dpi_result_type.v:122:47 - extern svBitVecVal i_struct_2_state_32(); - // DPI import at t/t_dpi_result_type.v:125:46 - extern svBitVecVal i_union_2_state_1(); - // DPI import at t/t_dpi_result_type.v:126:46 - extern svBitVecVal i_union_2_state_32(); - // DPI import at t/t_dpi_result_type.v:77:46 - extern void i_void(); - + + + // DPI EXPORTS + extern svBitVecVal e_array_2_state_1(); + extern svBitVecVal e_array_2_state_32(); + extern svBit e_bit(); + extern svBit e_bit_t(); + extern char e_byte(); + extern char e_byte_t(); + extern unsigned char e_byte_unsigned(); + extern unsigned char e_byte_unsigned_t(); + extern void* e_chandle(); + extern void* e_chandle_t(); + extern int e_int(); + extern int e_int_t(); + extern unsigned int e_int_unsigned(); + extern unsigned int e_int_unsigned_t(); + extern svLogic e_logic(); + extern svLogic e_logic_t(); + extern long long e_longint(); + extern long long e_longint_t(); + extern unsigned long long e_longint_unsigned(); + extern unsigned long long e_longint_unsigned_t(); + extern double e_real(); + extern double e_real_t(); + extern short e_shortint(); + extern short e_shortint_t(); + extern unsigned short e_shortint_unsigned(); + extern unsigned short e_shortint_unsigned_t(); + extern const char* e_string(); + extern const char* e_string_t(); + extern svBitVecVal e_struct_2_state_1(); + extern svBitVecVal e_struct_2_state_32(); + extern svBitVecVal e_union_2_state_1(); + extern svBitVecVal e_union_2_state_32(); + extern void e_void(); + + // DPI IMPORTS + extern void check_exports(); + extern svBitVecVal i_array_2_state_1(); + extern svBitVecVal i_array_2_state_32(); + extern svBit i_bit(); + extern svBit i_bit_t(); + extern char i_byte(); + extern char i_byte_t(); + extern unsigned char i_byte_unsigned(); + extern unsigned char i_byte_unsigned_t(); + extern void* i_chandle(); + extern void* i_chandle_t(); + extern int i_int(); + extern int i_int_t(); + extern unsigned int i_int_unsigned(); + extern unsigned int i_int_unsigned_t(); + extern svLogic i_logic(); + extern svLogic i_logic_t(); + extern long long i_longint(); + extern long long i_longint_t(); + extern unsigned long long i_longint_unsigned(); + extern unsigned long long i_longint_unsigned_t(); + extern double i_real(); + extern double i_real_t(); + extern short i_shortint(); + extern short i_shortint_t(); + extern unsigned short i_shortint_unsigned(); + extern unsigned short i_shortint_unsigned_t(); + extern const char* i_string(); + extern const char* i_string_t(); + extern svBitVecVal i_struct_2_state_1(); + extern svBitVecVal i_struct_2_state_32(); + extern svBitVecVal i_union_2_state_1(); + extern svBitVecVal i_union_2_state_32(); + extern void i_void(); + #ifdef __cplusplus } #endif