Quoting Dan Smith (danms@xxxxxxxxxx): > SH> #define CR_COPY_ARRAY(op, SAVE, LIVE, count) \ > SH> do { \ > SH> __must_be_array(SAVE); \ > SH> __must_be_array(LIVE); \ > SH> BUILD_BUG_ON(sizeof(*SAVE) != sizeof(*LIVE)); \ > SH> if (op == CR_CPT) \ > SH> memcpy(SAVE, LIVE, count * sizeof(*SAVE)); \ > SH> else \ > SH> memcpy(LIVE, SAVE, count * sizeof(*SAVE)); \ > SH> } while (0) > > SH> Putting the __must_be_array()s inside the condition seems really weird. > > I thought I explained this somewhere. You'll get a compile warning if Oh, probably on irc... > you make __must_be_array() a statement without an lvalue. If you try > to stuff the result into a variable that you don't use, you'll get a > warning about an unused variable. I did what I did because it seemed > like a sane way to sidestep both of those issues. > > Maybe a comment is warranted? :) That's sucky... yeah i would say a comment, though of course it could be one of those cases where everyone but me already knows... -serge _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers