| #include <stdio.h> |
| #include <string.h> |
| |
| #ifndef BOOL_PROP1 |
| # error Expected BOOL_PROP1 |
| #endif |
| |
| #ifndef BOOL_PROP2 |
| # error Expected BOOL_PROP2 |
| #endif |
| |
| #ifndef BOOL_PROP3 |
| # error Expected BOOL_PROP3 |
| #endif |
| |
| #ifndef STRING_PROP1 |
| # error Expected STRING_PROP1 |
| #endif |
| |
| #ifndef STRING_PROP2 |
| # error Expected STRING_PROP2 |
| #endif |
| |
| #ifndef STRING_PROP3 |
| # error Expected STRING_PROP3 |
| #endif |
| |
| #ifndef STATIC1_BOOL_PROP1 |
| # error Expected STATIC1_BOOL_PROP1 |
| #endif |
| |
| #ifndef STATIC1_STRING_PROP1 |
| # error Expected STATIC1_STRING_PROP1 |
| #endif |
| |
| #ifndef STATIC1_NUMBER_MAX_PROP3 |
| # error Expected STATIC1_NUMBER_MAX_PROP3 |
| #endif |
| |
| #ifndef STATIC1_NUMBER_MIN_PROP5 |
| # error Expected STATIC1_NUMBER_MIN_PROP5 |
| #endif |
| |
| #ifdef OBJECT1_BOOL_PROP1 |
| # error Unexpected OBJECT1_BOOL_PROP1 |
| #endif |
| |
| #ifdef OBJECT1_STRING_PROP1 |
| # error Unexpected OBJECT1_STRING_PROP1 |
| #endif |
| |
| #ifdef OBJECT1_NUMBER_MAX_PROP3 |
| # error Unexpected OBJECT1_NUMBER_MAX_PROP3 |
| #endif |
| |
| #ifdef OBJECT1_NUMBER_MIN_PROP5 |
| # error Unexpected OBJECT1_NUMBER_MIN_PROP5 |
| #endif |
| |
| #ifdef IFACE3_BOOL_PROP1 |
| # error Unexpected IFACE3_BOOL_PROP1 |
| #endif |
| |
| #ifdef IFACE3_STRING_PROP1 |
| # error Unexpected IFACE3_STRING_PROP1 |
| #endif |
| |
| #ifdef IFACE3_NUMBER_MAX_PROP3 |
| # error Unexpected IFACE3_NUMBER_MAX_PROP3 |
| #endif |
| |
| #ifdef IFACE3_NUMBER_MIN_PROP5 |
| # error Unexpected IFACE3_NUMBER_MIN_PROP5 |
| #endif |
| |
| #ifndef STATIC1_BOOL_PROP5 |
| # error Expected STATIC1_BOOL_PROP5 |
| #endif |
| |
| #ifndef STATIC1_STRING_PROP4 |
| # error Expected STATIC1_STRING_PROP4 |
| #endif |
| |
| #ifndef STATIC1_NUMBER_MIN_PROP6 |
| # error Expected STATIC1_NUMBER_MIN_PROP6 |
| #endif |
| |
| #ifndef STATIC1_NUMBER_MAX_PROP4 |
| # error Expected STATIC1_NUMBER_MAX_PROP4 |
| #endif |
| |
| #ifndef OBJECT1_BOOL_PROP5 |
| # error Expected OBJECT1_BOOL_PROP5 |
| #endif |
| |
| #ifndef OBJECT1_STRING_PROP4 |
| # error Expected OBJECT1_STRING_PROP4 |
| #endif |
| |
| #ifndef OBJECT1_NUMBER_MIN_PROP6 |
| # error Expected OBJECT1_NUMBER_MIN_PROP6 |
| #endif |
| |
| #ifndef OBJECT1_NUMBER_MAX_PROP4 |
| # error Expected OBJECT1_NUMBER_MAX_PROP4 |
| #endif |
| |
| #ifndef IFACE3_BOOL_PROP5 |
| # error Expected IFACE3_BOOL_PROP5 |
| #endif |
| |
| #ifndef IFACE3_STRING_PROP4 |
| # error Expected IFACE3_STRING_PROP4 |
| #endif |
| |
| #ifndef IFACE3_NUMBER_MIN_PROP6 |
| # error Expected IFACE3_NUMBER_MIN_PROP6 |
| #endif |
| |
| #ifndef IFACE3_NUMBER_MAX_PROP4 |
| # error Expected IFACE3_NUMBER_MAX_PROP4 |
| #endif |
| |
| template <bool test> |
| struct CMakeStaticAssert; |
| |
| template <> |
| struct CMakeStaticAssert<true> |
| { |
| }; |
| |
| enum |
| { |
| NumericMaxTest1 = sizeof(CMakeStaticAssert<NUMBER_MAX_PROP1 == 100>), |
| NumericMaxTest2 = sizeof(CMakeStaticAssert<NUMBER_MAX_PROP2 == 250>), |
| NumericMaxTest3 = sizeof(CMakeStaticAssert<NUMBER_MAX_PROP3 == 3>), |
| NumericMinTest1 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP1 == 50>), |
| NumericMinTest2 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP2 == 200>), |
| NumericMinTest3 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP3 == 0xA>), |
| NumericMinTest4 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP4 == 0x10>), |
| NumericMinTest5 = sizeof(CMakeStaticAssert<NUMBER_MIN_PROP5 == 5>) |
| }; |
| |
| #include "iface2.h" |
| |
| int foo(); |
| #ifdef _WIN32 |
| __declspec(dllimport) |
| #endif |
| int bar(); |
| |
| int main(int argc, char** argv) |
| { |
| int result = 0; |
| for (int i = 2; i < argc; i += 2) { |
| if (strcmp(argv[i - 1], argv[i]) != 0) { |
| fprintf(stderr, "Argument %d expected '%s' but got '%s'.\n", i, |
| argv[i - 1], argv[i]); |
| result = 1; |
| } |
| } |
| Iface2 if2; |
| return result + if2.foo() + foo() + bar(); |
| } |