KWIML: Test header inclusion after system headers
Some system headers may define macros that interfere with preprocessor tests in KWIML headers. Test this case to be sure that the verification checks at the bottom of the headers do not fail.
This commit is contained in:
parent
a8f6159f69
commit
8be93fc487
|
@ -35,6 +35,7 @@ if(KWIML_LANGUAGE_C)
|
||||||
list(APPEND test_srcs
|
list(APPEND test_srcs
|
||||||
test_ABI_C.c
|
test_ABI_C.c
|
||||||
test_INT_C.c
|
test_INT_C.c
|
||||||
|
test_include_C.c
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(KWIML_LANGUAGE_CXX)
|
if(KWIML_LANGUAGE_CXX)
|
||||||
|
@ -42,6 +43,7 @@ if(KWIML_LANGUAGE_CXX)
|
||||||
list(APPEND test_srcs
|
list(APPEND test_srcs
|
||||||
test_ABI_CXX.cxx
|
test_ABI_CXX.cxx
|
||||||
test_INT_CXX.cxx
|
test_INT_CXX.cxx
|
||||||
|
test_include_CXX.cxx
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,8 @@ extern int test_ABI_C(void);
|
||||||
extern int test_INT_C(void);
|
extern int test_INT_C(void);
|
||||||
extern int test_ABI_CXX(void);
|
extern int test_ABI_CXX(void);
|
||||||
extern int test_INT_CXX(void);
|
extern int test_INT_CXX(void);
|
||||||
|
extern int test_include_C(void);
|
||||||
|
extern int test_include_CXX(void);
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
@ -26,10 +28,12 @@ int main(void)
|
||||||
#ifdef KWIML_LANGUAGE_C
|
#ifdef KWIML_LANGUAGE_C
|
||||||
result = test_ABI_C() && result;
|
result = test_ABI_C() && result;
|
||||||
result = test_INT_C() && result;
|
result = test_INT_C() && result;
|
||||||
|
result = test_include_C() && result;
|
||||||
#endif
|
#endif
|
||||||
#ifdef KWIML_LANGUAGE_CXX
|
#ifdef KWIML_LANGUAGE_CXX
|
||||||
result = test_ABI_CXX() && result;
|
result = test_ABI_CXX() && result;
|
||||||
result = test_INT_CXX() && result;
|
result = test_INT_CXX() && result;
|
||||||
|
result = test_include_CXX() && result;
|
||||||
#endif
|
#endif
|
||||||
return result? 0 : 1;
|
return result? 0 : 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*============================================================================
|
||||||
|
Kitware Information Macro Library
|
||||||
|
Copyright 2010-2011 Kitware, Inc.
|
||||||
|
|
||||||
|
Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
see accompanying file Copyright.txt for details.
|
||||||
|
|
||||||
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
See the License for more information.
|
||||||
|
============================================================================*/
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
/* Test KWIML header inclusion after above system headers. */
|
||||||
|
#include "test.h"
|
||||||
|
#include KWIML_HEADER(ABI.h)
|
||||||
|
#include KWIML_HEADER(INT.h)
|
||||||
|
|
||||||
|
int test_include_C(void)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*============================================================================
|
||||||
|
Kitware Information Macro Library
|
||||||
|
Copyright 2010-2011 Kitware, Inc.
|
||||||
|
|
||||||
|
Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
see accompanying file Copyright.txt for details.
|
||||||
|
|
||||||
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
See the License for more information.
|
||||||
|
============================================================================*/
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
/* Test KWIML header inclusion after above system headers. */
|
||||||
|
#include "test.h"
|
||||||
|
#include KWIML_HEADER(ABI.h)
|
||||||
|
#include KWIML_HEADER(INT.h)
|
||||||
|
|
||||||
|
extern "C" int test_include_CXX(void)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
Loading…
Reference in New Issue