Add error for constructors, destructors, static methods declared with qualifiers
SWIG parses a superset of valid C++ declarations. These ill-formed declarations were previously successfully parsed but now result an error message.
This commit is contained in:
parent
950edc1c00
commit
7e4717320b
3 changed files with 88 additions and 1 deletions
43
Examples/test-suite/errors/cpp_invalid_qualifiers.i
Normal file
43
Examples/test-suite/errors/cpp_invalid_qualifiers.i
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
%module cpp_invalid_qualifiers
|
||||
|
||||
// Constructors, destructors and static methods cannot have qualifiers
|
||||
struct A {
|
||||
~A() const;
|
||||
};
|
||||
struct B {
|
||||
virtual ~B() const;
|
||||
};
|
||||
struct C {
|
||||
~C() &;
|
||||
};
|
||||
struct D {
|
||||
virtual ~D() &;
|
||||
};
|
||||
struct E {
|
||||
~E() &&;
|
||||
};
|
||||
struct F {
|
||||
virtual ~F() &&;
|
||||
};
|
||||
|
||||
struct J {
|
||||
J() const;
|
||||
J(int) const;
|
||||
};
|
||||
struct K {
|
||||
K() &;
|
||||
K(int) &;
|
||||
};
|
||||
struct L {
|
||||
L() &&;
|
||||
L(int) &&;
|
||||
};
|
||||
|
||||
struct M {
|
||||
static void m1() const;
|
||||
static void m2() &;
|
||||
thread_local static void m3() &&;
|
||||
static auto m4() const -> int;
|
||||
static auto m5() & -> int;
|
||||
static auto m6() && -> int;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue