Various MSVC warning fixes about truncated 64 bit shifts and const pointers passed to free.

llvm-svn: 100767
diff --git a/llvm/lib/Support/regengine.inc b/llvm/lib/Support/regengine.inc
index bf55543..7e41f96 100644
--- a/llvm/lib/Support/regengine.inc
+++ b/llvm/lib/Support/regengine.inc
@@ -185,7 +185,7 @@
 		endp = fast(m, start, stop, gf, gl);
 		if (endp == NULL) {		/* a miss */
 			free(m->pmatch);
-			free(m->lastpos);
+			free((void*)m->lastpos);
 			STATETEARDOWN(m);
 			return(REG_NOMATCH);
 		}