mirror of
https://github.com/verilator/verilator.git
synced 2026-08-22 05:57:29 +02:00
Commentary: Fix more spelling (#3828)
This commit is contained in:
+1
-1
@@ -600,7 +600,7 @@ private:
|
|||||||
// Fastpath:
|
// Fastpath:
|
||||||
VerilatedSyms* m_symsp = nullptr; // Symbol table
|
VerilatedSyms* m_symsp = nullptr; // Symbol table
|
||||||
void** m_callbacksp = nullptr; // Callback table pointer (Fastpath)
|
void** m_callbacksp = nullptr; // Callback table pointer (Fastpath)
|
||||||
int m_funcnumMax = 0; // Maxium function number stored (Fastpath)
|
int m_funcnumMax = 0; // Maximum function number stored (Fastpath)
|
||||||
// 4 bytes padding (on -m64), for rent.
|
// 4 bytes padding (on -m64), for rent.
|
||||||
VerilatedVarNameMap* m_varsp = nullptr; // Variable map
|
VerilatedVarNameMap* m_varsp = nullptr; // Variable map
|
||||||
const char* m_namep = nullptr; // Scope name (Slowpath)
|
const char* m_namep = nullptr; // Scope name (Slowpath)
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ public:
|
|||||||
}
|
}
|
||||||
// Total size in bytes (note DPI limited to 4GB)
|
// Total size in bytes (note DPI limited to 4GB)
|
||||||
size_t totalSize() const;
|
size_t totalSize() const;
|
||||||
// Adjust a data pointer to access a given array element, NuLL if something goes bad
|
// Adjust a data pointer to access a given array element, NULL if something goes bad
|
||||||
void* datapAdjustIndex(void* datap, int dim, int indx) const;
|
void* datapAdjustIndex(void* datap, int dim, int indx) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -515,7 +515,7 @@ struct VerilatedVpiTimedCbsCmp {
|
|||||||
class VerilatedVpiError;
|
class VerilatedVpiError;
|
||||||
|
|
||||||
class VerilatedVpiImp final {
|
class VerilatedVpiImp final {
|
||||||
enum { CB_ENUM_MAX_VALUE = cbAtEndOfSimTime + 1 }; // Maxium callback reason
|
enum { CB_ENUM_MAX_VALUE = cbAtEndOfSimTime + 1 }; // Maximum callback reason
|
||||||
using VpioCbList = std::list<VerilatedVpiCbHolder>;
|
using VpioCbList = std::list<VerilatedVpiCbHolder>;
|
||||||
using VpioTimedCbs = std::map<std::pair<QData, uint64_t>, VerilatedVpiCbHolder>;
|
using VpioTimedCbs = std::map<std::pair<QData, uint64_t>, VerilatedVpiCbHolder>;
|
||||||
|
|
||||||
@@ -1583,7 +1583,7 @@ PLI_INT32 vpi_get(PLI_INT32 property, vpiHandle object) {
|
|||||||
return vop->type();
|
return vop->type();
|
||||||
}
|
}
|
||||||
case vpiDirection: {
|
case vpiDirection: {
|
||||||
// By forthought, the directions already are vpi enumerated
|
// By forethought, the directions already are vpi enumerated
|
||||||
const VerilatedVpioVarBase* const vop = VerilatedVpioVarBase::castp(object);
|
const VerilatedVpioVarBase* const vop = VerilatedVpioVarBase::castp(object);
|
||||||
if (VL_UNLIKELY(!vop)) return 0;
|
if (VL_UNLIKELY(!vop)) return 0;
|
||||||
return vop->varp()->vldir();
|
return vop->varp()->vldir();
|
||||||
|
|||||||
+1
-1
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#ifndef VERILATOR_V3AST_H_
|
#ifndef VERILATOR_V3AST_H_
|
||||||
#error "Use V3Ast.h as the include"
|
#error "Use V3Ast.h as the include"
|
||||||
#include "V3Ast.h" // This helps code analysis tools pick up symbols in V3Ast.h and relaed
|
#include "V3Ast.h" // This helps code analysis tools pick up symbols in V3Ast.h and related
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//######################################################################
|
//######################################################################
|
||||||
|
|||||||
+1
-1
@@ -1377,7 +1377,7 @@ private:
|
|||||||
// Pure checks - if this node and all nodes under it are free of
|
// Pure checks - if this node and all nodes under it are free of
|
||||||
// side effects can do this optimization
|
// side effects can do this optimization
|
||||||
// Eventually we'll recurse through tree when unknown, memoizing results so far,
|
// Eventually we'll recurse through tree when unknown, memoizing results so far,
|
||||||
// but for now can disable en-mass until V3Purify takes effect.
|
// but for now can disable en masse until V3Purify takes effect.
|
||||||
return m_doShort || VN_IS(nodep, VarRef) || VN_IS(nodep, Const);
|
return m_doShort || VN_IS(nodep, VarRef) || VN_IS(nodep, Const);
|
||||||
}
|
}
|
||||||
bool isTreePureRecurse(AstNode* nodep) {
|
bool isTreePureRecurse(AstNode* nodep) {
|
||||||
|
|||||||
@@ -276,7 +276,7 @@ class DfgToAstVisitor final : DfgVisitor {
|
|||||||
// Whole variable is driven. Just assign from the canonical variable.
|
// Whole variable is driven. Just assign from the canonical variable.
|
||||||
addResultEquation(dfgVarp->driverFileLine(0), wRef(), rRef());
|
addResultEquation(dfgVarp->driverFileLine(0), wRef(), rRef());
|
||||||
} else {
|
} else {
|
||||||
// Variable is driven partially. Asign from parts of the canonical var.
|
// Variable is driven partially. Assign from parts of the canonical var.
|
||||||
dfgVarp->forEachSourceEdge([&](const DfgEdge& edge, size_t idx) {
|
dfgVarp->forEachSourceEdge([&](const DfgEdge& edge, size_t idx) {
|
||||||
UASSERT_OBJ(edge.sourcep(), dfgVarp, "Should have removed undriven sources");
|
UASSERT_OBJ(edge.sourcep(), dfgVarp, "Should have removed undriven sources");
|
||||||
// Create select LValue
|
// Create select LValue
|
||||||
@@ -292,7 +292,7 @@ class DfgToAstVisitor final : DfgVisitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void convertArrayDiver(const DfgVarArray* dfgVarp) {
|
void convertArrayDiver(const DfgVarArray* dfgVarp) {
|
||||||
// Variable is driven partially. Asign from parts of the canonical var.
|
// Variable is driven partially. Assign from parts of the canonical var.
|
||||||
dfgVarp->forEachSourceEdge([&](const DfgEdge& edge, size_t idx) {
|
dfgVarp->forEachSourceEdge([&](const DfgEdge& edge, size_t idx) {
|
||||||
UASSERT_OBJ(edge.sourcep(), dfgVarp, "Should have removed undriven sources");
|
UASSERT_OBJ(edge.sourcep(), dfgVarp, "Should have removed undriven sources");
|
||||||
// Render the rhs expression
|
// Render the rhs expression
|
||||||
|
|||||||
+4
-4
@@ -914,7 +914,7 @@ class LinkDotFindVisitor final : public VNVisitor {
|
|||||||
void visit(AstClass* nodep) override {
|
void visit(AstClass* nodep) override {
|
||||||
UASSERT_OBJ(m_curSymp, nodep, "Class not under module/package/$unit");
|
UASSERT_OBJ(m_curSymp, nodep, "Class not under module/package/$unit");
|
||||||
UINFO(8, " " << nodep << endl);
|
UINFO(8, " " << nodep << endl);
|
||||||
// Remove classes that have void params, as they were only used for the parametrization
|
// Remove classes that have void params, as they were only used for the parameterization
|
||||||
// step and will not be instantiated
|
// step and will not be instantiated
|
||||||
if (m_statep->removeVoidParamedClasses()) {
|
if (m_statep->removeVoidParamedClasses()) {
|
||||||
for (auto* stmtp = nodep->stmtsp(); stmtp; stmtp = stmtp->nextp()) {
|
for (auto* stmtp = nodep->stmtsp(); stmtp; stmtp = stmtp->nextp()) {
|
||||||
@@ -2131,7 +2131,7 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool isParamedClassRef(const AstNode* nodep) {
|
bool isParamedClassRef(const AstNode* nodep) {
|
||||||
// Is this a parametrized reference to a class, or a reference to class parameter
|
// Is this a parameterized reference to a class, or a reference to class parameter
|
||||||
if (const auto* classRefp = VN_CAST(nodep, ClassOrPackageRef)) {
|
if (const auto* classRefp = VN_CAST(nodep, ClassOrPackageRef)) {
|
||||||
if (classRefp->paramsp()) return true;
|
if (classRefp->paramsp()) return true;
|
||||||
const auto* classp = classRefp->classOrPackageNodep();
|
const auto* classp = classRefp->classOrPackageNodep();
|
||||||
@@ -2334,7 +2334,7 @@ private:
|
|||||||
// if (debug() >= 9) nodep->dumpTree("- dot-lho: ");
|
// if (debug() >= 9) nodep->dumpTree("- dot-lho: ");
|
||||||
}
|
}
|
||||||
if (m_statep->forPrimary() && isParamedClassRef(nodep->lhsp())) {
|
if (m_statep->forPrimary() && isParamedClassRef(nodep->lhsp())) {
|
||||||
// Dots of paramed classes will be linked after deparametrization
|
// Dots of paramed classes will be linked after deparameterization
|
||||||
m_ds.m_dotPos = DP_NONE;
|
m_ds.m_dotPos = DP_NONE;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -2405,7 +2405,7 @@ private:
|
|||||||
}
|
}
|
||||||
if (nodep->name() == "this") {
|
if (nodep->name() == "this") {
|
||||||
iterateChildren(nodep);
|
iterateChildren(nodep);
|
||||||
if (m_statep->forPrimary()) return; // The class might be parametrized somewhere
|
if (m_statep->forPrimary()) return; // The class might be parameterized somewhere
|
||||||
const VSymEnt* classSymp = getThisClassSymp();
|
const VSymEnt* classSymp = getThisClassSymp();
|
||||||
if (!classSymp) {
|
if (!classSymp) {
|
||||||
nodep->v3error("'this' used outside class (IEEE 1800-2017 8.11)");
|
nodep->v3error("'this' used outside class (IEEE 1800-2017 8.11)");
|
||||||
|
|||||||
+1
-1
@@ -132,7 +132,7 @@ void V3LinkLevel::timescaling(const ModVec& mods) {
|
|||||||
VTimescale{VTimescale::TS_DEFAULT});
|
VTimescale{VTimescale::TS_DEFAULT});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Classes under package have timescale propaged in V3LinkParse
|
// Classes under package have timescale propagated in V3LinkParse
|
||||||
}
|
}
|
||||||
|
|
||||||
//######################################################################
|
//######################################################################
|
||||||
|
|||||||
+2
-2
@@ -249,7 +249,7 @@ private:
|
|||||||
bool m_ignc = false; // main switch: --ignc
|
bool m_ignc = false; // main switch: --ignc
|
||||||
bool m_lintOnly = false; // main switch: --lint-only
|
bool m_lintOnly = false; // main switch: --lint-only
|
||||||
bool m_gmake = false; // main switch: --make gmake
|
bool m_gmake = false; // main switch: --make gmake
|
||||||
bool m_main = false; // main swithc: --main
|
bool m_main = false; // main switch: --main
|
||||||
bool m_outFormatOk = false; // main switch: --cc, --sc or --sp was specified
|
bool m_outFormatOk = false; // main switch: --cc, --sc or --sp was specified
|
||||||
bool m_pedantic = false; // main switch: --Wpedantic
|
bool m_pedantic = false; // main switch: --Wpedantic
|
||||||
bool m_pinsScUint = false; // main switch: --pins-sc-uint
|
bool m_pinsScUint = false; // main switch: --pins-sc-uint
|
||||||
@@ -281,7 +281,7 @@ private:
|
|||||||
bool m_traceStructs = false; // main switch: --trace-structs
|
bool m_traceStructs = false; // main switch: --trace-structs
|
||||||
bool m_traceUnderscore = false; // main switch: --trace-underscore
|
bool m_traceUnderscore = false; // main switch: --trace-underscore
|
||||||
bool m_underlineZero = false; // main switch: --underline-zero; undocumented old Verilator 2
|
bool m_underlineZero = false; // main switch: --underline-zero; undocumented old Verilator 2
|
||||||
bool m_verilate = true; // main swith: --verilate
|
bool m_verilate = true; // main switch: --verilate
|
||||||
bool m_vpi = false; // main switch: --vpi
|
bool m_vpi = false; // main switch: --vpi
|
||||||
bool m_xInitialEdge = false; // main switch: --x-initial-edge
|
bool m_xInitialEdge = false; // main switch: --x-initial-edge
|
||||||
bool m_xmlOnly = false; // main switch: --xml-only
|
bool m_xmlOnly = false; // main switch: --xml-only
|
||||||
|
|||||||
+3
-3
@@ -561,7 +561,7 @@ class ParamProcessor final {
|
|||||||
<< v3Global.opt.moduleRecursionDepth());
|
<< v3Global.opt.moduleRecursionDepth());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Keep tree sorted by level. Note: Different parametrizations of the same recursive module
|
// Keep tree sorted by level. Note: Different parameterizations of the same recursive module
|
||||||
// end up with the same level, which we will need to fix up at the end, as we do not know
|
// end up with the same level, which we will need to fix up at the end, as we do not know
|
||||||
// up front how recursive modules are expanded, and a later expansion might re-use an
|
// up front how recursive modules are expanded, and a later expansion might re-use an
|
||||||
// earlier expansion (see t_recursive_module_bug_2).
|
// earlier expansion (see t_recursive_module_bug_2).
|
||||||
@@ -861,7 +861,7 @@ public:
|
|||||||
} else if (auto* classRefp = VN_CAST(nodep, ClassOrPackageRef)) {
|
} else if (auto* classRefp = VN_CAST(nodep, ClassOrPackageRef)) {
|
||||||
classRefDeparam(classRefp, srcModpr);
|
classRefDeparam(classRefp, srcModpr);
|
||||||
} else {
|
} else {
|
||||||
nodep->v3fatalSrc("Expected module parametrization");
|
nodep->v3fatalSrc("Expected module parameterization");
|
||||||
}
|
}
|
||||||
|
|
||||||
UINFO(8, " Done with " << nodep << endl);
|
UINFO(8, " Done with " << nodep << endl);
|
||||||
@@ -942,7 +942,7 @@ class ParamVisitor final : public VNVisitor {
|
|||||||
} else if (const auto* classRefp = VN_CAST(cellp, ClassRefDType)) {
|
} else if (const auto* classRefp = VN_CAST(cellp, ClassRefDType)) {
|
||||||
srcModp = classRefp->classp();
|
srcModp = classRefp->classp();
|
||||||
} else {
|
} else {
|
||||||
cellp->v3fatalSrc("Expected module parametrization");
|
cellp->v3fatalSrc("Expected module parameterization");
|
||||||
}
|
}
|
||||||
UASSERT_OBJ(srcModp, cellp, "Unlinked class ref");
|
UASSERT_OBJ(srcModp, cellp, "Unlinked class ref");
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -803,7 +803,7 @@ void V3PreProcImp::openFile(FileLine*, VInFilter* filterp, const string& filenam
|
|||||||
m_lexp->scanNewFile(flsp);
|
m_lexp->scanNewFile(flsp);
|
||||||
addLineComment(1); // Enter
|
addLineComment(1); // Enter
|
||||||
|
|
||||||
// Filter all DOS CR's en-mass. This avoids bugs with lexing CRs in the wrong places.
|
// Filter all DOS CR's en masse. This avoids bugs with lexing CRs in the wrong places.
|
||||||
// This will also strip them from strings, but strings aren't supposed
|
// This will also strip them from strings, but strings aren't supposed
|
||||||
// to be multi-line without a "\"
|
// to be multi-line without a "\"
|
||||||
int eof_newline = 0; // Number of characters following last newline
|
int eof_newline = 0; // Number of characters following last newline
|
||||||
|
|||||||
+1
-1
@@ -228,7 +228,7 @@ struct SplitVarImpl {
|
|||||||
}; // SplitVarImpl
|
}; // SplitVarImpl
|
||||||
|
|
||||||
//######################################################################
|
//######################################################################
|
||||||
// Utilities required in wharious placs
|
// Utilities required in various placs
|
||||||
|
|
||||||
static void warnNoSplit(const AstVar* varp, const AstNode* wherep, const char* reasonp) {
|
static void warnNoSplit(const AstVar* varp, const AstNode* wherep, const char* reasonp) {
|
||||||
wherep->v3warn(SPLITVAR, varp->prettyNameQ()
|
wherep->v3warn(SPLITVAR, varp->prettyNameQ()
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
// -*- mode: C++; c-file-style: "cc-mode" -*-
|
// -*- mode: C++; c-file-style: "cc-mode" -*-
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
// DESCRIPTION: Verilator: Implementation of Christofides' algorithm to
|
// DESCRIPTION: Verilator: Implementation of Christofides algorithm to
|
||||||
// approximate the solution to the traveling salesman problem.
|
// approximate the solution to the traveling salesman problem.
|
||||||
//
|
//
|
||||||
// ISSUES: This isn't exactly Christofides algorithm; see the TODO
|
// ISSUES: This isn't exactly Christofides algorithm; see the TODO
|
||||||
@@ -264,7 +264,7 @@ public:
|
|||||||
vtxp->user(VertexState::UNMATCHED_ODD);
|
vtxp->user(VertexState::UNMATCHED_ODD);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: The true Chrisofides algorithm calls for minimum-weight
|
// TODO: The true Christofides algorithm calls for minimum-weight
|
||||||
// perfect matching. Instead, we have a simple greedy algorithm
|
// perfect matching. Instead, we have a simple greedy algorithm
|
||||||
// which might get close to the minimum, maybe, with luck?
|
// which might get close to the minimum, maybe, with luck?
|
||||||
//
|
//
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
// -*- mode: C++; c-file-style: "cc-mode" -*-
|
// -*- mode: C++; c-file-style: "cc-mode" -*-
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
// DESCRIPTION: Verilator: Implementation of Christofides' algorithm to
|
// DESCRIPTION: Verilator: Implementation of Christofides algorithm to
|
||||||
// approximate the solution to the traveling salesman problem.
|
// approximate the solution to the traveling salesman problem.
|
||||||
//
|
//
|
||||||
// Code available from: https://verilator.org
|
// Code available from: https://verilator.org
|
||||||
|
|||||||
+1
-1
@@ -400,7 +400,7 @@ private:
|
|||||||
cost *= declp->arrayRange().ranged() ? declp->arrayRange().elements() : 1;
|
cost *= declp->arrayRange().ranged() ? declp->arrayRange().elements() : 1;
|
||||||
// Note: Experiments factoring in the size of declp->valuep()
|
// Note: Experiments factoring in the size of declp->valuep()
|
||||||
// showed no benefit in tracing speed, even for large trees,
|
// showed no benefit in tracing speed, even for large trees,
|
||||||
// so we will leve those out for now.
|
// so we will leave those out for now.
|
||||||
complexity += cost;
|
complexity += cost;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -2256,7 +2256,7 @@ private:
|
|||||||
}
|
}
|
||||||
void visit(AstEnumItemRef* nodep) override {
|
void visit(AstEnumItemRef* nodep) override {
|
||||||
if (!nodep->itemp()->didWidth()) {
|
if (!nodep->itemp()->didWidth()) {
|
||||||
// We need to do the whole enum en-mass
|
// We need to do the whole enum en masse
|
||||||
AstNode* enump = nodep->itemp();
|
AstNode* enump = nodep->itemp();
|
||||||
UASSERT_OBJ(enump, nodep, "EnumItemRef not linked");
|
UASSERT_OBJ(enump, nodep, "EnumItemRef not linked");
|
||||||
for (; enump; enump = enump->backp()) {
|
for (; enump; enump = enump->backp()) {
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ static int debug() { return V3Error::debugDefault(); }
|
|||||||
#include "V3OptionParser.cpp"
|
#include "V3OptionParser.cpp"
|
||||||
#include "V3Os.cpp"
|
#include "V3Os.cpp"
|
||||||
#include "VlcTop.cpp"
|
#include "VlcTop.cpp"
|
||||||
// clanf-format on
|
// clang-format on
|
||||||
|
|
||||||
#include "VlcOptions.h"
|
#include "VlcOptions.h"
|
||||||
#include "VlcTop.h"
|
#include "VlcTop.h"
|
||||||
|
|||||||
+1
-1
@@ -95,7 +95,7 @@ public:
|
|||||||
bool m_pinAnsi = false; // In ANSI port list
|
bool m_pinAnsi = false; // In ANSI port list
|
||||||
bool m_tracingParse = true; // Tracing disable for parser
|
bool m_tracingParse = true; // Tracing disable for parser
|
||||||
bool m_insideProperty = false; // Is inside property declaration
|
bool m_insideProperty = false; // Is inside property declaration
|
||||||
bool m_typedPropertyPort = false; // True if typed property port occured on port lists
|
bool m_typedPropertyPort = false; // True if typed property port occurred on port lists
|
||||||
|
|
||||||
int m_pinNum = -1; // Pin number currently parsing
|
int m_pinNum = -1; // Pin number currently parsing
|
||||||
std::stack<int> m_pinStack; // Queue of pin numbers being parsed
|
std::stack<int> m_pinStack; // Queue of pin numbers being parsed
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// DESCRIPTION: Verilator: DFG optimzier equivalence testing
|
// DESCRIPTION: Verilator: DFG optimizer equivalence testing
|
||||||
//
|
//
|
||||||
// This file ONLY is placed under the Creative Commons Public Domain, for
|
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||||
// any use, without warranty, 2022 by Geza Lore.
|
// any use, without warranty, 2022 by Geza Lore.
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ int main() {
|
|||||||
logRegHex(dut->clk, "read mem32", 8, mem32, " (after clk)");
|
logRegHex(dut->clk, "read mem32", 8, mem32, " (after clk)");
|
||||||
|
|
||||||
// In this case, the value never changes. But we should check it is
|
// In this case, the value never changes. But we should check it is
|
||||||
// waht we expect (0x20).
|
// what we expect (0x20).
|
||||||
checkResult(mem32 == 0x20, "Test of array element reading failed.");
|
checkResult(mem32 == 0x20, "Test of array element reading failed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -487,7 +487,7 @@ int main() {
|
|||||||
logRegHex(dut->clk, "read mem32 [7:6,2:0]", 5, mem32_slice, " (after clk)");
|
logRegHex(dut->clk, "read mem32 [7:6,2:0]", 5, mem32_slice, " (after clk)");
|
||||||
|
|
||||||
// We have already tested that array element writing works, so we just
|
// We have already tested that array element writing works, so we just
|
||||||
// check that dhe slice of "mem32" after the clock is the
|
// check that the slice of "mem32" after the clock is the
|
||||||
// concatenation of the top 2 and bottom 3 bits of "mem32"
|
// concatenation of the top 2 and bottom 3 bits of "mem32"
|
||||||
checkResult(mem32_slice == (((mem32 & 0xc0) >> 3) | (mem32 & 0x07)),
|
checkResult(mem32_slice == (((mem32 & 0xc0) >> 3) | (mem32 & 0x07)),
|
||||||
"Test of array element slice writing failed.");
|
"Test of array element slice writing failed.");
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
// These are simple wrappers for the array querying functions themselves,
|
// These are simple wrappers for the array querying functions themselves,
|
||||||
// see IEEE 1800-2017 H.12.2. Sadly on the SV side these have different
|
// see IEEE 1800-2017 H.12.2. Sadly on the SV side these have different
|
||||||
// signagures, and hence need to have different names here as well.
|
// signatures, and hence need to have different names here as well.
|
||||||
|
|
||||||
// 1 open dimension
|
// 1 open dimension
|
||||||
int cSvLeft1(const svOpenArrayHandle h, int d) { return svLeft(h, d); }
|
int cSvLeft1(const svOpenArrayHandle h, int d) { return svLeft(h, d); }
|
||||||
|
|||||||
@@ -521,7 +521,7 @@ int _mon_check_putget_str(p_cb_data cb_data) {
|
|||||||
int words = (i + 31) >> 5;
|
int words = (i + 31) >> 5;
|
||||||
TEST_MSG("========== %d ==========\n", i);
|
TEST_MSG("========== %d ==========\n", i);
|
||||||
if (callback_count_strs) {
|
if (callback_count_strs) {
|
||||||
// check persistance
|
// check persistence
|
||||||
if (data[i].type) {
|
if (data[i].type) {
|
||||||
v.format = data[i].type;
|
v.format = data[i].type;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user