The TreeFS kernel module is coded in such a way that declarations and code are mixed. This is against the C90 standard and Linus apparently frowns upon it.
Personally, I disagree with Linus' statement that mixing the declarations with the code is only for "messy code". So for now I've developed a worka round. I feel that not seeing a variable declaration in context of use can make it harder to understand the code. "What type of var is this"? [scrolls to top]... [scrolls back down to code I was looking at]... repeat 6 times!! Come on! :)
Edit the kernel's main Makefile and remove the addition of the CFLAG "-Wdeclaration-after-statement".
I am sure that this kills any chance of getting into the kernel BUT I'm going to do it anyway for now because it would take a very long time to modify all of my code to NOT do this. Also, maybe by the time TreeFS is ready for inclusion, Linus will change his mind.
Either way I'm eventually going to have to come up with a better solution than "Ignore it". :-/