Add some infuriatingly necessary comments to this test case.Without these comments, by "luck" the contents of SomeKit's SKWidget.hare precisely the same as SomeKitCore's SomeKitCore.h. This can cr
Add some infuriatingly necessary comments to this test case.Without these comments, by "luck" the contents of SomeKit's SKWidget.hare precisely the same as SomeKitCore's SomeKitCore.h. This can createhavoc if anything canonicalizes on the inode and your filesystem assignsa common inode to files with identical file content. Alternatively, ifyour build system uses symlinks into a content-addressed-storage (asGoogle's does), you end up with these files being symlinks to the samefile.The end result is that Clang deduplicates them internally, and thenbelieves that the SomeKit framework includes the SomeKitCore.h header,and does not include the SKWidget.h in SomeKit. This in turn results inwarnings in this test and eventually errors as Clang becomes confusedbecause the umbrella header for SomeKitCore has already been includedinto another framework's module (SomeKit). Yay.If anyone has a better idea about how to avoid this, I'm all ears.Nothing other than causing the file content to change worked for me.llvm-svn: 330184
show more ...
Use export_as for autolinking frameworksframework module SomeKitCore { ... export_as SomeKit}Given the module above, while generting autolink information duringcodegen, clang should to emit
Use export_as for autolinking frameworksframework module SomeKitCore { ... export_as SomeKit}Given the module above, while generting autolink information duringcodegen, clang should to emit '-framework SomeKitCore' only if SomeKitwas not imported in the relevant TU, otherwise it should use '-frameworkSomeKit' instead.rdar://problem/38269782llvm-svn: 330152