[PATCH V2] parsers.c: avoid implicit conversion loses integer precision warnings

André Sintzoff andre.sintzoff at gmail.com
Tue Aug 18 10:14:02 CDT 2015


# HG changeset patch
# User André Sintzoff <andre.sintzoff at gmail.com>
# Date 1439902654 -7200
#      Tue Aug 18 14:57:34 2015 +0200
# Node ID 3de6766f291354f2f4e206dc5be9ca231f1eef4c
# Parent  9e7d805925c87cfa0ca30819e8273ac37fd77a62
parsers.c: avoid implicit conversion loses integer precision warnings

These warnings are raised by Apple LLVM version 6.1.0 (clang-602.0.53)
(based on LLVM 3.6.0svn) and were introduced in ff89383a97db

diff -r 9e7d805925c8 -r 3de6766f2913 mercurial/parsers.c
--- a/mercurial/parsers.c	Fri Aug 14 12:36:41 2015 +0900
+++ b/mercurial/parsers.c	Tue Aug 18 14:57:34 2015 +0200
@@ -1121,11 +1121,11 @@
 
 	PyObject *val;
 	Py_ssize_t len = index_length(self) - 1;
-	long revnum;
+	int revnum;
 	Py_ssize_t k;
 	Py_ssize_t i;
 	int r;
-	int minidx;
+	long minidx;
 	int parents[2];
 
 	/* Internal data structure:
@@ -1166,7 +1166,7 @@
 	/* Populate tovisit with all the heads */
 	numheads = PyList_GET_SIZE(heads);
 	for (i = 0; i < numheads; i++) {
-		revnum = PyInt_AsLong(PyList_GET_ITEM(heads, i));
+		revnum = (int)PyInt_AsLong(PyList_GET_ITEM(heads, i));
 		if (revnum == -1 && PyErr_Occurred())
 			goto bail;
 		if (revnum + 1 < 0 || revnum + 1 >= len + 1) {


More information about the Mercurial-devel mailing list