With increasing code size, outdated stuff is easily forgotten in header files. I wrote a small script that compares the list of declared symbols with the list of symbols present in the symbol table of the final binary. The script lists declarations of symbols that are not required anymore.

Please note, this list may contain false positives and may be incomplete!

https://github.com/anyc/toolsnstuff/blob/master/unused_declarations.sh