Proper Support for MSVCRT linkage

Swift changes a bunch of defaults from Clang. I don't think that consistency with cl is important if we don't think /MT mode is ever going to be a priority.

1 Like

Does this mean that if you build using clang from swift-clang the behaviour of clang is different from clang from llvm.org?

No, sorry, I just meant things Swift does that Clang also does. For example:

  • different default language mode (gnu11)
  • modules always on
  • always ARC when using ObjC
  • -pie by default
  • link using gold by default

(I mean, yes, swift-clang also differs from clang in some ways, but not usually in terms of defaults.)

Sounds good; in that case, lets go with the default of /MD which IMO is the preferred mode of usage (you have a DLL MSVCRT which makes the resultant code distributable and usable with other libraries).

3 Likes