Commit Graph

8 Commits

Author SHA1 Message Date
Brad King 10272e6403 KWIML: Avoid conflict with C++11 user-defined literals
Clang warns

 test/test_INT_format.h:28:26: warning: identifier after literal will
 be treated as a reserved user-defined literal suffix in C++11
 [-Wc++11-compat-reserved-user-defined-literal]
  " expression [%"KWIML_INT_PRI##PRI"],"

because the KWIML_... part is an identifier lexically immediately
following a string literal.  Add a space between the string literal
and the identifier to avoid the C++11 user-defined literal syntax.
2012-03-20 15:49:49 -04:00
Brad King f94ae0ecda KWIML: Make test_INT robust to #define-d int#_t and INT#_C
Our TEST* macro calls pass arguments such as "int64_t" with the
expectation that the preprocessing token will be used literally.
Some platforms #define int64_t as "long long" which is not a valid
preprocessing token.  Perform preprocessor symbol concatenation
on the type names at the first level of macro evaluation to avoid
expanding the names.
2012-03-09 15:26:26 -05:00
Brad King b421c2477c KWIML: Avoid MSVC linker warning about not using C++ runtime
Teach KWIML_test to use part of the C++ runtime library.  Otherwise the
linker complains:

  warning LNK4089: all references to 'MSVCP71.dll' discarded by /OPT:REF
2011-11-21 11:02:26 -05:00
Brad King 8be93fc487 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.
2011-11-17 08:57:26 -05:00
Brad King a8f6159f69 KWIML: Create test output dir for Xcode
Xcode 2.x forgets to create the target output directory before linking
the individual architecture pieces of a universal binary for the target
KWIML_test.  Then it passes the directory to -L and -F options when
linking the and warns that the directory does not exist.  We work around
the problem by using a pre-build rule on the target to create the output
directory.
2011-11-14 07:54:10 -05:00
Brad King 6d12ab3f89 KWIML: Suppress printf/scanf format warnings in test
KWIML defines format string macros matching the fixed-sized types.  This
test checks that they behave as expected and that the arguments match
the *sizes* expected by the format strings.
2011-11-12 09:39:40 -05:00
Brad King 553acec76b KWIML: Avoid redefining _CRT_SECURE_NO_DEPRECATE in test.h
If the including project defines this macro do not re-define it
in the test header.
2011-11-12 08:00:13 -05:00
Brad King 831badeca2 KWIML: The Kitware Information Macro Library
Provides header files that use preprocessor tests to detect and provide
information about the compiler and its target architecture.  The headers
contain no configuration-time test results and thus may be installed
into an architecture-independent include directory.  This makes them
suitable for use in the public interface of any package.
2011-06-27 14:04:32 -04:00