On 01/25/2013 11:40 AM, Richard Henderson wrote:
> On 2013-01-25 10:16, Eric Blake wrote:
>>> >Which is exactly the case for all three errors reported in this series.
>>> >I know of no other good way to arrange this pattern.
>> #ifdef SOMETHING
>> # define SOMETHING_WITNESS 1
>> #else
>> # define SOMETHING_WITNESS 0
>> #endif
>>
>> if (foo && SOMETHING_WITNESS) {
>> bar();
>> } else {
>> baz1();
>> baz2();
>> }
>>
>> That is, hoist your #ifdeffery earlier into the file, and then you can
>> avoid #ifdefs inside the function body, and thus avoid the checkpatch
>> complaints; plus you get the benefit of testing that the code for
>> SOMETHING compiles cleanly even when SOMETHING is not defined.
>
> Well, in this case bar is not present when SOMETHING is undefined, which
> means that it definitely won't compile.Even that can be fixed: #ifdef SOMETHING # define SOMETHING_WITNESS 1 #else # define SOMETHING_WITNESS 0 # define bar() ((void) 0) #endif > > Fixing that is a significant amount of work inside tcg/tcg-op.h against > which this patch series should not be held up against. True, which is why I will leave it up to the maintainers whether to take your patch in spite of the checkpatch complaints. I was merely pointing out that a cleanup is possible, not that it is mandatory for acceptance. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
