diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 87005f5..3297332 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -348,13 +348,15 @@
 	}
 	if (PyComplex_Check(r)) {
 		cr = ((PyComplexObject*)r)->cval;
-		if (own_r)
+		if (own_r) {
 			Py_DECREF(r);
+		}
 	}
 	else {
 		tmp = (*nbr->nb_float)(r);
-		if (own_r)
+		if (own_r) {
 			Py_DECREF(r);
+		}
 		if (tmp == NULL)
 			return NULL;
 		cr.real = PyFloat_AsDouble(tmp);
diff --git a/Python/ceval.c b/Python/ceval.c
index 28360f4..0527537 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -2745,8 +2745,9 @@
 						callable, args);
 					Py_DECREF(args);
 				}
-				if (callable != basetype)
+				if (callable != basetype) {
 					Py_DECREF(callable);
+				}
 				return newclass;
 			}
 			PyErr_SetString(PyExc_TypeError,
diff --git a/Python/getargs.c b/Python/getargs.c
index 7bc150d..502944d 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -257,7 +257,7 @@
 		}
 	}
 
-	if (*format != '\0' && !isalpha(*format) &&
+	if (*format != '\0' && !isalpha((int)(*format)) &&
 	    *format != '(' &&
 	    *format != '|' && *format != ':' && *format != ';') {
 		PyErr_Format(PyExc_SystemError,
diff --git a/Python/marshal.c b/Python/marshal.c
index 75a20c2..9daeeb3 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -143,12 +143,15 @@
 {
 	int i, n;
 	
-	if (v == NULL)
+	if (v == NULL) {
 		w_byte(TYPE_NULL, p);
-	else if (v == Py_None)
+	}
+	else if (v == Py_None) {
 		w_byte(TYPE_NONE, p);
-	else if (v == Py_Ellipsis)
-	        w_byte(TYPE_ELLIPSIS, p);  
+	}
+	else if (v == Py_Ellipsis) {
+	        w_byte(TYPE_ELLIPSIS, p);
+	}
 	else if (PyInt_Check(v)) {
 		long x = PyInt_AS_LONG((PyIntObject *)v);
 #if SIZEOF_LONG > 4
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h
index 5b70fa4..2f57b36 100644
--- a/Python/thread_pthread.h
+++ b/Python/thread_pthread.h
@@ -175,11 +175,12 @@
 static void do_exit_thread _P1(no_cleanup, int no_cleanup)
 {
 	dprintf(("exit_thread called\n"));
-	if (!initialized)
+	if (!initialized) {
 		if (no_cleanup)
 			_exit(0);
 		else
 			exit(0);
+	}
 }
 
 void exit_thread _P0()
