Commits

Mark Lacey committed 1f9e958f383
Fix vtable thunk generation for cases with optional return values. With the test case included in this commit we were first hitting an assert due to a cast<FuncDecl>(decl) that failed because the supplied decl was for a constructor, and after fixing this we failed verification due to using the wrong result type for the generated thunk. The result should have the same kind of 'optionalness' as the base-class method's result, but if the type is some kind of optional it should be wrapping the same type as the thunked-to function. Fixes at least part of rdar://problem/20663080. I need to go back and patch an older toolset to see if this completely resolves the issue. Swift SVN r28289