From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Salazar To: gnu-win32@cygnus.com Subject: egcs1.0.2 in-class function screws switch table Date: Sun, 19 Jul 1998 14:04:00 -0000 Message-id: X-SW-Source: 1998-07/msg00416.html While debugging some code I discovered that my egcs1.0.2 mingw32 compiler is generating an invalid jump-address table for a switch construct if the function in question is defined in-class. Ie, this works: class Child2: public Parent { int textstuff (int w) ; }; int Child2::textstuff(int w){ switch(w){ case 0: doSomething(1); break; case 1: doSomething(2); break; } return(1); } but this doesn't: class Child2: public Parent { int textstuff (int w) { switch(w){ case 0: doSomething(1); break; case 1: doSomething(2); break; } return(1); }; }; After much gdb'ing I determined the problem was the compiler-generated jump table for the switch statement. It's garbage for the case that doesn't work. Has anyone seen this before? - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request@cygnus.com" with one line of text: "help".