This is interesting, it works when I call

vec_dump( "Show Me", &foo );

as I would in C++, but lite-C is supposed to save newbies from the '&' stuff, maybe diag_var is an exception? Or it is a bug in lite-C?