Fixes to compile under VC++ 6:

enum block_type needs to be public
can't use any + operators on enums


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5821 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2004-04-01 20:42:30 +00:00
commit c919e3a01c

View file

@ -134,7 +134,7 @@ const char usageArgDir[] =
class MODULA3:public Language class MODULA3:public Language
{ {
protected: public:
enum block_type enum block_type
{ no_block, constant, variable, type, revelation }; { no_block, constant, variable, type, revelation };
@ -2618,12 +2618,12 @@ MODULA3 ():
} else if (Cmp (kind, "class") == 0) { } else if (Cmp (kind, "class") == 0) {
enum access_privilege enum access_privilege
{ acc_public, acc_protected, acc_private }; { acc_public, acc_protected, acc_private };
access_privilege max_acc = acc_public; int max_acc = acc_public;
const char *acc_name[3] = { "public", "protected", "private" }; const char *acc_name[3] = { "public", "protected", "private" };
String *methods[3]; String *methods[3];
access_privilege acc; int acc;
for (acc = acc_public; acc <= acc_private; int (acc)++) { for (acc = acc_public; acc <= acc_private; acc++) {
String *methodattr = String *methodattr =
NewStringf ("modula3:method:%s", acc_name[acc]); NewStringf ("modula3:method:%s", acc_name[acc]);
methods[acc] = Getattr (n, methodattr); methods[acc] = Getattr (n, methodattr);
@ -2687,8 +2687,8 @@ MODULA3 ():
{ {
const static char *acc_m3suffix[] = const static char *acc_m3suffix[] =
{ "Public", "Protected", "Private" }; { "Public", "Protected", "Private" };
access_privilege acc; int acc;
for (acc = acc_public; acc <= acc_private; int (acc)++) { for (acc = acc_public; acc <= acc_private; acc++) {
bool process_private = (acc == acc_private) && need_private; bool process_private = (acc == acc_private) && need_private;
if (hasContent (methods[acc]) || process_private) { if (hasContent (methods[acc]) || process_private) {
String *subclass = String *subclass =