Use normal SWIG encodings for ref-qualifiers
This commit is contained in:
parent
9e19fe7868
commit
685ee6cdc4
2 changed files with 10 additions and 5 deletions
|
|
@ -487,7 +487,7 @@ static void add_symbols(Node *n) {
|
|||
}
|
||||
{
|
||||
String *refqualifier = Getattr(n, "refqualifier");
|
||||
if (Equal(refqualifier, "&&") && strncmp(Char(symname), "$ignore", 7) != 0) {
|
||||
if (SwigType_isrvalue_reference(refqualifier) && strncmp(Char(symname), "$ignore", 7) != 0) {
|
||||
SWIG_WARN_NODE_BEGIN(n);
|
||||
Swig_warning(WARN_TYPE_RVALUE_REF_QUALIFIER_IGNORED, Getfile(n), Getline(n),
|
||||
"Method with rvalue ref-qualifier ignored %s.\n", Swig_name_decl(n));
|
||||
|
|
@ -5866,10 +5866,12 @@ cv_ref_qualifier : type_qualifier {
|
|||
;
|
||||
|
||||
ref_qualifier : AND {
|
||||
$$ = NewString("&");
|
||||
$$ = NewStringEmpty();
|
||||
SwigType_add_reference($$);
|
||||
}
|
||||
| LAND {
|
||||
$$ = NewString("&&");
|
||||
$$ = NewStringEmpty();
|
||||
SwigType_add_rvalue_reference($$);
|
||||
}
|
||||
;
|
||||
|
||||
|
|
|
|||
|
|
@ -1697,8 +1697,11 @@ String *Swig_name_decl(Node *n) {
|
|||
decl = NewStringf("%s", qname);
|
||||
else
|
||||
decl = NewStringf("%s(%s)%s", qname, ParmList_errorstr(Getattr(n, "parms")), SwigType_isconst(Getattr(n, "decl")) ? " const" : "");
|
||||
if (refqualifier)
|
||||
Printv(decl, " ", refqualifier, NIL);
|
||||
if (refqualifier) {
|
||||
String *rq = SwigType_str(refqualifier, 0);
|
||||
Printv(decl, " ", rq, NIL);
|
||||
Delete(rq);
|
||||
}
|
||||
|
||||
Delete(qname);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue