Okay, I will change it to namespace. Qing
> On Oct 28, 2020, at 9:19 AM, Richard Sandiford <richard.sandif...@arm.com> > wrote: > > Qing Zhao <qing.z...@oracle.com <mailto: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