I'm not reposting the parsing bit, unless people would like it again, it seems to have already been well reviewed. This is a new evaluate patch and the test suite to add some validation to go with it. It requires the ptr_list_nth_entry() from Luc which i've fudged into the series. I've put a patch in to help clean the validation output as it generates a lot of files. I've improved the printf handling since the previous version, it now runs a table of formats and has handling for positional arguments, widths, precisions and other fun bits of the printf formatting that I am becoming to think is a bit crazy. The current issues are: I've still not got the pointer evaluationm right, but it sort of works enough to get it tested. This will need a bit of work but does that need to be done for the initial merge? Do we want to have -Wformat as default for the initial merge? If not i'll add a patch to default it off, so we can revert it once this is sorted