Slight tweak to enum handling and typedefs.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@857 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2000-09-19 03:44:03 +00:00
commit 15d36d0140

View file

@ -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);
} }