Index: tools/autocheck.awk
===================================================================
--- tools/autocheck.awk	(revision a5c468e1202a50cf26350e4a4d16303bc7323265)
+++ tools/autocheck.awk	(revision 8781e9d05ac3f6aeaa3ad709c5af9efa3209b87a)
@@ -38,16 +38,14 @@
 
 /}.*;/ {
-	pattern = "}( __attribute__\\(.*\\))? (" struct_name "_t)?;"
-	if ($0 !~ pattern) {
-		print("Bad struct ending: " $0) > "/dev/stderr"
-		exit 1
+	pattern = "}( __attribute__\\(.*\\))? " struct_name "_t;"
+	if ($0 ~ pattern) {
+		macro_name = toupper(struct_name) "_SIZE"
+		print "_Static_assert(" macro_name " == sizeof(struct " struct_name "), \"\");"
+		struct_name = ""
 	}
-	macro_name = toupper(struct_name) "_SIZE"
-	print "_Static_assert(" macro_name " == sizeof(struct " struct_name "), \"\");"
-	struct_name = ""
 }
 
 /;$/ {
-	if (struct_name != "") {
+	if (struct_name != "" && $0 !~ "}") {
 		# Remove array subscript, if any.
 		sub("(\\[.*\\])?;", "", $0)
