Everything can compile and run with SILGen now, but there are a handful of crashing tests when linking against a stdlib built with SIL, so make SWIFT_SIL_IRGEN a CMake option and disable it by default for now. Also tag the IRGen tests with -no-sil-irgen so that I don't have to rewrite their CHECK: lines right now.
Swift SVN r4749
1) This now works: swift -o foo.o *.swift
2) Errors/warnings are now correct: ".../OutputStream.swift:331:10:"
NOTES:
1) The name of the module is now inferred from -o when available.
2) I had to workaround a unexpected IRGen crash with '&&' in Slice.swift. Weird.
3) "Assemble" is now the default, not "GenerateLL".
4) 'import swift' still requires the 'cat *.swift > swift.swift' hack.
NEXT STEP:
Make 'clang -o foo *.swift' and 'clang -o foo.dylib *.swift' just work.
Swift SVN r4572
The rules in runtime/Makefile create a lib/swift symlink without a dependency on
lib/swift, but the library rules all create a real directory, creating a race
between making the symlink and making the directory and breaking the build if
the latter wins. Make a formal rule for lib/swift that creates a symlink, and
update all the .dir dependencies on the directory to instead depend on the
symlink.
Swift SVN r4537
In the repl, if a replExit function is defined, call it when the repl is exiting. In the stdlib, add an atREPLExit function that pushes replExit handlers onto a vector and a replExit function that invokes those handlers. In swiftAppKit, have REPLApplicationMain use atREPLExit to terminate the application when the REPL is exited.
Swift SVN r4132
These types are meant as _implementation_ details for classes/structs to
save space on 32-bit machines. "Int" is still the one true integer type
between classes/structs.
Use a build system hack to get Word/UWord to be 32 bits in size on
32-bit targets.
Swift SVN r3755
This may not be how we want to implement class equality checks in the
long run, but in the short term this is _very_ handy. See also:
<rdar://problem/12939898> ER: formalize root classes
This also removes support for greater-than/less-than on Vectors, which
makes no sense given that this has everything to do with the randomness
of the memory allocator and nothing intrinsic about Vectors or class
references in general.
Swift SVN r3628
1) Move the low-level runtime code into swift/runtime
2) Move the high-level "standard library" code into swift/stdlib
The key difference is that the 'runtime' contains language support logic
(like retain/release logic) that the compiler assumes to always exist
and may assume intimate details about the implementation. This library
will have intimate knowledge of the swift ABI.
In contrast, the 'stdlib' can be completely rewritten and the
language/compiler make little if any assumptions about it. It is
expected to reexport fundamental types and operators, and implement
fundamental policies (precedence, implicit conversions, etc).
Swift SVN r3045