[3.9] bpo-38964: Print correct filename on a SyntaxError in an fstring (GH-20399) (GH-20404)

When a `SyntaxError` in the expression part of a fstring is found,
the filename attribute of the `SyntaxError` is always `<fstring>`.
With this commit, it gets changed to always have the name of the file
the fstring resides in.

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>.
(cherry picked from commit f7b1e461567e5e3fa3ba46f589d9edc1b45b2dd0)
diff --git a/Parser/pegen/parse_string.c b/Parser/pegen/parse_string.c
index ca4b733..a0ec698 100644
--- a/Parser/pegen/parse_string.c
+++ b/Parser/pegen/parse_string.c
@@ -606,11 +606,8 @@
     if (tok == NULL) {
         return NULL;
     }
-    tok->filename = PyUnicode_FromString("<fstring>");
-    if (!tok->filename) {
-        PyTokenizer_Free(tok);
-        return NULL;
-    }
+    Py_INCREF(p->tok->filename);
+    tok->filename = p->tok->filename;
 
     Parser *p2 = _PyPegen_Parser_New(tok, Py_fstring_input, p->flags, p->feature_version,
                                      NULL, p->arena);