diff --git a/src/V3Options.cpp b/src/V3Options.cpp index e163278f8..29c4a4ca3 100644 --- a/src/V3Options.cpp +++ b/src/V3Options.cpp @@ -1010,11 +1010,11 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, char if (!strcmp(valp, "clang")) { m_compLimitBlocks = 80; // limit unknown m_compLimitMembers = 64; // soft limit, has slowdown bug as of clang++ 3.8 - m_compLimitParens = 80; // limit unknown + m_compLimitParens = 240; // controlled by -fbracket-depth, which defaults to 256 } else if (!strcmp(valp, "gcc")) { m_compLimitBlocks = 0; // Bug free m_compLimitMembers = 64; // soft limit, has slowdown bug as of g++ 7.1 - m_compLimitParens = 0; // Bug free + m_compLimitParens = 240; // Unlimited, but generate same code as for clang } else if (!strcmp(valp, "msvc")) { m_compLimitBlocks = 80; // 128, but allow some room m_compLimitMembers = 0; // probably ok, and AFAIK doesn't support anon structs diff --git a/src/V3Options.h b/src/V3Options.h index 78fa1b8bd..4db4e9d05 100644 --- a/src/V3Options.h +++ b/src/V3Options.h @@ -316,7 +316,7 @@ private: int m_compLimitBlocks = 0; // compiler selection; number of nested blocks int m_compLimitMembers = 64; // compiler selection; number of members in struct before make anon array - int m_compLimitParens = 0; // compiler selection; number of nested parens + int m_compLimitParens = 240; // compiler selection; number of nested parens string m_bin; // main switch: --bin {binary} string m_exeName; // main switch: -o {name}