CMake/Tests/CompileFeatures/genex_test.cpp
Stephen Kelly 782591350c Features: Test presence of cxx_auto_type with genex.
The purpose of that test is to cover the case where the genex
reports '1', and the feature is chosen to be present on all/most
supported compilers.  GNU 4.4 does not support cxx_nullptr.
2015-01-17 16:07:53 +01:00

58 lines
1.0 KiB
C++

#if !HAVE_OVERRIDE_CONTROL
#if EXPECT_OVERRIDE_CONTROL
#error "Expect override control feature"
#endif
#else
struct A
{
virtual int getA() { return 7; }
};
struct B final : A
{
int getA() override { return 42; }
};
#endif
#if !HAVE_AUTO_TYPE
# error Expect cxx_auto_type support
#endif
#if !HAVE_INHERITING_CONSTRUCTORS
# if EXPECT_INHERITING_CONSTRUCTORS
# error Expect cxx_inheriting_constructors support
# endif
#else
# if !EXPECT_INHERITING_CONSTRUCTORS
# error Expect no cxx_inheriting_constructors support
# endif
#endif
#if !HAVE_FINAL
# if EXPECT_FINAL
# error Expect cxx_final support
# endif
#else
# if !EXPECT_FINAL
# error Expect no cxx_final support
# endif
#endif
#if !HAVE_INHERITING_CONSTRUCTORS_AND_FINAL
# if EXPECT_INHERITING_CONSTRUCTORS_AND_FINAL
# error Expect cxx_inheriting_constructors and cxx_final support
# endif
#else
# if !EXPECT_INHERITING_CONSTRUCTORS_AND_FINAL
# error Expect no combined cxx_inheriting_constructors and cxx_final support
# endif
#endif
int main()
{
}