+$5 == "p" {
+ # check for different declarations of the same symbol
+ if ($1 in proto) {
+ if (proto[$1] != $6)
+ print "proto\t" $1 "\t" $4 "\t" head[$1] "\t" $6 "\t" proto[$1]
+ } else {
+ proto[$1] = $6
+ protoshort[$1] = $7
+ head[$1] = $4
+ }
+}
+$5 == "f" && $1 in protoshort {
+ # func definition with different proto
+ dec = protoshort[$1]
+ def = $7
+ gsub(/extern */, "", dec)
+ gsub(/void/, "", dec)
+ gsub(/void/, "", def)
+ if (protoshort[$1] != $7 && dec != def)
+ print "proto\t" $1 "\t" $4 "\t" head[$1] "\t" $7 "\t" protoshort[$1]
+}
+$2 ~ /inc posix/ && $4 == $8 {
+ head[$1] = $4
+ herr = ""
+}
+$2 ~ /inc posix/ && head[$1] != $8 && $4 !~ /^bits\// && $5 != "f" {