BACKPORT: Type error segfault.

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3618

Reported by Martin Nilsson, IDA nilsson@pike.ida.liu.se

The code
Stdio.File o = Stdio.FakeFile("");

generates

Program received signal SIGSEGV, Segmentation fault.
0x42070664 in _IO_default_xsputn () from /lib/i686/libc.so.6
(gdb) bt
#0  0x42070664 in _IO_default_xsputn () from /lib/i686/libc.so.6
#1  0x42047e92 in vfprintf () from /lib/i686/libc.so.6
#2  0x4206aa54 in vsnprintf () from /lib/i686/libc.so.6
#3  0x080f61f0 in va_yyerror (fmt=0x42135980 "", args=0x42135980 "")
    at /home/nilsson/Pike/7.5/src/program.c:5850
#4  0x080f6218 in my_yyerror (fmt=0x42135980 "")
    at /home/nilsson/Pike/7.5/src/program.c:5858
#5  0x080d4d53 in yyexplain_nonmatching_types (type_a=0x4213920c,
type_b=Cannot access memory at address 0xbf7ffffc
)
    at /home/nilsson/Pike/7.5/src/pike_types.c:4479
#6  0x080f930b in yyexplain_not_compatible (a=0x831697c, b=0x8447078, flags=0)
    at /home/nilsson/Pike/7.5/src/program.c:7789
#7  0x080f930b in yyexplain_not_compatible (a=0x831697c, b=0x8447078, flags=0)
    at /home/nilsson/Pike/7.5/src/program.c:7789
#8  0x080f930b in yyexplain_not_compatible (a=0x831697c, b=0x8447078, flags=0)

...