Error on static/non-static variable redefinition
New test2 tests - enums, structs, parsing and switch cases

Also changes the error message for initialising an incomplete enum.
Don't warn for __attribute((format(..., 0))) functions

e.g. v*printf.
More test changes - removed more useless test/* files
Use mkstemp() instead of tmpnam()
Merge branch 'fix/tmpfile'