Tests for declarations that must be done at the end when they haven't appeared yet (due to pointers to undeclared structs)
Integration tests that stem from failues in real-life C projects
Tests for runtime arguments.