1 #ifndef CLICK_FIXCONFIG_H 2 #define CLICK_FIXCONFIG_H 3 4 #if CLICK_LINUXMODULE && __cplusplus 5 #include <click/type_traits.hh> 6 7 #define __builtin_types_compatible_p(a, b) \ 8 (types_compatible<typeof(a), typeof(b)>::value) 9 #endif 10 11 #if CLICK_LINUXMODULE && HAVE_LINUX_ASM_ALTERNATIVE_H 12 // The .smp_locks section and C++-style weak linkage interact badly. 13 # if CONFIG_SMP && (defined(__i386__) || defined(__x86_64__)) 14 # include <click/cxxprotect.h> 15 CLICK_CXX_PROTECT 16 # include <asm/alternative.h> 17 # undef LOCK_PREFIX 18 # define LOCK_PREFIX "lock ; " 19 CLICK_CXX_UNPROTECT 20 # include <click/cxxunprotect.h> 21 # endif 22 #endif 23 24 #endif 25