Make gcc -Wall happy
diff --git a/Parser/grammar.c b/Parser/grammar.c
index 3da7d3f..51bf90e 100644
--- a/Parser/grammar.c
+++ b/Parser/grammar.c
@@ -159,7 +159,7 @@
 	}
 	fprintf(stderr, "Label %d/'%s' not found\n", type, str);
 	fatal("grammar.c:findlabel()");
-	/*NOTREACHED*/
+	return 0; /* Make gcc -Wall happy */
 }
 
 /* Forward */
diff --git a/Parser/intrcheck.c b/Parser/intrcheck.c
index 5d02d17..5213573 100644
--- a/Parser/intrcheck.c
+++ b/Parser/intrcheck.c
@@ -125,6 +125,9 @@
 #include <stdio.h>
 #include <string.h>
 #include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 
 static int interrupted;
 
diff --git a/Parser/myreadline.c b/Parser/myreadline.c
index a94df8f..5eff847 100644
--- a/Parser/myreadline.c
+++ b/Parser/myreadline.c
@@ -54,6 +54,8 @@
 extern char *readline();
 extern int rl_initialize();
 extern int rl_insert();
+extern int rl_bind_key();
+extern void add_history();
 extern char *rl_readline_name;
 
 #include <setjmp.h>
diff --git a/Parser/pgen.c b/Parser/pgen.c
index dff4aed..c5a0618 100644
--- a/Parser/pgen.c
+++ b/Parser/pgen.c
@@ -66,10 +66,14 @@
 } nfa;
 
 /* Forward */
-static compile_rhs PROTO((labellist *ll, nfa *nf, node *n, int *pa, int *pb));
-static compile_alt PROTO((labellist *ll, nfa *nf, node *n, int *pa, int *pb));
-static compile_item PROTO((labellist *ll, nfa *nf, node *n, int *pa, int *pb));
-static compile_atom PROTO((labellist *ll, nfa *nf, node *n, int *pa, int *pb));
+static void compile_rhs PROTO((labellist *ll,
+			       nfa *nf, node *n, int *pa, int *pb));
+static void compile_alt PROTO((labellist *ll,
+			       nfa *nf, node *n, int *pa, int *pb));
+static void compile_item PROTO((labellist *ll,
+				nfa *nf, node *n, int *pa, int *pb));
+static void compile_atom PROTO((labellist *ll,
+				nfa *nf, node *n, int *pa, int *pb));
 
 static int
 addnfastate(nf)
@@ -128,7 +132,7 @@
 } nfagrammar;
 
 /* Forward */
-static compile_rule PROTO((nfagrammar *gr, node *n));
+static void compile_rule PROTO((nfagrammar *gr, node *n));
 
 static nfagrammar *
 newnfagrammar()
@@ -195,7 +199,7 @@
 	return gr;
 }
 
-static
+static void
 compile_rule(gr, n)
 	nfagrammar *gr;
 	node *n;
@@ -216,7 +220,7 @@
 	REQ(n, NEWLINE);
 }
 
-static
+static void
 compile_rhs(ll, nf, n, pa, pb)
 	labellist *ll;
 	nfa *nf;
@@ -253,7 +257,7 @@
 	}
 }
 
-static
+static void
 compile_alt(ll, nf, n, pa, pb)
 	labellist *ll;
 	nfa *nf;
@@ -284,7 +288,7 @@
 	}
 }
 
-static
+static void
 compile_item(ll, nf, n, pa, pb)
 	labellist *ll;
 	nfa *nf;
@@ -325,7 +329,7 @@
 	}
 }
 
-static
+static void
 compile_atom(ll, nf, n, pa, pb)
 	labellist *ll;
 	nfa *nf;
@@ -437,12 +441,12 @@
 } ss_dfa;
 
 /* Forward */
-static printssdfa PROTO((int xx_nstates, ss_state *xx_state, int nbits,
-			 labellist *ll, char *msg));
-static simplify PROTO((int xx_nstates, ss_state *xx_state));
-static convert PROTO((dfa *d, int xx_nstates, ss_state *xx_state));
+static void printssdfa PROTO((int xx_nstates, ss_state *xx_state, int nbits,
+			      labellist *ll, char *msg));
+static void simplify PROTO((int xx_nstates, ss_state *xx_state));
+static void convert PROTO((dfa *d, int xx_nstates, ss_state *xx_state));
 
-static
+static void
 makedfa(gr, nf, d)
 	nfagrammar *gr;
 	nfa *nf;
@@ -548,7 +552,7 @@
 	/* XXX cleanup */
 }
 
-static
+static void
 printssdfa(xx_nstates, xx_state, nbits, ll, msg)
 	int xx_nstates;
 	ss_state *xx_state;
@@ -629,7 +633,7 @@
 	}
 }
 
-static
+static void
 simplify(xx_nstates, xx_state)
 	int xx_nstates;
 	ss_state *xx_state;
@@ -661,7 +665,7 @@
 
 /* Convert the DFA into a grammar that can be used by our parser */
 
-static
+static void
 convert(d, xx_nstates, xx_state)
 	dfa *d;
 	int xx_nstates;
diff --git a/Parser/pgenmain.c b/Parser/pgenmain.c
index 98b5ac5..d0395e9 100644
--- a/Parser/pgenmain.c
+++ b/Parser/pgenmain.c
@@ -101,6 +101,7 @@
 	printnonterminals(g, fp);
 	fclose(fp);
 	goaway(0);
+	return 0; /* Make gcc -Wall happy */
 }
 
 grammar *
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index cff9179..8a726e0 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -279,7 +279,6 @@
 				int curstart = tok->start == NULL ? -1 :
 					       tok->start - tok->buf;
 				int curvalid = tok->inp - tok->buf;
-				int cursize = tok->end - tok->buf;
 				int newsize = curvalid + BUFSIZ;
 				char *newbuf = tok->buf;
 				RESIZE(newbuf, char, newsize);