Let assume FPC documentation and decision where wrong,
Circular reasoning. It is wrong because we assume it is wrong?
and let focus on Delphi and Embarcadero decisions and documentations.
Good, let's. So let's revisit the history, and what happened with the 32-bit equivalents. It is a mess that only got fixed in D4 when Delphi introduced int64.
So the question then is if Delphi now has a native int128 type that can push the boundery oncemore. Also, are you testing in 32-bit or 64-bit ? Are you testing with native Delphi (win32/win64?) or LLVM. 64-bit might have an int128 (twice the wordsize), while 32-bit might not (that would be a harder to emulate twice the wordsize).
It might be that the LLVM mobile compilers have support for higher integer emulation, and native Delphi not.
Or better to focus on C/C++ standards as these standards are way mature. Currently there is no larger signed type than int64, but there is unsigned int64 (unt64) which is on the top on hiearchy, thus it is clear that uint64 literals should not be implicitly converted to int64, nor int32.
Bingo, success! C has postfix designations for literals to assign them the right type. Pascal does the same by a typecast that is also allowed in e.g. constant declarations.
So basically then it is equivalent.
Anything else would be non orthogonal.
Anyone here read C/C++ standards? They can be considered as "Holy Grail" and the best reference to others as they are the most mature.
Please make your case then with citations from standards rather than examples that might be implementation defined.
For instance, in JAVA, there is no signed types by design, which is basic and an arbitrary decision of the Gosling, Sheridan, and Naughton. Among missing pointers and endless revisions, that is its main flaw in design.
So there is no way to have a negative number? How odd.
But here, in Pascal (as in C/C++), we have signed and unsigned integers and we know what is hierachy order for integer types and what to do with. Or we don't? I personaly believe FPC made a mess here with this arbitrary decision.
And the hierarchy is clear in Pascal. The largest signed type is the top of the of all, and literals have the type, the corresponding unsigned type doesn't fit in its range so is orphaned.
Solution: have emulation for a even larger signed type. Patches welcome.