On 10/01/2014 07:31 AM, Kirill A. Shutemov wrote:
> +#define _VM_DUMP(arg, cond) do {                                     \
> +     if (__builtin_types_compatible_p(typeof(*arg), struct page))    \
> +             dump_page((struct page *) arg,                          \
> +                             "VM_BUG_ON(" __stringify(cond)")");     \
> +     else if (__builtin_types_compatible_p(typeof(*arg),             \
> +                             struct vm_area_struct))                 \
> +             dump_vma((struct vm_area_struct *) arg);                \
> +     else if (__builtin_types_compatible_p(typeof(*arg),             \
> +                             struct mm_struct))                      \
> +             dump_mm((struct mm_struct *) arg);                      \
> +     else                                                            \
> +             BUILD_BUG();                                            \
> +} while(0)

__same_type() instead of __builtin_types_compatible_p() would look nicer,
but I don't think that all compilers support that:

        include/linux/compiler-intel.h:/* Intel ECC compiler doesn't support 
__builtin_types_compatible_p() */

So it would effectively disable VM_BUG_ONs on Intel's compiler.


Thanks,
Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to