1#!/usr/bin/awk -f 2# $Id: report_duplicates.awk 181804 2010-01-22 17:03:24Z ucko $ 3BEGIN { srcline=1; key="" } 4/^#line/ { srcline=$2; split($3, tmp, "\""); src=tmp[2]; next } 5/^[ ]*[a-zA-Z0-9_]+[ ]*=/ { key=$1 } 6/^[ ]*#define/ { key=$2 } 7/^[ ]*#[ ]+define/ { key=$3 } 8length(key) > 0 { 9 if (seen[key]) { 10 print src ":" srcline ": duplicate definition of " key 11 print seen[key] ": original definition here" 12 } else { 13 seen[key] = src ":" srcline 14 } 15 key="" 16} 17{ ++srcline } 18