
// Visual Studio allows only one set of flags for C and C++.
// In a target using C++ we pick the C++ flags even for C sources.
#ifdef TEST_LANG_DEFINES_FOR_VISUAL_STUDIO_OR_XCODE
#  ifndef CONSUMER_LANG_CXX
#    error Expected CONSUMER_LANG_CXX
#  endif

#  ifdef CONSUMER_LANG_C
#    error Unexpected CONSUMER_LANG_C
#  endif

#  if !LANG_IS_CXX
#    error Expected LANG_IS_CXX
#  endif

#  if LANG_IS_C
#    error Unexpected LANG_IS_C
#  endif
#else
#  ifdef CONSUMER_LANG_CXX
#    error Unexpected CONSUMER_LANG_CXX
#  endif

#  ifndef CONSUMER_LANG_C
#    error Expected CONSUMER_LANG_C
#  endif

#  if !LANG_IS_C
#    error Expected LANG_IS_C
#  endif

#  if LANG_IS_CXX
#    error Unexpected LANG_IS_CXX
#  endif
#endif

#if !LANG_IS_C_OR_CXX
#  error Expected LANG_IS_C_OR_CXX
#endif

void consumer_c()
{
}
