IRGen: import external vtable symbols always as _public_ undefined sy… #4927

Merged
merged 1 commit into from Sep 23, 2016

Projects

None yet

3 participants

@eeckstein
Member

…mbols and not as local undefined symbols.

This doesn't make a difference on Darwin, but on Linux it causes linker errors if a class inherits from a public class in another module which has private/internal members.

fixes SR-1901

@eeckstein
Member

@swift-ci Please smoke test and merge

@jrose-apple
Member

This is still incorrect behavior, though, right? We actually do need those symbols in the subclass's vtable.

@eeckstein eeckstein IRGen: import external vtable symbols always as _public_ undefined sy…
…mbols and not as _local_ undefined symbols.

This doesn't make a difference on Darwin, but on Linux it causes linker errors if a class inherits from a public class in another module which has private/internal members.

fixes SR-1901
fd61338
@eeckstein
Member

@swift-ci Please smoke test and merge

@jrose-apple
Member

Erik explained what was going on here; I had just misunderstood.

@eeckstein
Member

@swift-ci Please smoke test and merge

@swift-ci swift-ci merged commit 1f46c56 into apple:master Sep 23, 2016

2 of 3 checks passed

Test and Merge (smoke test) Build started.
Details
Swift Test Linux Platform (smoke test)
Details
Swift Test OS X Platform (smoke test)
Details
@eeckstein eeckstein deleted the eeckstein:fix-linkage branch Sep 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment