On a similar note than PR debug/21391... In PR23336 we have the same thing happen with enums:
enum something { JTI_PROMOTED_BYTE_TYPE_NODE, etc }; use JTI_PROMOTED_BYTE_TYPE_NODE JTI_PROMOTED_BYTE_TYPE_NODE and "something" get pruned even though we use it. I see two alternatives: 1. Don't prune enumeration types. 2. Similar solution to PR21391: mark all enum types we use as un-prunable in the front-end. Thoughts? Aldy p.s. PING: http://gcc.gnu.org/ml/gcc-patches/2005-11/msg01227.html