diff options
author | Peter Crozier <peter@crozier.com> | 2020-06-03 17:19:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-03 17:19:28 +0100 |
commit | 0d3f7ea011288e1a1fadd4ae27f1e8a57d729053 (patch) | |
tree | 07bde0d9f492233728070234aed2abd45fbd464d /frontends/ilang/ilang_lexer.l | |
parent | 17f050d3c6b8934141c42f96a3418de67a687b2c (diff) | |
parent | 46ed0db2ec883a4ce330c81f321511e36e35c0b3 (diff) | |
download | yosys-0d3f7ea011288e1a1fadd4ae27f1e8a57d729053.tar.gz yosys-0d3f7ea011288e1a1fadd4ae27f1e8a57d729053.tar.bz2 yosys-0d3f7ea011288e1a1fadd4ae27f1e8a57d729053.zip |
Merge branch 'master' into struct
Diffstat (limited to 'frontends/ilang/ilang_lexer.l')
-rw-r--r-- | frontends/ilang/ilang_lexer.l | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/frontends/ilang/ilang_lexer.l b/frontends/ilang/ilang_lexer.l index 62f53d18e..3362ed641 100644 --- a/frontends/ilang/ilang_lexer.l +++ b/frontends/ilang/ilang_lexer.l @@ -91,8 +91,10 @@ USING_YOSYS_NAMESPACE [0-9]+'[01xzm-]* { rtlil_frontend_ilang_yylval.string = strdup(yytext); return TOK_VALUE; } -?[0-9]+ { char *end = nullptr; + errno = 0; long value = strtol(yytext, &end, 10); - if (end != yytext + strlen(yytext)) + log_assert(end == yytext + strlen(yytext)); + if (errno == ERANGE) return TOK_INVALID; // literal out of range of long if (value < INT_MIN || value > INT_MAX) return TOK_INVALID; // literal out of range of int (relevant mostly for LP64 platforms) |