|
|
@@ -0,0 +1,60 @@
|
|
|
+#include <iostream>
|
|
|
+
|
|
|
+#include "check_predefs.h"
|
|
|
+
|
|
|
+#define TO_STRING(x) TO_STRING0(x)
|
|
|
+#define TO_STRING0(x) #x
|
|
|
+
|
|
|
+int main()
|
|
|
+{
|
|
|
+ int ret = 0;
|
|
|
+#if defined(__STRICT_ANSI__)
|
|
|
+# if !defined(CHECK___STRICT_ANSI__)
|
|
|
+ std::cout << "__STRICT_ANSI__: Expected " << TO_STRING(__STRICT_ANSI__)
|
|
|
+ << " but it is not defined.\n";
|
|
|
+ ret = 1;
|
|
|
+# elif __STRICT_ANSI__ != CHECK___STRICT_ANSI__
|
|
|
+ std::cout << "__STRICT_ANSI__: Expected " << TO_STRING(__STRICT_ANSI__)
|
|
|
+ << " but got: " << TO_STRING(CHECK___STRICT_ANSI__) << "\n";
|
|
|
+ ret = 1;
|
|
|
+# endif
|
|
|
+#elif defined(CHECK___STRICT_ANSI__)
|
|
|
+ std::cout << "__STRICT_ANSI__: Expected undefined but got: "
|
|
|
+ << TO_STRING(CHECK___STRICT_ANSI__) << "\n";
|
|
|
+ ret = 1;
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(__cplusplus)
|
|
|
+# if !defined(CHECK___cplusplus)
|
|
|
+ std::cout << "__cplusplus: Expected " << TO_STRING(__cplusplus)
|
|
|
+ << " but it is not defined.\n";
|
|
|
+ ret = 1;
|
|
|
+# elif __cplusplus != CHECK___cplusplus
|
|
|
+ std::cout << "__cplusplus: Expected " << TO_STRING(__cplusplus)
|
|
|
+ << " but got: " << TO_STRING(CHECK___cplusplus) << "\n";
|
|
|
+ ret = 1;
|
|
|
+# endif
|
|
|
+#elif defined(CHECK___cplusplus)
|
|
|
+ std::cout << "__cplusplus: Expected undefined but got: "
|
|
|
+ << TO_STRING(CHECK___cplusplus) << "\n";
|
|
|
+ ret = 1;
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(_MSVC_LANG)
|
|
|
+# if !defined(CHECK__MSVC_LANG)
|
|
|
+ std::cout << "_MSVC_LANG: Expected " << TO_STRING(_MSVC_LANG)
|
|
|
+ << " but it is not defined.\n";
|
|
|
+ ret = 1;
|
|
|
+# elif _MSVC_LANG != CHECK__MSVC_LANG
|
|
|
+ std::cout << "_MSVC_LANG: Expected " << TO_STRING(_MSVC_LANG)
|
|
|
+ << " but got: " << TO_STRING(CHECK__MSVC_LANG) << "\n";
|
|
|
+ ret = 1;
|
|
|
+# endif
|
|
|
+#elif defined(CHECK__MSVC_LANG)
|
|
|
+ std::cout << "_MSVC_LANG: Expected undefined but got: "
|
|
|
+ << TO_STRING(CHECK__MSVC_LANG) << "\n";
|
|
|
+ ret = 1;
|
|
|
+#endif
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|