// 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 void consumer_c() { }