| --- a/Parser/tokenizer.c |
| +++ b/Parser/tokenizer.c |
| @@ -1412,7 +1412,7 @@ |
| /* Identifier (most frequent token!) */ |
| nonascii = 0; |
| if (is_potential_identifier_start(c)) { |
| - /* Process b"", r"", u"", br"", rb"" and ur"" */ |
| + /* Process b"", r"", u"", br"" and rb"" */ |
| int saw_b = 0, saw_r = 0, saw_u = 0; |
| while (1) { |
| if (!(saw_b || saw_u) && (c == 'b' || c == 'B')) |
| @@ -1421,7 +1421,8 @@ |
| want to support it in arbitrary order like byte literals. */ |
| else if (!(saw_b || saw_u || saw_r) && (c == 'u' || c == 'U')) |
| saw_u = 1; |
| - else if (!saw_r && (c == 'r' || c == 'R')) |
| + /* ur"" and ru"" are not supported */ |
| + else if (!(saw_r || saw_u) && (c == 'r' || c == 'R')) |
| saw_r = 1; |
| else |
| break; |