Currently, the TDF_foo flags serve 3 purposes: 1) what kind of dump 2) how detailed to print it 3) auxiliary message control This addresses #1, which currently uses a bit mask of TDF_{TREE,RTL,IPA}, of which exactly one must be set. The patch changes things so that these are now an index value (I hesitate to say enumeration, because they're still raw ints). A TDF_KIND(X) accessor extracts this value. (I left the spare bit between the TDF_KIND_MASK and TDF_ADDRESS for the moment.) In addition I added 'TDF_LANG' for language-specific dump control, of which -fdump-translation-unit and -fdump-class-hierarchy become. And can also be controlled by -fdump-lang-all. (rather than -fdump-tree-all) Next move will be to move -fdump-class-hierarchy into a more generic structure (and -fdump-translation-unit, if my patch to remove it is not accepted). ok? nathan -- Nathan Sidwell