majnemer added a comment.

In http://reviews.llvm.org/D7642#224225, @compnerd wrote:

> AIUI, ucrt is absolutely relevant since msvcrt itself has been split out into 
> the ucrt.  msvcrt is the "shared" common bits, while the ucrt is more 
> "platform" specific bits.
>
> But really, the point is: supporting an older version with a newer compiler 
> is what doing this the way I suggest enables.  You can use a newer compiler 
> but still allow the generated binary to target an alternative environment.


Er, I see it a bit differently.  UCRT is the boring, unchanging part of the CRT 
which is supposed to provide binary compatibility across versions.  It has 
everything it needs to make junk like `FILE *` stable through time and the 
definition of `fopen`.  AFAICT, UCRT provides functionality equivalent to C99 + 
some random MS-specific stuff.

Correct me if I'm wrong but VS 2013 seemed to have provided all of the 
functions that TLI cares about and 2015 refactored those functions into UCRT.  
The UCRT's interface can never shrink which means we can rely on this support 
indefinitely for all future versions of _MSC_VER.

I think an argument could be made if we believed it to be likely that further 
interesting library functionality might be exposed through UCRT that the 
compiler might care about.  I'd rather cross that bridge when we get there.


Repository:
  rL LLVM

http://reviews.llvm.org/D7642



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to