diff options
-rw-r--r-- | lexers/LexCPP.cxx | 6 | ||||
-rw-r--r-- | lexers/LexVerilog.cxx | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index 2cd3975e0..ee645e9e0 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -242,7 +242,11 @@ class LinePPState { return level >= 0 && level < 32; } int maskLevel() const noexcept { - return 1 << level; + if (level >= 0) { + return 1 << level; + } else { + return 1; + } } public: LinePPState() : state(0), ifTaken(0), level(-1) { diff --git a/lexers/LexVerilog.cxx b/lexers/LexVerilog.cxx index 901b6e93d..640f12fcb 100644 --- a/lexers/LexVerilog.cxx +++ b/lexers/LexVerilog.cxx @@ -57,7 +57,11 @@ class LinePPState { return level >= 0 && level < 32; } int maskLevel() const { - return 1 << level; + if (level >= 0) { + return 1 << level; + } else { + return 1; + } } public: LinePPState() : state(0), ifTaken(0), level(-1) { |