X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=include%2Furcu%2Farch%2Farm.h;h=e904b06e461cd56a6aa30fe685340cf51501193c;hb=39c2747c011f2d7563c8fa63e26cd92ca552d15b;hp=cb8f28dc711769f2c91544b598be95c64bc83294;hpb=7fe7e9f353c3596b78b6bed1f4267037de750a48;p=urcu.git diff --git a/include/urcu/arch/arm.h b/include/urcu/arch/arm.h index cb8f28d..e904b06 100644 --- a/include/urcu/arch/arm.h +++ b/include/urcu/arch/arm.h @@ -57,6 +57,28 @@ extern "C" { #define __NR_membarrier 389 #endif +/* + * Error out for compilers with known bugs. + */ + +/* + * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854 + */ +#ifdef URCU_GCC_VERSION +# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40802 +# error Your gcc version produces clobbered frame accesses +# endif +#endif + +/* + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42263 + */ +#ifdef URCU_GCC_VERSION +# if URCU_GCC_VERSION >= 40400 && URCU_GCC_VERSION <= 40402 +# error Your gcc version has a non-functional __sync_synchronize() +# endif +#endif + #ifdef __cplusplus } #endif