Ocaml test-suite 'passes' with c++11 testing now
Test c++17 on Github Actions to try keep it passing when configure detects g++ can test c++17.
This commit is contained in:
parent
a71c318b06
commit
f44153069b
5 changed files with 11 additions and 8 deletions
1
.github/workflows/ci.yml
vendored
1
.github/workflows/ci.yml
vendored
|
|
@ -296,6 +296,7 @@ jobs:
|
||||||
- SWIGLANG: mzscheme
|
- SWIGLANG: mzscheme
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
- SWIGLANG: ocaml
|
- SWIGLANG: ocaml
|
||||||
|
CPPSTD: c++17
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
os: ubuntu-18.04 # ocaml-4.08 in ubuntu-20.04 not yet working
|
os: ubuntu-18.04 # ocaml-4.08 in ubuntu-20.04 not yet working
|
||||||
# Run all of them, as opposed to aborting when one fails
|
# Run all of them, as opposed to aborting when one fails
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,10 @@ static const bool PublicGlobalTrue = true;
|
||||||
static const UserDef PublicUserDef = UserDef();
|
static const UserDef PublicUserDef = UserDef();
|
||||||
struct Thingy {
|
struct Thingy {
|
||||||
typedef int Integer;
|
typedef int Integer;
|
||||||
int val;
|
int valval;
|
||||||
int &lvalref;
|
int &lvalref;
|
||||||
int &&rvalref;
|
int &&rvalref;
|
||||||
Thingy(int v, int &&rvalv) : val(v), lvalref(val), rvalref(std::move(rvalv)) {}
|
Thingy(int v, int &&rvalv) : valval(v), lvalref(valval), rvalref(std::move(rvalv)) {}
|
||||||
void refIn(long &i) {}
|
void refIn(long &i) {}
|
||||||
void rvalueIn(long &&i) {}
|
void rvalueIn(long &&i) {}
|
||||||
short && rvalueInOut(short &&i) { return std::move(i); }
|
short && rvalueInOut(short &&i) { return std::move(i); }
|
||||||
|
|
@ -31,10 +31,10 @@ struct Thingy {
|
||||||
// test both primitive and user defined rvalue reference default arguments and compactdefaultargs
|
// test both primitive and user defined rvalue reference default arguments and compactdefaultargs
|
||||||
void compactDefaultArgs(const bool &&b = (const bool &&)PublicGlobalTrue, const UserDef &&u = (const UserDef &&)PublicUserDef) {}
|
void compactDefaultArgs(const bool &&b = (const bool &&)PublicGlobalTrue, const UserDef &&u = (const UserDef &&)PublicUserDef) {}
|
||||||
void privateDefaultArgs(const bool &&b = (const bool &&)PrivateTrue) {}
|
void privateDefaultArgs(const bool &&b = (const bool &&)PrivateTrue) {}
|
||||||
operator int &&() { return std::move(val); }
|
operator int &&() { return std::move(valval); }
|
||||||
Thingy(const Thingy& rhs) : val(rhs.val), lvalref(rhs.lvalref), rvalref(std::move(rhs.rvalref)) {}
|
Thingy(const Thingy& rhs) : valval(rhs.valval), lvalref(rhs.lvalref), rvalref(std::move(rhs.rvalref)) {}
|
||||||
Thingy& operator=(const Thingy& rhs) {
|
Thingy& operator=(const Thingy& rhs) {
|
||||||
val = rhs.val;
|
valval = rhs.valval;
|
||||||
lvalref = rhs.lvalref;
|
lvalref = rhs.lvalref;
|
||||||
rvalref = rhs.rvalref;
|
rvalref = rhs.rvalref;
|
||||||
return *this;
|
return *this;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
template<typename T> class Temper {
|
template<typename T> class Temper {
|
||||||
public:
|
public:
|
||||||
T val;
|
T valu;
|
||||||
};
|
};
|
||||||
|
|
||||||
class A {
|
class A {
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
struct OutputType {
|
struct OutputType {
|
||||||
int val;
|
int valu;
|
||||||
OutputType(int v) : val(v) {}
|
OutputType(int v) : valu(v) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Raw literal
|
// Raw literal
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ FAILING_CPP_TESTS = \
|
||||||
allprotected \
|
allprotected \
|
||||||
apply_signed_char \
|
apply_signed_char \
|
||||||
apply_strings \
|
apply_strings \
|
||||||
|
cpp11_director_enums \
|
||||||
|
cpp11_strongly_typed_enumerations \
|
||||||
cpp_enum \
|
cpp_enum \
|
||||||
default_constructor \
|
default_constructor \
|
||||||
director_binary_string \
|
director_binary_string \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue