Here is a patch that can be applied to the current svn HEAD that fixes some of the issues with regards to warning printing.
I wanted to be able to do "-Wall -w512", but specifying -Wall made it ignore all the other -w options.
There was also a bug that prevented a user from turning on warnings that Swig turns off by default (-w+512 would not work). I moved the code that added the default ignore list after the arguments were parsed. This puts the default list behind any user specified one in the search order.
So the following should now work properly:
-w+512 : turns on warning 512 that is turned off by default,
default ignore list is intact.
-Wall : turns on all warnings (like before)
-Wall -w512 : turns on all warnings, turns off 512
<nothing> : previous behavior with default ignore list