Manually counting bits for DeclContext is error-prone. These two are still out-dated:
- NumObjCMethodDeclBits (25, not 24)
- NumBlockDeclBits (6, not 5)
Although no harm at this moment but it's still misleading and might cause problem
for the future.
Two simple reflection-like utilities countBits & countFields are added for auto-
updating these bits at compile time and static assert on syncing with any changes.
Static assert on bit count is preserved since it's informative.
Bitfields cannot be listed at compile time easily, but assert on countFields can still
catch errors if fields are added/removed.