bpo-33407: Implement Py_DEPRECATED() on MSVC (GH-8980)

diff --git a/Include/cpython/pyerrors.h b/Include/cpython/pyerrors.h
index 6b0cced..e3098b3 100644
--- a/Include/cpython/pyerrors.h
+++ b/Include/cpython/pyerrors.h
@@ -88,8 +88,9 @@
 /* Convenience functions */
 
 #ifdef MS_WINDOWS
+Py_DEPRECATED(3.3)
 PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithUnicodeFilename(
-    PyObject *, const Py_UNICODE *) Py_DEPRECATED(3.3);
+    PyObject *, const Py_UNICODE *);
 #endif /* MS_WINDOWS */
 
 /* Like PyErr_Format(), but saves current exception as __context__ and
@@ -103,11 +104,12 @@
 
 #ifdef MS_WINDOWS
 /* XXX redeclare to use WSTRING */
+Py_DEPRECATED(3.3)
 PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithUnicodeFilename(
-    int, const Py_UNICODE *) Py_DEPRECATED(3.3);
-
+    int, const Py_UNICODE *);
+Py_DEPRECATED(3.3)
 PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithUnicodeFilename(
-    PyObject *,int, const Py_UNICODE *) Py_DEPRECATED(3.3);
+    PyObject *,int, const Py_UNICODE *);
 #endif
 
 /* In exceptions.c */
@@ -147,23 +149,23 @@
     int lineno);
 
 /* Create a UnicodeEncodeError object */
-PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_Create(
+Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject *) PyUnicodeEncodeError_Create(
     const char *encoding,       /* UTF-8 encoded string */
     const Py_UNICODE *object,
     Py_ssize_t length,
     Py_ssize_t start,
     Py_ssize_t end,
     const char *reason          /* UTF-8 encoded string */
-    ) Py_DEPRECATED(3.3);
+    );
 
 /* Create a UnicodeTranslateError object */
-PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_Create(
+Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject *) PyUnicodeTranslateError_Create(
     const Py_UNICODE *object,
     Py_ssize_t length,
     Py_ssize_t start,
     Py_ssize_t end,
     const char *reason          /* UTF-8 encoded string */
-    ) Py_DEPRECATED(3.3);
+    );
 PyAPI_FUNC(PyObject *) _PyUnicodeTranslateError_Create(
     PyObject *object,
     Py_ssize_t start,