aboutsummaryrefslogtreecommitdiff
path: root/lib/std/c/tokenizer.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-02-14 10:27:44 -0500
committerAndrew Kelley <andrew@ziglang.org>2020-02-14 10:27:44 -0500
commita8b36fbe34e4acfea1fcb348fbed321b05611fd3 (patch)
tree23f489f85c427a003577f5c40b74201ba8c85ddb /lib/std/c/tokenizer.zig
parentcdc5070f216a924d24588b8d0fe06400e036e6bf (diff)
parent40b9db7cad6f876bb3e8fa32d7b32bbd4bc983ea (diff)
downloadzig-a8b36fbe34e4acfea1fcb348fbed321b05611fd3.tar.gz
zig-a8b36fbe34e4acfea1fcb348fbed321b05611fd3.zip
Merge remote-tracking branch 'origin/master' into llvm10
Diffstat (limited to 'lib/std/c/tokenizer.zig')
-rw-r--r--lib/std/c/tokenizer.zig16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/std/c/tokenizer.zig b/lib/std/c/tokenizer.zig
index 80fd604eb5..66e6d9d52d 100644
--- a/lib/std/c/tokenizer.zig
+++ b/lib/std/c/tokenizer.zig
@@ -651,6 +651,7 @@ pub const Tokenizer = struct {
state = .StringLiteral;
},
else => {
+ self.index -= 1;
state = .Identifier;
},
},
@@ -660,6 +661,7 @@ pub const Tokenizer = struct {
state = .StringLiteral;
},
else => {
+ self.index -= 1;
state = .Identifier;
},
},
@@ -673,6 +675,7 @@ pub const Tokenizer = struct {
state = .StringLiteral;
},
else => {
+ self.index -= 1;
state = .Identifier;
},
},
@@ -686,6 +689,7 @@ pub const Tokenizer = struct {
state = .StringLiteral;
},
else => {
+ self.index -= 1;
state = .Identifier;
},
},
@@ -1079,6 +1083,9 @@ pub const Tokenizer = struct {
'x', 'X' => {
state = .IntegerLiteralHex;
},
+ '.' => {
+ state = .FloatFraction;
+ },
else => {
state = .IntegerSuffix;
self.index -= 1;
@@ -1261,13 +1268,16 @@ pub const Tokenizer = struct {
.UnicodeEscape,
.MultiLineComment,
.MultiLineCommentAsterisk,
- .FloatFraction,
- .FloatFractionHex,
.FloatExponent,
- .FloatExponentDigits,
.MacroString,
=> result.id = .Invalid,
+ .FloatExponentDigits => result.id = if (counter == 0) .Invalid else .{ .FloatLiteral = .None },
+
+ .FloatFraction,
+ .FloatFractionHex,
+ => result.id = .{ .FloatLiteral = .None },
+
.IntegerLiteralOct,
.IntegerLiteralBinary,
.IntegerLiteralHex,