Fix SF bug [ #450909 ] __future__.division fails at prompt
When code is compiled and compiler flags are passed in, be sure to
update cf_flags with any features defined by future statements in the
compiled code.
diff --git a/Python/compile.c b/Python/compile.c
index 9a2d50b..21349ba 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -4027,8 +4027,12 @@
com_free(&sc);
return NULL;
}
- if (flags)
- sc.c_future->ff_features |= flags->cf_flags;
+ if (flags) {
+ int merged = sc.c_future->ff_features |
+ flags->cf_flags;
+ sc.c_future->ff_features = merged;
+ flags->cf_flags = merged;
+ }
if (symtable_build(&sc, n) < 0) {
com_free(&sc);
return NULL;