The latter one is already reported and I seem to remember it has been fixed in fpc main.
function A() : integer;var Avar : qword - 0; { is this supposed to compile ??? }
and then what about 16-bit "word + 0" or "int16 + 0" or "smallint + 0"?
Q.E.D.
My guess is this is because CPU register size. I am compiling in Win64, so int64/qword is okay