This patch converts all TREE_CODE_CLASS values from character
constants to enumeration constants. This is good for an approximately
1.5% speedup building Qt at -g -O0 -- mostly, I believe, because
IS_EXPR_CODE_CLASS is now two numeric comparisons instead of a call to
strchr().
The patch was inspired by Paolo Bonzini's earlier, similar change to
RTL classes. Most of the work was done by Jeffrey Oldham. I audited
his work and changed some drop-through switch defaults to aborts.
Bootstrapped i686-linux (all languages except gfortran, which I cannot
build due to lacking GMP+MPFR) and powerpc-darwin (C, C++ only; both
with and without checking). Mark has, offline, approved this despite
being in stage 3, but I will wait a few hours for comments before
checking it in.
I am aware of a few minor nits in this code (non-orthogonality of the
query macros, tree_code_class_strings not being declared right) but I
would prefer to fix those in followup patches, as this patch is
already far too big and unwieldy.