|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] x86/bitops and MISRA C:2012 Rule 5.5
Hello everyone,
there are violations of Rule 5.5 ("Identifiers shall be distinct
from macro names") in xen/arch/x86/include/asm/bitops.h.
You can see them at [1].
Do you agree to distinguish between function-like macros and
inline functions by adding a suffix to the functions?
I thought about "_unsafe" or "_nocheck" suffixes.
As an example:
@@ -32,14 +32,14 @@ extern void __bitop_bad_size(void);
* Note that @nr may be almost arbitrarily large; this function is not
* restricted to acting on a single-word quantity.
*/
-static inline void set_bit(int nr, volatile void *addr)
+static inline void set_bit_unsafe(int nr, volatile void *addr)
{
asm volatile ( "lock; btsl %1,%0"
: "+m" (ADDR) : "Ir" (nr) : "memory");
}
#define set_bit(nr, addr) ({ \
if ( bitop_bad_size(addr) ) __bitop_bad_size(); \
- set_bit(nr, addr); \
+ set_bit_unsafe(nr, addr); \
})
[1]
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/staging/X86_64-BUGSENG/575/PROJECT.ecd;/by_service/MC3R1.R5.5.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":true,"selector":{"enabled":true,"negated":false,"kind":2,"children":[{"enabled":true,"negated":false,"kind":0,"domain":"file","inputs":[{"enabled":true,"text":"xen/arch/x86/include/asm/bitops.h"}]}]}}}
--
Federico Serafini, M.Sc.
Software Engineer, BUGSENG (http://bugseng.com)
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |