On Wed, Jan 3, 2018 at 2:08 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> writes: > > ; >> + count = 0; >> + >> + if (options->pickaxe_opts & DIFF_PICKAXE_KIND_S) >> + count++; >> + if (options->pickaxe_opts & DIFF_PICKAXE_KIND_G) >> + count++; >> + if (options->pickaxe_opts & DIFF_PICKAXE_KIND_OBJFIND) >> + count++; >> + if (count > 1) >> + die(_("-G, -S, --find-object are mutually exclusive")); > > I thought the reason you defined pickaxe-kind bitmask was so that > you can mask this field to grab these (and only these) bits. Originally I only wanted to mask out the 'case independency' bit and keep it future proof for any similar bits. > Once you have that mask, you should be able to use HAS_MULTI_BITS() > on the masked result without counting, no? Oh, what a nice macro! Thanks for pointing at it. As soon as I figured out the right place where to put this check, I saw the lines above, whose style I imitated. (I guess there is just no mask defined for "--name-only, --name-status, --check and -s", nor would it make sense to do so; though that given macro should work just fine even for non-continuous masks)