Issue #9011: AST creation no longer modifies CST for negated numeric literals.
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py
index 93fbaec..12fa89c 100644
--- a/Lib/test/test_parser.py
+++ b/Lib/test/test_parser.py
@@ -567,6 +567,17 @@
         st = parser.suite('a = u"\u1"')
         self.assertRaises(SyntaxError, parser.compilest, st)
 
+    def test_issue_9011(self):
+        # Issue 9011: compilation of an unary minus expression changed
+        # the meaning of the ST, so that a second compilation produced
+        # incorrect results.
+        st = parser.expr('-3')
+        code1 = parser.compilest(st)
+        self.assertEqual(eval(code1), -3)
+        code2 = parser.compilest(st)
+        self.assertEqual(eval(code2), -3)
+
+
 class ParserStackLimitTestCase(unittest.TestCase):
     """try to push the parser to/over it's limits.
     see http://bugs.python.org/issue1881 for a discussion