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");
|
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_WARN_NODE_BEGIN(n);
|
||||||
Swig_warning(WARN_TYPE_RVALUE_REF_QUALIFIER_IGNORED, Getfile(n), Getline(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));
|
"Method with rvalue ref-qualifier ignored %s.\n", Swig_name_decl(n));
|
||||||
|
|
@ -5866,10 +5866,12 @@ cv_ref_qualifier : type_qualifier {
|
||||||
;
|
;
|
||||||
|
|
||||||
ref_qualifier : AND {
|
ref_qualifier : AND {
|
||||||
$$ = NewString("&");
|
$$ = NewStringEmpty();
|
||||||
|
SwigType_add_reference($$);
|
||||||
}
|
}
|
||||||
| LAND {
|
| LAND {
|
||||||
$$ = NewString("&&");
|
$$ = NewStringEmpty();
|
||||||
|
SwigType_add_rvalue_reference($$);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1697,8 +1697,11 @@ String *Swig_name_decl(Node *n) {
|
||||||
decl = NewStringf("%s", qname);
|
decl = NewStringf("%s", qname);
|
||||||
else
|
else
|
||||||
decl = NewStringf("%s(%s)%s", qname, ParmList_errorstr(Getattr(n, "parms")), SwigType_isconst(Getattr(n, "decl")) ? " const" : "");
|
decl = NewStringf("%s(%s)%s", qname, ParmList_errorstr(Getattr(n, "parms")), SwigType_isconst(Getattr(n, "decl")) ? " const" : "");
|
||||||
if (refqualifier)
|
if (refqualifier) {
|
||||||
Printv(decl, " ", refqualifier, NIL);
|
String *rq = SwigType_str(refqualifier, 0);
|
||||||
|
Printv(decl, " ", rq, NIL);
|
||||||
|
Delete(rq);
|
||||||
|
}
|
||||||
|
|
||||||
Delete(qname);
|
Delete(qname);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue