>>>>> "Bernhard" == Bernhard Reutner-Fischer <rep.dot....@gmail.com> writes:
Bernhard> - should handle structs. There are some other difficult cases. First, don't let this discourage you :-). I think this would be a useful feature. I think in general you cannot actually ever tell if a header is unused or not. Maybe it will only be used with some set of -D options, or when some configure option is passed in. So I think users of a plugin like this will always have to live with some "false" reporting. A header can #define things that are used by other headers. You would need to modify libcpp to detect this situation. Suppose a system header which is used includes a header which is not used. In this case, I think a warning about the inner header should be suppressed -- users generally can't do anything about this. (There are other worse cases like this. You might have a system header that seems directly unused, but it is the documented way to access some set of declarations. E.g., <stdio.h> might actually just be a bunch of #includes.) Tom