Google Spreadsheet of audit on C++-Interop with iOS Foundation and UIKit

Base on some recent work I have done to diff ObjC-Only-Interop versus C++-Interop when importing Foundation and UIKit (triple arm64-apple-ios11.0 with swift-ide-test), I have done a manual audit over what is left as far as differences between the swift-ide-test output of the two interop modes.

This was done based on the diff view here: https://github.dev/plotfi/cxx-interop-diff/pull/4

The audit spreadsheet is at:

The TL;DR is that there remain some sparse differences that likely stem from things like omitWords/APINotes doing something wrong (18 of the ~110 sub-modules audited).

The remaining 6 or 7 sub-modules to be looked at are a range of small differences like missing or added functions, missing default parameter values, missing macros. I think for the most part these can be worked around for the time being.

There were many sub-modules that were different because of a C++ workaround that has to be done about CF/NS_OPTIONS enums, those were ignored (and are NOT highlighted in red or pink in the spreadsheet). I highlighted red the differences I thought could likely cause compile errors because of mismatching labels due to omitWords or mismatching typenames, and pink things I thought could be worked around.

I have a summary of all the different classifications of diffs to look at further at the bottom of the spreadsheet.

Any feedback on this audit is welcome. Happy Friday.

5 Likes