From 481081e3693e1a7169cf8127725f7dc0e1750f29 Mon Sep 17 00:00:00 2001
From: Jeremy Hylton <jeremy@alum.mit.edu>
Date: Tue, 14 Aug 2001 20:01:59 +0000
Subject: [PATCH] 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.
---
 Python/compile.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Python/compile.c b/Python/compile.c
index 9a2d50b0b5..21349ba114 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -4027,8 +4027,12 @@ jcompile(node *n, char *filename, struct compiling *base,
 			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;
-- 
2.49.0