I am working on a large piece of code for a 18F2550. I have had it several times that the watchdog went off.
I was able to trace the problem to an endless loop in _modulong. I think this is the code in lib/pic16/libsdcc/long/modulong.c. The code for the pic14 target has an extra line with comments ("/* prevent endless loop (division by zero exception?!?) */") which the pic16 code does not have. Could this be the problem?