On Mon, 31 Aug 2009 20:12:36 +0200 Kamil Dudka <kdudka@xxxxxxxxxx> wrote: > On Monday 31 of August 2009 17:57:58 Stephen Hemminger wrote: > > Not sure why, but the crash went away after a 'make clean; make' so maybe > > something was stale on that machine? > > Could be ... outdated depfiles, skewed mtimes, etc. > > > It still doesn't give any warnings. about assigning an enum with a value > > out of range thou. > > AFAICT it is not supposed to issue a warning in that case. Here is an example > which is caught by the check: > > static void f(void) { > enum A { VAL_A } a = VAL_A; > enum B { VAL_B } b = a; > } > > $ sparse enum.c > enum.c:3:26: warning: mixing different enum types > enum.c:3:26: int enum A versus > enum.c:3:26: int enum B > > Note that you don't even need to write -Wenum-mismatch since it's default. > > But it might be good idea to implement such out-of-range detection ;-) Yes, I was looking to use more enum's in places where int was used in the kernel. There were places where the interface expected a limit range of values like network device transmit, but the interface was being misused and caller was returning errno values. -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html