#ifdef Type_Is_
#  if !Result
#    error Result should be 1 in WARN mode
#  endif
#endif

#ifdef Type_Is_NEW
#  if Result
#    error Result should be 0 in NEW mode
#  endif
#endif

#ifdef Type_Is_OLD
#  if !Result
#    error Result should be 1 in OLD mode
#  endif
#endif

#if !defined(Type_Is_) && !defined(Type_Is_OLD) && !defined(Type_Is_NEW)
#  error No expected definition present
#endif

void foo(void)
{
}