Internals: Reformat V3Options. No functional change.

This commit is contained in:
Wilson Snyder 2020-06-08 22:17:30 -04:00
parent 6e2d8df9e5
commit d84c7df38f
1 changed files with 161 additions and 80 deletions

View File

@ -824,86 +824,167 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, char
if (sw[0] == '-' && sw[1] == '-') ++sw;
bool hadSwitchPart1 = true;
// Single switches
// clang-format off
if (!strcmp(sw, "-E")) { m_preprocOnly = true; }
else if ( onoffb(sw, "-MMD", bflag/*ref*/)) { m_makeDepend = bflag; }
else if ( onoff (sw, "-MP", flag/*ref*/)) { m_makePhony = flag; }
else if (!strcmp(sw, "-P")) { m_preprocNoLine = true; }
else if ( onoff (sw, "-assert", flag/*ref*/)) { m_assert = flag; }
else if ( onoff (sw, "-autoflush", flag/*ref*/)) { m_autoflush = flag; }
else if ( onoff (sw, "-bbox-sys", flag/*ref*/)) { m_bboxSys = flag; }
else if ( onoff (sw, "-bbox-unsup", flag/*ref*/)) { m_bboxUnsup = flag; }
else if (!strcmp(sw, "-build")) { m_build = true; }
else if (!strcmp(sw, "-cc")) { m_outFormatOk = true; m_systemC = false; }
else if ( onoff (sw, "-cdc", flag/*ref*/)) { m_cdc = flag; }
else if ( onoff (sw, "-coverage", flag/*ref*/)) { coverage(flag); }
else if ( onoff (sw, "-coverage-line", flag/*ref*/)){ m_coverageLine = flag; }
else if ( onoff (sw, "-coverage-toggle", flag/*ref*/)){ m_coverageToggle = flag; }
else if ( onoff (sw, "-coverage-underscore", flag/*ref*/)){ m_coverageUnderscore = flag; }
else if ( onoff (sw, "-coverage-user", flag/*ref*/)){ m_coverageUser = flag; }
else if ( onoff (sw, "-covsp", flag/*ref*/)) { } // TBD
else if (!strcmp(sw, "-debug-abort")) { V3Error::vlAbort(); } // Undocumented, see also --debug-sigsegv
else if ( onoff (sw, "-debug-check", flag/*ref*/)) { m_debugCheck = flag; }
else if ( onoff (sw, "-debug-collision", flag/*ref*/)) { m_debugCollision = flag; } // Undocumented
else if ( onoff (sw, "-debug-exit-parse", flag/*ref*/)) { m_debugExitParse = flag; } // Undocumented
else if ( onoff (sw, "-debug-leak", flag/*ref*/)) { m_debugLeak = flag; }
else if ( onoff (sw, "-debug-nondeterminism", flag/*ref*/)){ m_debugNondeterminism = flag; }
else if ( onoff (sw, "-debug-partition", flag/*ref*/)){ m_debugPartition = flag; } // Undocumented
else if ( onoff (sw, "-debug-protect", flag/*ref*/)){ m_debugProtect = flag; } // Undocumented
else if ( onoff (sw, "-debug-self-test", flag/*ref*/)){ m_debugSelfTest = flag; } // Undocumented
else if (!strcmp(sw, "-debug-sigsegv")) { throwSigsegv(); } // Undocumented, see also --debug-abort
else if (!strcmp(sw, "-debug-fatalsrc")) { v3fatalSrc("--debug-fatal-src"); } // Undocumented, see also --debug-abort
else if ( onoff (sw, "-decoration", flag/*ref*/)) { m_decoration = flag; }
else if ( onoff (sw, "-dpi-hdr-only", flag/*ref*/)) { m_dpiHdrOnly = flag; }
else if ( onoff (sw, "-dump-defines", flag/*ref*/)) { m_dumpDefines = flag; }
else if ( onoff (sw, "-dump-tree", flag/*ref*/)) { m_dumpTree = flag ? 3 : 0; } // Also see --dump-treei
else if ( onoff (sw, "-dump-tree-addrids", flag/*ref*/)){ m_dumpTreeAddrids = flag; }
else if ( onoff (sw, "-exe", flag/*ref*/)) { m_exe = flag; }
else if ( onoff (sw, "-flatten", flag/*ref*/)) { m_flatten = flag; }
else if ( onoff (sw, "-ignc", flag/*ref*/)) { m_ignc = flag; }
else if ( onoff (sw, "-inhibit-sim", flag/*ref*/)) { m_inhibitSim = flag; }
else if ( onoff (sw, "-lint-only", flag/*ref*/)) { m_lintOnly = flag; }
else if ( onoff (sw, "-main", flag/*ref*/)) { m_main = flag; } // Undocumented future
else if (!strcmp(sw, "-no-pins64")) { m_pinsBv = 33; }
else if ( onoff (sw, "-order-clock-delay", flag/*ref*/)) { m_orderClockDly = flag; }
else if (!strcmp(sw, "-pins64")) { m_pinsBv = 65; }
else if ( onoff (sw, "-pins-sc-uint", flag/*ref*/)) { m_pinsScUint = flag; if (!m_pinsScBigUint) m_pinsBv = 65; }
else if ( onoff (sw, "-pins-sc-biguint", flag/*ref*/)){ m_pinsScBigUint = flag; m_pinsBv = 513; }
else if ( onoff (sw, "-pins-uint8", flag/*ref*/)) { m_pinsUint8 = flag; }
else if ( onoff (sw, "-pp-comments", flag/*ref*/)) { m_ppComments = flag; }
else if (!strcmp(sw, "-private")) { m_public = false; }
else if ( onoff (sw, "-prof-cfuncs", flag/*ref*/)) { m_profCFuncs = flag; }
else if ( onoff (sw, "-profile-cfuncs", flag/*ref*/)) { m_profCFuncs = flag; } // Undocumented, for backward compat
else if ( onoff (sw, "-prof-threads", flag/*ref*/)) { m_profThreads = flag; }
else if ( onoff (sw, "-protect-ids", flag/*ref*/)) { m_protectIds = flag; }
else if ( onoff (sw, "-public", flag/*ref*/)) { m_public = flag; }
else if ( onoff (sw, "-public-flat-rw", flag/*ref*/) ) { m_publicFlatRW = flag; v3Global.dpi(true); }
else if (!strncmp(sw, "-pvalue+", strlen("-pvalue+"))) { addParameter(string(sw+strlen("-pvalue+")), false); }
else if ( onoff (sw, "-quiet-exit", flag/*ref*/)) { m_quietExit = flag; }
else if ( onoff (sw, "-relative-cfuncs", flag/*ref*/)) { m_relativeCFuncs = flag; }
else if ( onoff (sw, "-relative-includes", flag/*ref*/)) { m_relativeIncludes = flag; }
else if ( onoff (sw, "-report-unoptflat", flag/*ref*/)) { m_reportUnoptflat = flag; }
else if ( onoff (sw, "-savable", flag/*ref*/)) { m_savable = flag; }
else if (!strcmp(sw, "-sc")) { m_outFormatOk = true; m_systemC = true; }
else if ( onoffb(sw, "-skip-identical", bflag/*ref*/)) { m_skipIdentical = bflag; }
else if ( onoff (sw, "-stats", flag/*ref*/)) { m_stats = flag; }
else if ( onoff (sw, "-stats-vars", flag/*ref*/)) { m_statsVars = flag; m_stats |= flag; }
else if ( onoff (sw, "-structs-unpacked", flag/*ref*/)) { m_structsPacked = flag; }
else if (!strcmp(sw, "-sv")) { m_defaultLanguage = V3LangCode::L1800_2005; }
else if ( onoff (sw, "-threads-coarsen", flag/*ref*/)) { m_threadsCoarsen = flag; } // Undocumented, debug
else if ( onoff (sw, "-trace", flag/*ref*/)) { m_trace = flag; }
else if ( onoff (sw, "-trace-coverage", flag/*ref*/)) { m_traceCoverage = flag; }
else if ( onoff (sw, "-trace-params", flag/*ref*/)) { m_traceParams = flag; }
else if ( onoff (sw, "-trace-structs", flag/*ref*/)) { m_traceStructs = flag; }
else if ( onoff (sw, "-trace-underscore", flag/*ref*/)) { m_traceUnderscore = flag; }
else if ( onoff (sw, "-underline-zero", flag/*ref*/)) { m_underlineZero = flag; } // Undocumented, old Verilator-2
else if ( onoff (sw, "-verilate", flag/*ref*/)) { m_verilate = flag; }
else if ( onoff (sw, "-vpi", flag/*ref*/)) { m_vpi = flag; }
else if ( onoff (sw, "-Wpedantic", flag/*ref*/)) { m_pedantic = flag; }
else if ( onoff (sw, "-x-initial-edge", flag/*ref*/)) { m_xInitialEdge = flag; }
else if ( onoff (sw, "-xml-only", flag/*ref*/)) { m_xmlOnly = flag; }
else { hadSwitchPart1 = false; }
// clang-format on
if (!strcmp(sw, "-E")) {
m_preprocOnly = true;
} else if (onoffb(sw, "-MMD", bflag /*ref*/)) {
m_makeDepend = bflag;
} else if (onoff(sw, "-MP", flag /*ref*/)) {
m_makePhony = flag;
} else if (!strcmp(sw, "-P")) {
m_preprocNoLine = true;
} else if (onoff(sw, "-assert", flag /*ref*/)) {
m_assert = flag;
} else if (onoff(sw, "-autoflush", flag /*ref*/)) {
m_autoflush = flag;
} else if (onoff(sw, "-bbox-sys", flag /*ref*/)) {
m_bboxSys = flag;
} else if (onoff(sw, "-bbox-unsup", flag /*ref*/)) {
m_bboxUnsup = flag;
} else if (!strcmp(sw, "-build")) {
m_build = true;
} else if (!strcmp(sw, "-cc")) {
m_outFormatOk = true;
m_systemC = false;
} else if (onoff(sw, "-cdc", flag /*ref*/)) {
m_cdc = flag;
} else if (onoff(sw, "-coverage", flag /*ref*/)) {
coverage(flag);
} else if (onoff(sw, "-coverage-line", flag /*ref*/)) {
m_coverageLine = flag;
} else if (onoff(sw, "-coverage-toggle", flag /*ref*/)) {
m_coverageToggle = flag;
} else if (onoff(sw, "-coverage-underscore", flag /*ref*/)) {
m_coverageUnderscore = flag;
} else if (onoff(sw, "-coverage-user", flag /*ref*/)) {
m_coverageUser = flag;
} else if (!strcmp(sw, "-debug-abort")) { // Undocumented, see also --debug-sigsegv
V3Error::vlAbort();
} else if (onoff(sw, "-debug-check", flag /*ref*/)) {
m_debugCheck = flag;
} else if (onoff(sw, "-debug-collision", flag /*ref*/)) { // Undocumented
m_debugCollision = flag;
} else if (onoff(sw, "-debug-exit-parse", flag /*ref*/)) { // Undocumented
m_debugExitParse = flag;
} else if (onoff(sw, "-debug-leak", flag /*ref*/)) {
m_debugLeak = flag;
} else if (onoff(sw, "-debug-nondeterminism", flag /*ref*/)) {
m_debugNondeterminism = flag;
} else if (onoff(sw, "-debug-partition", flag /*ref*/)) { // Undocumented
m_debugPartition = flag;
} else if (onoff(sw, "-debug-protect", flag /*ref*/)) { // Undocumented
m_debugProtect = flag;
} else if (onoff(sw, "-debug-self-test", flag /*ref*/)) { // Undocumented
m_debugSelfTest = flag;
} else if (!strcmp(sw, "-debug-sigsegv")) { // Undocumented, see also --debug-abort
throwSigsegv();
} else if (!strcmp(sw, "-debug-fatalsrc")) { // Undocumented, see also --debug-abort
v3fatalSrc("--debug-fatal-src");
} else if (onoff(sw, "-decoration", flag /*ref*/)) {
m_decoration = flag;
} else if (onoff(sw, "-dpi-hdr-only", flag /*ref*/)) {
m_dpiHdrOnly = flag;
} else if (onoff(sw, "-dump-defines", flag /*ref*/)) {
m_dumpDefines = flag;
} else if (onoff(sw, "-dump-tree", flag /*ref*/)) { // Also see --dump-treei
m_dumpTree = flag ? 3 : 0;
} else if (onoff(sw, "-dump-tree-addrids", flag /*ref*/)) {
m_dumpTreeAddrids = flag;
} else if (onoff(sw, "-exe", flag /*ref*/)) {
m_exe = flag;
} else if (onoff(sw, "-flatten", flag /*ref*/)) {
m_flatten = flag;
} else if (onoff(sw, "-ignc", flag /*ref*/)) {
m_ignc = flag;
} else if (onoff(sw, "-inhibit-sim", flag /*ref*/)) {
m_inhibitSim = flag;
} else if (onoff(sw, "-lint-only", flag /*ref*/)) {
m_lintOnly = flag;
} else if (onoff(sw, "-main", flag /*ref*/)) { // Undocumented future
m_main = flag;
} else if (!strcmp(sw, "-no-pins64")) {
m_pinsBv = 33;
} else if (onoff(sw, "-order-clock-delay", flag /*ref*/)) {
m_orderClockDly = flag;
} else if (!strcmp(sw, "-pins64")) {
m_pinsBv = 65;
} else if (onoff(sw, "-pins-sc-uint", flag /*ref*/)) {
m_pinsScUint = flag;
if (!m_pinsScBigUint) m_pinsBv = 65;
} else if (onoff(sw, "-pins-sc-biguint", flag /*ref*/)) {
m_pinsScBigUint = flag;
m_pinsBv = 513;
} else if (onoff(sw, "-pins-uint8", flag /*ref*/)) {
m_pinsUint8 = flag;
} else if (onoff(sw, "-pp-comments", flag /*ref*/)) {
m_ppComments = flag;
} else if (!strcmp(sw, "-private")) {
m_public = false;
} else if (onoff(sw, "-prof-cfuncs", flag /*ref*/)) {
m_profCFuncs = flag;
} else if (onoff(sw, "-profile-cfuncs", flag /*ref*/)) { // Undocumented, renamed
m_profCFuncs = flag;
} else if (onoff(sw, "-prof-threads", flag /*ref*/)) {
m_profThreads = flag;
} else if (onoff(sw, "-protect-ids", flag /*ref*/)) {
m_protectIds = flag;
} else if (onoff(sw, "-public", flag /*ref*/)) {
m_public = flag;
} else if (onoff(sw, "-public-flat-rw", flag /*ref*/)) {
m_publicFlatRW = flag;
v3Global.dpi(true);
} else if (!strncmp(sw, "-pvalue+", strlen("-pvalue+"))) {
addParameter(string(sw + strlen("-pvalue+")), false);
} else if (onoff(sw, "-quiet-exit", flag /*ref*/)) {
m_quietExit = flag;
} else if (onoff(sw, "-relative-cfuncs", flag /*ref*/)) {
m_relativeCFuncs = flag;
} else if (onoff(sw, "-relative-includes", flag /*ref*/)) {
m_relativeIncludes = flag;
} else if (onoff(sw, "-report-unoptflat", flag /*ref*/)) {
m_reportUnoptflat = flag;
} else if (onoff(sw, "-savable", flag /*ref*/)) {
m_savable = flag;
} else if (!strcmp(sw, "-sc")) {
m_outFormatOk = true;
m_systemC = true;
} else if (onoffb(sw, "-skip-identical", bflag /*ref*/)) {
m_skipIdentical = bflag;
} else if (onoff(sw, "-stats", flag /*ref*/)) {
m_stats = flag;
} else if (onoff(sw, "-stats-vars", flag /*ref*/)) {
m_statsVars = flag;
m_stats |= flag;
} else if (onoff(sw, "-structs-unpacked", flag /*ref*/)) {
m_structsPacked = flag;
} else if (!strcmp(sw, "-sv")) {
m_defaultLanguage = V3LangCode::L1800_2005;
} else if (onoff(sw, "-threads-coarsen", flag /*ref*/)) { // Undocumented, debug
m_threadsCoarsen = flag;
} else if (onoff(sw, "-trace", flag /*ref*/)) {
m_trace = flag;
} else if (onoff(sw, "-trace-coverage", flag /*ref*/)) {
m_traceCoverage = flag;
} else if (onoff(sw, "-trace-params", flag /*ref*/)) {
m_traceParams = flag;
} else if (onoff(sw, "-trace-structs", flag /*ref*/)) {
m_traceStructs = flag;
} else if (onoff(sw, "-trace-underscore", flag /*ref*/)) {
m_traceUnderscore = flag;
} else if (onoff(sw, "-underline-zero", flag /*ref*/)) { // Deprecated
m_underlineZero = flag;
} else if (onoff(sw, "-verilate", flag /*ref*/)) {
m_verilate = flag;
} else if (onoff(sw, "-vpi", flag /*ref*/)) {
m_vpi = flag;
} else if (onoff(sw, "-Wpedantic", flag /*ref*/)) {
m_pedantic = flag;
} else if (onoff(sw, "-x-initial-edge", flag /*ref*/)) {
m_xInitialEdge = flag;
} else if (onoff(sw, "-xml-only", flag /*ref*/)) {
m_xmlOnly = flag;
} else {
hadSwitchPart1 = false;
}
if (hadSwitchPart1) {
} else if (!strncmp(sw, "-O", 2)) {