Tighten up compiler flags for aidl

Turn all warnings to errors, with special cases for places where
yacc forces us to be lenient.  Remove one variable with 0 references
elsewhere in the code.

Change-Id: Ia7819795eb162e9c77d215088aee4c45bd87c1af
diff --git a/tools/aidl/Android.mk b/tools/aidl/Android.mk
index efd60a2..9554e42 100644
--- a/tools/aidl/Android.mk
+++ b/tools/aidl/Android.mk
@@ -8,6 +8,17 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CFLAGS := -g -Wall -Werror
+# Tragically, the code is riddled with unused parameters.
+LOCAL_CFLAGS += -Wno-unused-parameter
+# yacc dumps a lot of code *just in case*.
+LOCAL_CFLAGS += -Wno-unused-function
+LOCAL_CFLAGS += -Wno-unneeded-internal-declaration
+# yacc is a tool from a more civilized age.
+LOCAL_CFLAGS += -Wno-deprecated-register
+# yacc also has a habit of using char* over const char*.
+LOCAL_CFLAGS += -Wno-writable-strings
+
 LOCAL_SRC_FILES := \
 	aidl_language_l.l \
 	aidl_language_y.y \
@@ -21,7 +32,6 @@
 	generate_java_binder.cpp \
 	generate_java_rpc.cpp
 
-LOCAL_CFLAGS := -g
 LOCAL_MODULE := aidl
 
 include $(BUILD_HOST_EXECUTABLE)
diff --git a/tools/aidl/aidl.cpp b/tools/aidl/aidl.cpp
index 2d8f0ac..0df9f06 100644
--- a/tools/aidl/aidl.cpp
+++ b/tools/aidl/aidl.cpp
@@ -165,11 +165,6 @@
 {
 }
 
-static ParserCallbacks g_importCallbacks = {
-    &main_document_parsed,
-    &import_import_parsed
-};
-
 // ==========================================================
 static int
 check_filename(const char* filename, const char* package, buffer_type* name)