No, this particular warning is not important. You can ignore it, switch it off with an option or insert an additional cast to an int to avoid it.
char buf[100];
void fun(void) {
typedef void(* funType)(void);
funType d= (funType)(unsigned int)fun;
}
There might be two other potential problems with your code tough,
I can well imagine the problems don't happen for you, so just you know what to look out for.
First, by the HC08 code is not pic (position independent) in general. So when copying code it might not run at the other address. However small routes are likely to be pic, just bigger ones may use a non pic jmp.
Second, in general the compiler can insert runtime routine calls if your C code does expensive operations like a floating point multiplication (well also for simpler ones :smileyhappy:. So if you copy that code to RAM because the flash is not accessible (say because you are just programming it), runtime calls wont work.
But again, for simple C code chances are good that the compiler does not insert any runtime routine calls.
Anyway, there were some threads in this forum about pic code, try to search for them. And there are some technical notes on the subject too (don't know the number by heart :smileyhappy:.
Daniel