[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/57] target-i386 eflags cleanup and bmi/adx ex
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 00/57] target-i386 eflags cleanup and bmi/adx extensions |
Date: |
Fri, 25 Jan 2013 11:16:02 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
On 01/25/2013 11:10 AM, Richard Henderson wrote:
> Checkpatch doesn't work well with the pattern
>
> #ifdef SOMETHING
> if (foo) {
> bar();
> } else
> #endif
> {
> baz1();
> baz2();
> }
>
> 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.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature