Commits

Roman Levenstein committed 0368074f43a
[sil-module] Fix a pretty serious bug when a wrong function was returned using SILModule::lookUpSILFunctionFromVTable. This bug would manifest itself only when a module with multiple files is being compiled and some derived classes are defined in a file different from the one where a base class is defined. Due to this bug a method from a base class would be invoked instead of a method from a derived class when devirtualization was performed. The problem was that we were saying that failure to link a vtable is equivalent to failure to find a function in the vtable itself in which case we would go up to the parent vtable. To avoid this kind of bug in the future a test case with a module consisting of multiple files is added to the test suite. rdar://19334105 rdar://19337398 Swift SVN r24264