__GNUC_PREREQ
#ifndef __GNUC_PREREQ
# if __GNUC_PREREQ (3,4)
#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
#if __GNUC_PREREQ (4,3)
#if __GNUC_PREREQ (2,97)
#if __GNUC_PREREQ (2,96)
#if __GNUC_PREREQ (4, 3)
#if __GNUC_PREREQ (2,96)
#if __GNUC_PREREQ (2,5)
#if __GNUC_PREREQ (3,1)
#if __GNUC_PREREQ (3,2)
#if __GNUC_PREREQ (2,8)
#if __GNUC_PREREQ (2,97)
#if __GNUC_PREREQ (3,3)
#if __GNUC_PREREQ (3,4)
#if __GNUC_PREREQ (3,2)
#if __GNUC_PREREQ (4,3)
#if __GNUC_PREREQ (4,3)
#if !__GNUC_PREREQ (2,8)
#if !__GNUC_PREREQ (2,92)
#if __GNUC_PREREQ (3,1) && !defined __GNUG__
&& !__GNUC_PREREQ (4,7))
# if __GNUC_PREREQ (2,8)
# if __GNUC_PREREQ (4, 6) && !defined _LIBC
# if !defined __cplusplus && __GNUC_PREREQ (3, 3)
# if defined __cplusplus && __GNUC_PREREQ (2,8)
#if defined __GNUC__ && !__GNUC_PREREQ (2, 97) && defined __OPTIMIZE__
#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97)
#ifndef __GNUC_PREREQ
#if __GNUC_PREREQ (3,4)