Maciej Izak wrote:
2015-11-27 11:59 GMT+01:00 Jonas Maebe <jonas.ma...@elis.ugent.be
<mailto:jonas.ma...@elis.ugent.be>>:

    No. LLVM IR platform dependent. So if you want to compile Pascal to
    "Javascript LLVM IR", you first have to add a "Javascript LLVM IR"
    platform to FPC. That includes both compiler and RTL support.

I thought it would be simpler.

If you perform a readln, you need to call some kind of OS or platform function to read data from standard input. From Javascript you obviously cannot access the system calls or C library of the underlying operating system (and if you could, it wouldn't help much, since you would want to read from a browser Windows), so you need an RTL.

In general, as I've mentioned several times before on this list, LLVM is not a panacea: * LLVM IR completely platform dependent, so it does not automagically give us access to all targets supported by Clang/LLVM. In particular the way calling conventions are handled is completely platform dependent, and you cannot generate "generic LLVM IR" that will work on all platforms (at least not in an ABI-compliant way), and of course the size of integer * LLVM does not care about backward compatibility, so FPC will always only support a subset of available LLVM versions * LLVM does not support the Borland "register" calling convention, so i386 support will be impossible until someone adds that to LLVM


Jonas
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to