diff options
author | Olly Betts <olly@survex.com> | 2022-07-25 16:45:27 +1200 |
---|---|---|
committer | Olly Betts <olly@survex.com> | 2022-07-26 15:28:51 +1200 |
commit | 3140acd748fb9473ef5c1bfc6dbdc94c89e018d1 (patch) | |
tree | d695a094e790191ff5899c251644b8789457136e /Examples/test-suite/cpp17_nested_namespaces.i | |
parent | 07f0b732ba71eca1dee15ed495c2bb61ec38d0dc (diff) | |
download | swig-3140acd748fb9473ef5c1bfc6dbdc94c89e018d1.tar.gz |
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.
Diffstat (limited to 'Examples/test-suite/cpp17_nested_namespaces.i')
-rw-r--r-- | Examples/test-suite/cpp17_nested_namespaces.i | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/Examples/test-suite/cpp17_nested_namespaces.i b/Examples/test-suite/cpp17_nested_namespaces.i index b9ec9bd5a..fcbf24c9a 100644 --- a/Examples/test-suite/cpp17_nested_namespaces.i +++ b/Examples/test-suite/cpp17_nested_namespaces.i @@ -1,13 +1,5 @@ %module cpp17_nested_namespaces // Tests c++17 style nested namespaces -// Tests are designed so that code compiles with C++98 compilers - -#define CPP17 1 -%{ -#if __cplusplus >= 201703L -#define CPP17 1 -#endif -%} %inline %{ // Tests with namespaces already defined using C++98 style (non-nested) namespaces @@ -21,20 +13,10 @@ namespace A1 { }; } } -#if defined(CPP17) namespace A1::B1 { -#else -namespace A1 { - namespace B1 { -#endif A1Struct createA1Struct() { return ::A1::A1Struct(); } B1Struct createB1Struct() { return ::A1::B1::B1Struct(); } -#if !defined(CPP17) - } } -#else -} -#endif namespace A1 { namespace B1 { @@ -46,154 +28,54 @@ namespace A1 { } } -#if defined(CPP17) namespace A1::B1::C1 { -#else -namespace A1 { - namespace B1 { - namespace C1 { -#endif C1Struct createC1Struct() { return ::A1::B1::C1::C1Struct(); } -#if !defined(CPP17) - } - } -} -#else } -#endif %} %inline %{ // Tests with namespaces already defined using C++17 style (nested) namespaces -#if defined(CPP17) namespace A2::B2 { -#else -namespace A2 { - namespace B2 { -#endif struct B2Struct { void B2Method() {} }; -#if !defined(CPP17) - } -} -#else } -#endif -#if defined(CPP17) namespace A2::B2 { -#else -namespace A2 { - namespace B2 { -#endif B2Struct createB2Struct() { return ::A2::B2::B2Struct(); } -#if !defined(CPP17) - } } -#else -} -#endif -#if defined(CPP17) namespace A2::B2::C2 { -#else -namespace A2 { - namespace B2 { - namespace C2 { -#endif struct C2Struct { void C2Method() {} }; -#if !defined(CPP17) - } - } } -#else -} -#endif -#if defined(CPP17) namespace A2::B2::C2 { -#else -namespace A2 { - namespace B2 { - namespace C2 { -#endif C2Struct createC2Struct() { return ::A2::B2::C2::C2Struct(); } -#if !defined(CPP17) - } - } -} -#else } -#endif %} %inline %{ // Tests with namespaces already defined using C++17 style (nested) namespaces to 3 levels -#if defined(CPP17) namespace A3::B3::C3 { -#else -namespace A3 { - namespace B3 { - namespace C3 { -#endif struct C3Struct { void C3Method() {} }; -#if !defined(CPP17) - } - } -} -#else } -#endif -#if defined(CPP17) namespace A3::B3::C3 { -#else -namespace A3 { - namespace B3 { - namespace C3 { -#endif C3Struct createC3Struct() { return ::A3::B3::C3::C3Struct(); } -#if !defined(CPP17) - } - } -} -#else } -#endif -#if defined(CPP17) namespace A3::B3 { -#else -namespace A3 { - namespace B3 { -#endif struct B3Struct { void B3Method() {} }; -#if !defined(CPP17) - } } -#else -} -#endif -#if defined(CPP17) namespace A3::B3 { -#else -namespace A3 { - namespace B3 { -#endif B3Struct createB3Struct() { return ::A3::B3::B3Struct(); } -#if !defined(CPP17) - } -} -#else } -#endif %} |