Use PyErr_WarnExplicit() to warn about hex/oct constants, so the
correct filename and line number are reported.
diff --git a/Python/compile.c b/Python/compile.c
index dbff9b0..b160f73 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1157,10 +1157,15 @@
 	if (s[0] == '0') {
 		x = (long) PyOS_strtoul(s, &end, 0);
 		if (x < 0 && errno == 0) {
-			if (PyErr_Warn(PyExc_DeprecationWarning,
-				       "hex/oct constants > sys.maxint "
-				       "will return positive values "
-				       "in Python 2.4 and up") < 0)
+			if (PyErr_WarnExplicit(
+				    PyExc_DeprecationWarning,
+				    "hex/oct constants > sys.maxint "
+				    "will return positive values "
+				    "in Python 2.4 and up",
+				    co->c_filename,
+				    co->c_lineno,
+				    NULL,
+				    NULL) < 0)
 				return NULL;
 			errno = 0; /* Might be changed by PyErr_Warn() */
 		}