Commit Graph

10 Commits

Author SHA1 Message Date
Robert Widmann
f56fee839b [ModuleInterface] Pass Through Flags for Nested Types Tables
When a swift module is generated from a swift interface file, we must
remember to setup the nested types tables. Plumb the flag down from the
frontend options.

In the future, we must remove the ability to turn this off. There's
literally zero reason to have this be a configuration option anymore.

Resolves rdar://59202687 and its many, many dupes.
2020-02-07 14:37:03 -08:00
Xi Ge
e1f6e846ca Re-apply "ModuleInterface: lock .swiftinterface while generating module cache" 2020-01-10 12:25:15 -08:00
Mishal Shah
c769e491e2 Revert "ModuleInterface: lock .swiftinterface while generating module cache" 2020-01-09 22:54:41 -08:00
Xi Ge
a8baeb3670 Merge pull request #29101 from nkcsgexi/lock-interface-gen-module
ModuleInterface: lock .swiftinterface while generating module cache
2020-01-09 17:41:20 -08:00
Xi Ge
8dda0193a6 ModuleInterface: lock .swiftinterface while generating module cache
This ensures only one process is generating module cache from an interface
file so that we don't blow up memory usage when multiple processes are
doing the same. The locking mechanism is similar to that of Clang's.

A better approach is that the build system takes care of the module building
step as a formal dependency.

rdar://52839445
2020-01-09 15:45:48 -08:00
Xi Ge
133e8a186f ModuleInterface: preserve AutolinkForceLoad option when generating .swiftmodule from .swiftinterface
This change ensures using .swiftmodule built from source has the same behavior as
using .swiftmodule built from .swiftinterface.

A swift-ide-test utility is added to print linked libraries from a Swift module for
testing purposes.

rdar://58057556
2020-01-06 21:17:02 -08:00
Xi Ge
3103b5cec1 Frontend: set up output file .swiftsourceinfo
This patch will focus on teaching driver and frontend to emit this file.
The actual content and de-serialization parts will come later.

More details: https://forums.swift.org/t/proposal-emitting-source-information-file-during-compilation/28794
2019-09-24 13:52:17 -07:00
Harlan Haskins
c82c9b8210 [ModuleInterfaces] Remove references to 'parseable' interfaces everywhere
Now that we've settled on Module Interface as the name, let's remove the
vestiges of "Parseable Interfaces"
2019-09-13 14:55:48 -07:00
Harlan Haskins
dcbfe443ca [ModuleInterfaces] ParseableInterfaceBuilder -> ModuleInterfaceBuilder
Rename ParseableInterfaceBuilder to accompany ModuleInterfaceLoader
2019-09-13 13:52:16 -07:00
Harlan Haskins
2764e64cae [ModuleInterfaces] Split ParseableInterfaceBuilder to its own file
NFC, they were just separate enough to warrant splitting into their own
file.
2019-09-13 11:45:34 -07:00