There is no such line in the .xs file. It is generated by xsubpp as it makes the .c file.
The problem was solved by editing line 982 of /usr/local/lib/perl5/site_perl/5.8.9/ExtUtils/ParseXS.pm from:
# const char* file = __FILE__;
TO
# char* file = __FILE__;
I upgraded ExtUtils::ParseXS to 2.2002 in my last cycle triggered by CPAN's 'r' command. A version 2.18_02 in an unused 5.10 directory contained the latter line.
I posted this story to ExtUtils::ParseXS on CPAN. It was a duplicate of an already-solved bug. Recent "alpha" versions 2.20_03 and 2.20_04 don't have this problem.
My distress about this matter was that once one starts accepting large numbers of warnings as harmless, one will miss the important warning that get buried among the harmless ones.
cmac