Slight tweak to enum handling and typedefs.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@857 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
455500b25d
commit
8b3c2f1c0a
1 changed files with 7 additions and 11 deletions
|
|
@ -987,13 +987,11 @@ statement : INCLUDE STRING LBRACE {
|
||||||
init_language();
|
init_language();
|
||||||
if ($3) {
|
if ($3) {
|
||||||
if (temp_type) Delete(temp_type);
|
if (temp_type) Delete(temp_type);
|
||||||
temp_type = NewSwigType(T_INT);
|
String *ts = NewStringf("enum %s", $3);
|
||||||
SwigType_typedef(temp_type,$3);
|
/* String *ts = NewSwigType(T_INT); */
|
||||||
lang->add_typedef(temp_type,$3);
|
|
||||||
/* String *ts = NewStringf("enum %s", $3);
|
|
||||||
SwigType_typedef(temp_type,ts);
|
SwigType_typedef(temp_type,ts);
|
||||||
lang->add_typedef(temp_type,Char(ts));
|
lang->add_typedef(temp_type,Char(ts));
|
||||||
Delete(ts); */
|
Delete(ts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1002,7 +1000,8 @@ statement : INCLUDE STRING LBRACE {
|
||||||
| TYPEDEF ENUM ename LBRACE { scanner_clear_start(); } enumlist RBRACE ID {
|
| TYPEDEF ENUM ename LBRACE { scanner_clear_start(); } enumlist RBRACE ID {
|
||||||
init_language();
|
init_language();
|
||||||
if (temp_type) Delete(temp_type);
|
if (temp_type) Delete(temp_type);
|
||||||
temp_type = NewSwigType(T_INT);
|
temp_type = NewStringf("enum %s", $3);
|
||||||
|
/* temp_type= NewSwigType(T_INT);*/
|
||||||
Active_typedef = Copy(temp_type);
|
Active_typedef = Copy(temp_type);
|
||||||
if ($3) {
|
if ($3) {
|
||||||
SwigType_typedef(temp_type,$3);
|
SwigType_typedef(temp_type,$3);
|
||||||
|
|
@ -1012,10 +1011,6 @@ statement : INCLUDE STRING LBRACE {
|
||||||
SwigType_typedef(temp_type,$8);
|
SwigType_typedef(temp_type,$8);
|
||||||
lang->add_typedef(temp_type,$8);
|
lang->add_typedef(temp_type,$8);
|
||||||
}
|
}
|
||||||
/* String *ts = NewStringf("enum %s", $3);
|
|
||||||
SwigType_typedef(temp_type,ts);
|
|
||||||
lang->add_typedef(temp_type,Char(ts));
|
|
||||||
Delete(ts); */
|
|
||||||
} typedeflist { }
|
} typedeflist { }
|
||||||
|
|
||||||
/* -----------------------------------------------------------------
|
/* -----------------------------------------------------------------
|
||||||
|
|
@ -2500,7 +2495,8 @@ cpp_member : type declaration LPAREN parms RPAREN cpp_end {
|
||||||
if ($2) {
|
if ($2) {
|
||||||
cplus_register_type($2);
|
cplus_register_type($2);
|
||||||
if (temp_type) Delete(temp_type);
|
if (temp_type) Delete(temp_type);
|
||||||
temp_type = NewSwigType(T_INT);
|
/* temp_type = NewSwigType(T_INT); */
|
||||||
|
temp_type = NewStringf("enum %s",$2);
|
||||||
SwigType_typedef(temp_type,$2);
|
SwigType_typedef(temp_type,$2);
|
||||||
lang->add_typedef(temp_type,$2);
|
lang->add_typedef(temp_type,$2);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue