$ powerpc-linux-gnu-cpp -dM -x c /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 1 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ arm-linux-gnueabi-cpp -dM -x c /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_ATOMIC_CHAR_LOCK_FREE 1 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 1 #define __GCC_ATOMIC_POINTER_LOCK_FREE 1 #define __GCC_ATOMIC_INT_LOCK_FREE 1 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1 #define __GCC_ATOMIC_LONG_LOCK_FREE 1 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 1 #define __GCC_ATOMIC_SHORT_LOCK_FREE 1 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ arm-linux-gnueabi-cpp -dM -x c -march=armv7-a /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ cpp -dM -x c /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __ATOMIC_HLE_RELEASE 131072 #define __ATOMIC_HLE_ACQUIRE 65536 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ i686-linux-gnu-cpp -dM -x c /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __ATOMIC_HLE_RELEASE 131072 #define __ATOMIC_HLE_ACQUIRE 65536 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ i686-w64-mingw32-cpp -dM -x c /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __ATOMIC_HLE_RELEASE 131072 #define __ATOMIC_HLE_ACQUIRE 65536 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ powerpc-rtems5-cpp -dM -x c /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 1 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ i386-rtems5-cpp -dM -x c -march=i386 /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_ATOMIC_CHAR_LOCK_FREE 1 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 1 #define __GCC_ATOMIC_POINTER_LOCK_FREE 1 #define __ATOMIC_HLE_RELEASE 131072 #define __ATOMIC_HLE_ACQUIRE 65536 #define __GCC_ATOMIC_INT_LOCK_FREE 1 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1 #define __GCC_ATOMIC_LONG_LOCK_FREE 1 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 1 #define __GCC_ATOMIC_SHORT_LOCK_FREE 1 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ i386-rtems5-cpp -dM -x c -march=i686 /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __ATOMIC_HLE_RELEASE 131072 #define __ATOMIC_HLE_ACQUIRE 65536 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3 $ aarch64-linux-cpp -dM -x c /dev/null |egrep 'ATOMIC|SYNC' #define __ATOMIC_ACQUIRE 2 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 #define __SIG_ATOMIC_TYPE__ int #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 #define __GCC_ATOMIC_INT_LOCK_FREE 2 #define __SIG_ATOMIC_MAX__ 0x7fffffff #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 #define __GCC_ATOMIC_LONG_LOCK_FREE 2 #define __SIG_ATOMIC_WIDTH__ 32 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 #define __ATOMIC_RELAXED 0 #define __ATOMIC_CONSUME 1 #define __ATOMIC_SEQ_CST 5 #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_RELEASE 3