c++ - Internal error: type 600

I have just come across this error and have managed to get the code down to the
following two lines (compiled with dmc -mn -c):
typedef void (FUNC)(int i);
__declspec(dllimport) FUNC *getfunc(void);
The error disappears if you remove the __declspec or if you change the 'int i'
to just 'int' or 'void'. So fortunately I can get round this by removing the
argument names in the function typedef.