summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
Diffstat (limited to 'py')
-rw-r--r--py/lexer.c36
-rw-r--r--py/mpconfig.h7
-rw-r--r--py/mpstate.h1
-rw-r--r--py/persistentcode.h12
4 files changed, 21 insertions, 35 deletions
diff --git a/py/lexer.c b/py/lexer.c
index ac406bd46..39e9662f6 100644
--- a/py/lexer.c
+++ b/py/lexer.c
@@ -473,25 +473,23 @@ STATIC void parse_string_literal(mp_lexer_t *lex, bool is_raw, bool is_fstring)
}
}
if (c != MP_LEXER_EOF) {
- if (MICROPY_PY_BUILTINS_STR_UNICODE_DYNAMIC) {
- if (c < 0x110000 && lex->tok_kind == MP_TOKEN_STRING) {
- vstr_add_char(&lex->vstr, c);
- } else if (c < 0x100 && lex->tok_kind == MP_TOKEN_BYTES) {
- vstr_add_byte(&lex->vstr, c);
- } else {
- // unicode character out of range
- // this raises a generic SyntaxError; could provide more info
- lex->tok_kind = MP_TOKEN_INVALID;
- }
- } else {
- // without unicode everything is just added as an 8-bit byte
- if (c < 0x100) {
- vstr_add_byte(&lex->vstr, c);
- } else {
- // 8-bit character out of range
- // this raises a generic SyntaxError; could provide more info
- lex->tok_kind = MP_TOKEN_INVALID;
- }
+ #if MICROPY_PY_BUILTINS_STR_UNICODE
+ if (c < 0x110000 && lex->tok_kind == MP_TOKEN_STRING) {
+ // Valid unicode character in a str object.
+ vstr_add_char(&lex->vstr, c);
+ } else if (c < 0x100 && lex->tok_kind == MP_TOKEN_BYTES) {
+ // Valid byte in a bytes object.
+ vstr_add_byte(&lex->vstr, c);
+ }
+ #else
+ if (c < 0x100) {
+ // Without unicode everything is just added as an 8-bit byte.
+ vstr_add_byte(&lex->vstr, c);
+ }
+ #endif
+ else {
+ // Character out of range; this raises a generic SyntaxError.
+ lex->tok_kind = MP_TOKEN_INVALID;
}
}
} else {
diff --git a/py/mpconfig.h b/py/mpconfig.h
index 8814d1f09..f9894b497 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -429,13 +429,6 @@
#define MICROPY_DYNAMIC_COMPILER (0)
#endif
-// Configure dynamic compiler macros
-#if MICROPY_DYNAMIC_COMPILER
-#define MICROPY_PY_BUILTINS_STR_UNICODE_DYNAMIC (mp_dynamic_compiler.py_builtins_str_unicode)
-#else
-#define MICROPY_PY_BUILTINS_STR_UNICODE_DYNAMIC MICROPY_PY_BUILTINS_STR_UNICODE
-#endif
-
// Whether to enable constant folding; eg 1+2 rewritten as 3
#ifndef MICROPY_COMP_CONST_FOLDING
#define MICROPY_COMP_CONST_FOLDING (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_CORE_FEATURES)
diff --git a/py/mpstate.h b/py/mpstate.h
index bc1aaf1e0..98aa9a849 100644
--- a/py/mpstate.h
+++ b/py/mpstate.h
@@ -55,7 +55,6 @@ enum {
#if MICROPY_DYNAMIC_COMPILER
typedef struct mp_dynamic_compiler_t {
uint8_t small_int_bits; // must be <= host small_int_bits
- bool py_builtins_str_unicode;
uint8_t native_arch;
uint8_t nlr_buf_num_regs;
} mp_dynamic_compiler_t;
diff --git a/py/persistentcode.h b/py/persistentcode.h
index 37263f66b..55428e73a 100644
--- a/py/persistentcode.h
+++ b/py/persistentcode.h
@@ -42,15 +42,11 @@
#define MPY_FEATURE_DECODE_ARCH(feat) ((feat) >> 2)
// The feature flag bits encode the compile-time config options that affect
-// the generate bytecode. Note: position 0 is now unused
-// (formerly MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE).
-#define MPY_FEATURE_FLAGS ( \
- ((MICROPY_PY_BUILTINS_STR_UNICODE) << 1) \
- )
+// the generate bytecode. Note: no longer used.
+// (formerly MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE and MICROPY_PY_BUILTINS_STR_UNICODE).
+#define MPY_FEATURE_FLAGS (0)
// This is a version of the flags that can be configured at runtime.
-#define MPY_FEATURE_FLAGS_DYNAMIC ( \
- ((MICROPY_PY_BUILTINS_STR_UNICODE_DYNAMIC) << 1) \
- )
+#define MPY_FEATURE_FLAGS_DYNAMIC (0)
// Define the host architecture
#if MICROPY_EMIT_X86