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

Reply via email to