Tim,
the way I'd test it is a) look at the preprocessed output via -E to check that the attributes were included in the souerce, and b) I'd open the executable in gdb, disassemble some of the funcitons with the attribute that take arguments and look at the disassembly to verify that the functions take their arguments from the stack and not from registers. I might then try and run the VM under gdb, put a breakpoint some where in the VM (or just interrupt it after it ran for a while) and then try and call one of the funcitons in a suitable state. Of course getting the VM to a suitable state and knowing which function to call is not trivial. So better is probably looking at the disassembly between an Assert compile (-O1) with the attributes and an Assert compile without the attributes.