| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- #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();
- }
|