Changed some RuntimeErrors.
diff --git a/Python/compile.c b/Python/compile.c
index 99aaf1b..08785a7 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -422,7 +422,8 @@
 	x = strtol(s, &end, 0);
 	if (*end == '\0') {
 		if (errno != 0) {
-			err_setstr(RuntimeError, "integer constant too large");
+			err_setstr(OverflowError,
+				   "integer constant too large");
 			return NULL;
 		}
 		return newintobject(x);
@@ -431,12 +432,12 @@
 	xx = strtod(s, &end);
 	if (*end == '\0') {
 		if (errno != 0) {
-			err_setstr(RuntimeError, "float constant too large");
+			err_setstr(OverflowError, "float constant too large");
 			return NULL;
 		}
 		return newfloatobject(xx);
 	}
-	err_setstr(RuntimeError, "bad number syntax");
+	err_setstr(SystemError, "bad number syntax?!?!");
 	return NULL;
 }