bpo-41520: codeop no longer ignores SyntaxWarning (GH-21838)

(cherry picked from commit 369a1cbdee14d9f27356fb3a8bb21e4fde289d25)

Co-authored-by: Victor Stinner <vstinner@python.org>
diff --git a/Lib/codeop.py b/Lib/codeop.py
index 7e192ea..5476292 100644
--- a/Lib/codeop.py
+++ b/Lib/codeop.py
@@ -84,9 +84,11 @@
     except SyntaxError:
         pass
 
-    # Suppress warnings after the first compile to avoid duplication.
+    # Catch syntax warnings after the first compile
+    # to emit SyntaxWarning at most once.
     with warnings.catch_warnings():
-        warnings.simplefilter("ignore")
+        warnings.simplefilter("error", SyntaxWarning)
+
         try:
             code1 = compiler(source + "\n", filename, symbol)
         except SyntaxError as e: