Fix bug that allowed future statements virtually anywhere in a module.

If we exit via the break here, we need to set ff_last_lineno or
FUTURE_POSSIBLE() will remain true.  The bug affected statements
containing a variety of expressions, but not all expressions.  It has
been present since Python 2.2.
diff --git a/Python/future.c b/Python/future.c
index 20d8dd2..95d6a5c 100644
--- a/Python/future.c
+++ b/Python/future.c
@@ -93,7 +93,6 @@
 {
 	int i, r;
  loop:
-
 	switch (TYPE(n)) {
 
 	case single_input:
@@ -222,6 +221,7 @@
 			n = CHILD(n, 0);
 			goto loop;
 		}
+                ff->ff_last_lineno = n->n_lineno;
 		break;
 
 	case atom:
@@ -258,4 +258,3 @@
 	}
 	return ff;
 }
-