Commits

Jordan Rose committed 5a861b35158
[ClangImporter] Define header guards for <iso646.h> so it's never present. This is a hack to work around two issues: - <iso646.h>, which defines macros for "and", "or", and "not" (among other things) is an implicit submodule of Darwin. - Macros even in explicit submodules are leaking out when the parent module is imported <rdar://problem/14870036>. There's no actual reason to require <iso646.h> in SDK header files -- it should be a user-level choice whether or not to use those names. And selectors with "and", "or", and "not" in them should not be mangled by this. So, as a hack, we define the header guards that <iso646.h> uses ahead of time, so that the file will be ignored. We do this for /both/ variants of <iso646.h> on our system (Clang's and /usr/include's) just to be safe. <rdar://problem/17110619> Swift SVN r19822