[C++] Error for missing endef

A fix for https://github.com/google/kati/issues/55
diff --git a/parser.cc b/parser.cc
index 96b8ba3..e88a9d9 100644
--- a/parser.cc
+++ b/parser.cc
@@ -90,6 +90,9 @@
 
     if (!if_stack_.empty())
       ERROR("%s:%d: *** missing `endif'.", loc_.filename, loc_.lineno + 1);
+    if (!define_name_.empty())
+      ERROR("%s:%d: *** missing `endef', unterminated `define'.",
+            loc_.filename, define_start_line_);
   }
 
   static void Init() {
diff --git a/testcase/err_missing_endef.mk b/testcase/err_missing_endef.mk
new file mode 100644
index 0000000..9bed024
--- /dev/null
+++ b/testcase/err_missing_endef.mk
@@ -0,0 +1,4 @@
+all:
+	echo FAIL
+define foo
+xx