Run C++14 and C++17 tests with appropriate compiler
Previously these testcases had C++98 fallback versions of the testcase code to feed to the compiler if it didn't set __cplusplus to a value which indicated support for the required C++ version, as well as the C++14 or C++17 code which was fed to SWIG, and also to the compiler if it was new enough. This approach allowed some testing of such features with an older compiler, but it complicates the testcases and not all new C++ features can be tested in this way (indeed some of the existing testcases don't fully exercise the feature being tested currently). C++14 and C++17 support are also much more widespread than they were 3.5 years ago when this approach was first implemented, so it makes more sense to switch C++14 and C++17 testcases to require a suitable compiler, like how C++11 testing always has.
This commit is contained in:
parent
07f0b732ba
commit
3140acd748
5 changed files with 8 additions and 196 deletions
|
|
@ -1,31 +1,9 @@
|
|||
%module cpp14_binary_integer_literals
|
||||
|
||||
// Tests are designed so that code compiles with C++98 compilers
|
||||
|
||||
%{
|
||||
#if __cplusplus >= 201402L
|
||||
#define CPP14 1
|
||||
#endif
|
||||
%}
|
||||
|
||||
%inline %{
|
||||
int b1 = 0b1;
|
||||
int b2 = 0b10;
|
||||
long b3 = 0b11l;
|
||||
unsigned long b4 = 0b100ul;
|
||||
unsigned long b5 = 0B101UL;
|
||||
|
||||
%{
|
||||
#if defined(CPP14)
|
||||
int b1 = 0b1;
|
||||
int b2 = 0b10;
|
||||
long b3 = 0b11l;
|
||||
unsigned long b4 = 0b100ul;
|
||||
unsigned long b5 = 0B101UL;
|
||||
#else
|
||||
int b1 = 1;
|
||||
int b2 = 2;
|
||||
long b3 = 3;
|
||||
unsigned long b4 = 4;
|
||||
unsigned long b5 = 5;
|
||||
#endif
|
||||
%}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue