PyErr_SyntaxLocationEx() uses PyUnicode_DecodeFSDefault(), instead of
PyUnicode_FromString(), to decode the filename.
diff --git a/Python/errors.c b/Python/errors.c
index a24095d..e3486b9 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -819,7 +819,7 @@
         }
     }
     if (filename != NULL) {
-        tmp = PyUnicode_FromString(filename);
+        tmp = PyUnicode_DecodeFSDefault(filename);
         if (tmp == NULL)
             PyErr_Clear();
         else {