* [Stdlib] Eagerly realize EmptyDictionarySingleton and EmptySetSingleton.
These objects can escape into ObjC without their class being realized first, which can cause a crash if the unrealized class gets passed into the ObjC runtime.
rdar://problem/59295395
* Reorganization of SourceFileDepGraph building and mocking.
* Further reorganization.
* [ConstraintSystem] Removing check related to ArgumentMismatch in CSDiag.
* [docs] Updating TypeChecker.rst
* hash templates for linux
* Fix string memory bug
* SILCombine: fix a miscompile in the alloc_stack optimization which causes a use-after-free.
A "copy_addr [take] %src to [initialization] %alloc_stack" is replaced by a "destroy_addr %src" if the alloc_stack is otherwise dead.
This is okay as long as the "moved" object is kept alive otherwise.
This can break if a retain of %src is moved after the copy_addr. It cannot happen with OSSA.
So as soon as we have OSSA, we can remove the check again.
rdar://problem/59509229
Co-authored-by: Mike Ash <mike@mikeash.com>
Co-authored-by: David Ungar <dungar@apple.com>
Co-authored-by: Luciano Almeida <passos.luciano@outlook.com>
Co-authored-by: eeckstein <eeckstein@apple.com>
Co-authored-by: Pavel Yaskevich <xedin@apache.org>
Restructure fine-grained-dependencies to enable unit testing
Get frontend to emit correct swiftdeps file (fine-grained when needed) and only emit dot file for -emit-fine-grained-dependency-sourcefile-dot-files
Use deterministic order for more information outputs.
Set EnableFineGrainedDependencies consistently in frontend.
Tolerate errors that result in null getExtendedNominal()
Fix memory issue by removing node everywhere.
Break up print routine
Be more verbose so it will compile on Linux.
Sort batchable jobs, too.
Restructure fine-grained-dependencies to enable unit testing
Get frontend to emit correct swiftdeps file (fine-grained when needed) and only emit dot file for -emit-fine-grained-dependency-sourcefile-dot-files
Use deterministic order for more information outputs.
Set EnableFineGrainedDependencies consistently in frontend.
Tolerate errors that result in null getExtendedNominal()
Fix memory issue by removing node everywhere.
Break up print routine
Be more verbose so it will compile on Linux.
Sort batchable jobs, too.