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.
9 lines
217 B
OpenEdge ABL
9 lines
217 B
OpenEdge ABL
%module cpp17_u8_char_literals
|
|
|
|
// UTF-8 character literals are type `char` in C++17 but `char8_t` in C++20,
|
|
// but the latter can be assigned to `char`.
|
|
%inline %{
|
|
char a = u8'a';
|
|
char u = u8'u';
|
|
char u8 = u8'8';
|
|
%}
|