Qing Zhao <qing.z...@oracle.com> writes: > Hi, Richard, > > In order to be consistent with other flags in flag-types.h, for example, > “sanitize_code”, > I didn’t use namespace, instead making the name more specific as following: > > /* Different settings for zeroing subset of registers. */ > enum zero_regs_flags { > ZERO_REGS_UNSET = 0, > ZERO_REGS_SKIP = 1UL << 0, > ZERO_REGS_ONLY_USED = 1UL << 1, > ZERO_REGS_ONLY_GPR = 1UL << 2, > ZERO_REGS_ONLY_ARG = 1UL << 3, > ZERO_REGS_ENABLED = 1UL << 4, > ZERO_REGS_USED_GPR_ARG = ZERO_REGS_ENABLED | ZERO_REGS_ONLY_USED > | ZERO_REGS_ONLY_GPR | ZERO_REGS_ONLY_ARG, > ZERO_REGS_USED_GPR = ZERO_REGS_ENABLED | ZERO_REGS_ONLY_USED > | ZERO_REGS_ONLY_GPR, > ZERO_REGS_USED_ARG = ZERO_REGS_ENABLED | ZERO_REGS_ONLY_USED > | ZERO_REGS_ONLY_ARG, > ZERO_REGS_USED = ZERO_REGS_ENABLED | ZERO_REGS_ONLY_USED, > ZERO_REGS_ALL_GPR_ARG = ZERO_REGS_ENABLED | ZERO_REGS_ONLY_GPR > | ZERO_REGS_ONLY_ARG, > ZERO_REGS_ALL_GPR = ZERO_REGS_ENABLED | ZERO_REGS_ONLY_GPR, > ZERO_REGS_ALL_ARG = ZERO_REGS_ENABLED | ZERO_REGS_ONLY_ARG, > ZERO_REGS_ALL = ZERO_REGS_ENABLED > }; > > Is this good? > > Or you still prefer namespace?
I prefer the namespace. I realise namespaces aren't used that much in GCC yet, but they *are* used. The advantage they have is that it's possible to do: using namespace ...; in contexts where there's no ambiguity. They also make lines like the | ones above easier to read. Thanks, Richard