From 3778c79dc41ce9867a36a4b1f2d5ccb65a7b39f9 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 09:35:09 -0700 Subject: [PATCH 01/10] [SDK] Use SwiftPrivate to remove _silgen_name from the AppKit overlay. --- apinotes/AppKit.apinotes | 3 +++ stdlib/public/SDK/AppKit/AppKit.swift | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apinotes/AppKit.apinotes b/apinotes/AppKit.apinotes index 66d182838dd6d..9581d4a133bf5 100644 --- a/apinotes/AppKit.apinotes +++ b/apinotes/AppKit.apinotes @@ -1369,3 +1369,6 @@ Enumerators: SwiftName: viewNotSizable - Name: NSWindowStyleMaskBorderless SwiftName: borderless +Functions: +- Name: NSApplicationMain + SwiftPrivate: true diff --git a/stdlib/public/SDK/AppKit/AppKit.swift b/stdlib/public/SDK/AppKit/AppKit.swift index 8309c3f5231f0..c36e05b4c4c49 100644 --- a/stdlib/public/SDK/AppKit/AppKit.swift +++ b/stdlib/public/SDK/AppKit/AppKit.swift @@ -62,10 +62,13 @@ public extension NSGradient { // Fix the ARGV type of NSApplicationMain, which nonsensically takes // argv as a const char**. -@_silgen_name("NSApplicationMain") public func NSApplicationMain( _ argc: Int32, _ argv: UnsafeMutablePointer?> -) -> Int32 +) -> Int32 { + return argv.withMemoryRebound(to: UnsafePointer.self, capacity: Int(argc)) { + __NSApplicationMain(argc, $0) + } +} extension NSColor : _ExpressibleByColorLiteral { public required convenience init(colorLiteralRed red: Float, green: Float, From 2e560b03191fa66bc618f4e6ffe4f5580e6445ca Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 09:50:10 -0700 Subject: [PATCH 02/10] [SDK] Use an extra shim header to remove _silgen_name from XCTest. --- stdlib/public/SDK/XCTest/XCTest.swift | 17 +++++------- .../public/SDK/XCTest/XCTestCaseAdditions.mm | 23 +--------------- stdlib/public/SwiftShims/CMakeLists.txt | 1 + stdlib/public/SwiftShims/XCTestOverlayShims.h | 26 +++++++++++++++++++ stdlib/public/SwiftShims/module.modulemap | 5 ++++ 5 files changed, 39 insertions(+), 33 deletions(-) create mode 100644 stdlib/public/SwiftShims/XCTestOverlayShims.h diff --git a/stdlib/public/SDK/XCTest/XCTest.swift b/stdlib/public/SDK/XCTest/XCTest.swift index b91725884c9af..b41d53a5dfc8f 100644 --- a/stdlib/public/SDK/XCTest/XCTest.swift +++ b/stdlib/public/SDK/XCTest/XCTest.swift @@ -13,16 +13,14 @@ @_exported import XCTest // Clang module import CoreGraphics - -/// Returns the current test case, so we can use free functions instead of methods for the overlay. -@_silgen_name("_XCTCurrentTestCaseBridge") func _XCTCurrentTestCaseBridge() -> XCTestCase +import _SwiftXCTestOverlayShims // --- Failure Formatting --- /// Register the failure, expected or unexpected, of the current test case. func _XCTRegisterFailure(_ expected: Bool, _ condition: String, _ message: @autoclosure () -> String, _ file: StaticString, _ line: UInt) -> Void { // Call the real _XCTFailureHandler. - let test = _XCTCurrentTestCaseBridge() + let test = _XCTCurrentTestCase() _XCTPreformattedFailureHandler(test, expected, file.description, line, condition, message()) } @@ -43,9 +41,6 @@ func _XCTFailureDescription(_ assertionType: _XCTAssertionType, _ formatIndex: U // --- Exception Support --- -@_silgen_name("_XCTRunThrowableBlockBridge") -func _XCTRunThrowableBlockBridge(_: @convention(block) () -> Void) -> NSDictionary - /// The Swift-style result of evaluating a block which may throw an exception. enum _XCTThrowableBlockResult { case success @@ -70,13 +65,13 @@ func _XCTRunThrowableBlock(_ block: () throws -> Void) -> _XCTThrowableBlockResu if let blockError = blockErrorOptional { return .failedWithError(error: blockError) } else if d.count > 0 { - let t: String = d["type"] as! String + let t: String = d["type"]! if t == "objc" { return .failedWithException( - className: d["className"] as! String, - name: d["name"] as! String, - reason: d["reason"] as! String) + className: d["className"]!, + name: d["name"]!, + reason: d["reason"]!) } else { return .failedWithUnknownException } diff --git a/stdlib/public/SDK/XCTest/XCTestCaseAdditions.mm b/stdlib/public/SDK/XCTest/XCTestCaseAdditions.mm index 4d1bb3b89b9af..e799ac842c5f7 100644 --- a/stdlib/public/SDK/XCTest/XCTestCaseAdditions.mm +++ b/stdlib/public/SDK/XCTest/XCTestCaseAdditions.mm @@ -126,36 +126,15 @@ - (NSString *)className @end -// Swift's memory management expectations are different than Objective-C; it -// expects everything to be +1 rather than +0. So we need to bridge the -// _XCTCurrentTestCase function to return a +1 object. - -XCT_EXPORT XCTestCase *_XCTCurrentTestCase(void); - -XCT_EXPORT SWIFT_CC(swift) NS_RETURNS_RETAINED -XCTestCase *_XCTCurrentTestCaseBridge(void); - -NS_RETURNS_RETAINED XCTestCase *_XCTCurrentTestCaseBridge(void) -{ - return [_XCTCurrentTestCase() retain]; -} - - // Since Swift doesn't natively support exceptions, but Objective-C code can // still throw them, use a helper to evaluate a block that may result in an // exception being thrown that passes back the most important information about // it. // // If no exception is thrown by the block, returns an empty dictionary. -// -// Note that this function needs Swift calling conventions, hence the use of -// NS_RETURNS_RETAINED and Block_release. (The argument should also be marked -// NS_RELEASES_ARGUMENT, but clang doesn't realize that a block parameter -// should be treated as an Objective-C parameter here.) -XCT_EXPORT NS_RETURNS_RETAINED NSDictionary *_XCTRunThrowableBlockBridge(void (^block)()); +XCT_EXPORT NSDictionary *_XCTRunThrowableBlockBridge(void (^block)()); -SWIFT_CC(swift) NS_RETURNS_RETAINED NSDictionary *_XCTRunThrowableBlockBridge(void (^block)()) { NSDictionary *result; diff --git a/stdlib/public/SwiftShims/CMakeLists.txt b/stdlib/public/SwiftShims/CMakeLists.txt index e8d37a3dbf460..4263e8fcd3fd3 100644 --- a/stdlib/public/SwiftShims/CMakeLists.txt +++ b/stdlib/public/SwiftShims/CMakeLists.txt @@ -14,6 +14,7 @@ set(sources SwiftStdint.h UnicodeShims.h Visibility.h + XCTestOverlayShims.h module.modulemap ) set(output_dir "${SWIFTLIB_DIR}/shims") diff --git a/stdlib/public/SwiftShims/XCTestOverlayShims.h b/stdlib/public/SwiftShims/XCTestOverlayShims.h new file mode 100644 index 0000000000000..9bfcaed40d983 --- /dev/null +++ b/stdlib/public/SwiftShims/XCTestOverlayShims.h @@ -0,0 +1,26 @@ +//===--- XCTestOverlayShims.h -----------------------------------*- C++ -*-===// +// +// This source file is part of the Swift.org open source project +// +// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See http://swift.org/LICENSE.txt for license information +// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors +// +//===----------------------------------------------------------------------===// + +#ifndef SWIFT_STDLIB_SHIMS_XCTEST_OVERLAY_H +#define SWIFT_STDLIB_SHIMS_XCTEST_OVERLAY_H + +@import Foundation; + +@class XCTestCase; + +XCTestCase * _Nonnull _XCTCurrentTestCase(void); + +NSDictionary * _Nonnull +_XCTRunThrowableBlockBridge(void (^ _Nonnull NS_NOESCAPE block)()); + +#endif // SWIFT_STDLIB_SHIMS_XCTEST_OVERLAY_H + diff --git a/stdlib/public/SwiftShims/module.modulemap b/stdlib/public/SwiftShims/module.modulemap index e5a358e23730f..b9a0942f2856f 100644 --- a/stdlib/public/SwiftShims/module.modulemap +++ b/stdlib/public/SwiftShims/module.modulemap @@ -16,3 +16,8 @@ module SwiftShims { header "Visibility.h" export * } + +module _SwiftXCTestOverlayShims { + header "XCTestOverlayShims.h" + export * +} From 244cf50c0c62e0922cc84f40b822bd3b317d7ce6 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 10:07:43 -0700 Subject: [PATCH 03/10] [SDK] Use an extra shims header to remove _silgen_name from the os overlay. --- stdlib/public/SDK/os/os.mm | 10 +------- stdlib/public/SDK/os/os_log.swift | 7 +----- stdlib/public/SwiftShims/CMakeLists.txt | 3 +++ stdlib/public/SwiftShims/OSOverlayShims.h | 29 +++++++++++++++++++++++ stdlib/public/SwiftShims/module.modulemap | 5 ++++ 5 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 stdlib/public/SwiftShims/OSOverlayShims.h diff --git a/stdlib/public/SDK/os/os.mm b/stdlib/public/SDK/os/os.mm index a7674dfabfa63..6ec5da52c5b19 100644 --- a/stdlib/public/SDK/os/os.mm +++ b/stdlib/public/SDK/os/os.mm @@ -395,9 +395,7 @@ return true; } -#include "swift/Runtime/Config.h" - -SWIFT_CC(swift) __attribute__((__visibility__("default"))) +__attribute__((__visibility__("default"))) extern "C" void _swift_os_log(void *dso, os_log_t oslog, os_log_type_t type, const char *format, va_list args) { @@ -414,9 +412,3 @@ _os_log_impl(dso, oslog, type, format, (uint8_t *)buffer, context.content_sz); } } - -SWIFT_CC(swift) __attribute__((__visibility__("default"))) -extern "C" os_log_t -_swift_os_log_default(void) { - return OS_LOG_DEFAULT; -} diff --git a/stdlib/public/SDK/os/os_log.swift b/stdlib/public/SDK/os/os_log.swift index cc396f800914f..1c9b9fdb4a387 100644 --- a/stdlib/public/SDK/os/os_log.swift +++ b/stdlib/public/SDK/os/os_log.swift @@ -12,6 +12,7 @@ @_exported import os @_exported import os.log +import _SwiftOSOverlayShims @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *) public func os_log( @@ -60,12 +61,6 @@ extension OSLog { } } -@_silgen_name("_swift_os_log") -internal func _swift_os_log(_ dso: UnsafeRawPointer!, _ log: OSLog, _ type: OSLogType, _ format: UnsafePointer!, _ args: CVaListPointer) - -@_silgen_name("_swift_os_log_default") -internal func _swift_os_log_default() -> OSLog - @available(*, unavailable, renamed: "OSLogType.default") public var OS_LOG_TYPE_DEFAULT: OSLogType { fatalError() diff --git a/stdlib/public/SwiftShims/CMakeLists.txt b/stdlib/public/SwiftShims/CMakeLists.txt index 4263e8fcd3fd3..e7cd7697d478e 100644 --- a/stdlib/public/SwiftShims/CMakeLists.txt +++ b/stdlib/public/SwiftShims/CMakeLists.txt @@ -14,7 +14,10 @@ set(sources SwiftStdint.h UnicodeShims.h Visibility.h + + OSOverlayShims.h XCTestOverlayShims.h + module.modulemap ) set(output_dir "${SWIFTLIB_DIR}/shims") diff --git a/stdlib/public/SwiftShims/OSOverlayShims.h b/stdlib/public/SwiftShims/OSOverlayShims.h new file mode 100644 index 0000000000000..c544a769b6f2f --- /dev/null +++ b/stdlib/public/SwiftShims/OSOverlayShims.h @@ -0,0 +1,29 @@ +//===--- OSOverlayShims.h ---------------------------------------*- C++ -*-===// +// +// This source file is part of the Swift.org open source project +// +// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See http://swift.org/LICENSE.txt for license information +// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors +// +//===----------------------------------------------------------------------===// + +#ifndef SWIFT_STDLIB_SHIMS_OS_OVERLAY_H +#define SWIFT_STDLIB_SHIMS_OS_OVERLAY_H + +#include +#include + +extern void _swift_os_log(const void * _Nullable dso, os_log_t _Nonnull oslog, + os_log_type_t type, const char * _Nonnull format, + va_list args); + +static inline os_log_t _Nonnull +_swift_os_log_default(void) { + return OS_LOG_DEFAULT; +} + +#endif // SWIFT_STDLIB_SHIMS_OS_OVERLAY_H + diff --git a/stdlib/public/SwiftShims/module.modulemap b/stdlib/public/SwiftShims/module.modulemap index b9a0942f2856f..541c02b098071 100644 --- a/stdlib/public/SwiftShims/module.modulemap +++ b/stdlib/public/SwiftShims/module.modulemap @@ -17,6 +17,11 @@ module SwiftShims { export * } +module _SwiftOSOverlayShims { + header "OSOverlayShims.h" + export * +} + module _SwiftXCTestOverlayShims { header "XCTestOverlayShims.h" export * From 7b0b2d6de2555634e67c520e30db4932f7dd5ee3 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 10:22:01 -0700 Subject: [PATCH 04/10] [SDK] Use perform(_:with:) to remove _silgen_name from GameplayKit. This does require a dummy protocol for now; hopefully we can take it out later. --- stdlib/public/SDK/GameplayKit/CMakeLists.txt | 1 - stdlib/public/SDK/GameplayKit/GameplayKit.mm | 24 ------------------- .../public/SDK/GameplayKit/GameplayKit.swift | 14 ++++++----- 3 files changed, 8 insertions(+), 31 deletions(-) delete mode 100644 stdlib/public/SDK/GameplayKit/GameplayKit.mm diff --git a/stdlib/public/SDK/GameplayKit/CMakeLists.txt b/stdlib/public/SDK/GameplayKit/CMakeLists.txt index b910d9d98a5f4..32476f2526747 100644 --- a/stdlib/public/SDK/GameplayKit/CMakeLists.txt +++ b/stdlib/public/SDK/GameplayKit/CMakeLists.txt @@ -1,6 +1,5 @@ add_swift_library(swiftGameplayKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY GameplayKit.swift - GameplayKit.mm SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}" LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}" diff --git a/stdlib/public/SDK/GameplayKit/GameplayKit.mm b/stdlib/public/SDK/GameplayKit/GameplayKit.mm deleted file mode 100644 index f68498880adc2..0000000000000 --- a/stdlib/public/SDK/GameplayKit/GameplayKit.mm +++ /dev/null @@ -1,24 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// This source file is part of the Swift.org open source project -// -// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors -// Licensed under Apache License v2.0 with Runtime Library Exception -// -// See http://swift.org/LICENSE.txt for license information -// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors -// -//===----------------------------------------------------------------------===// - -#import - -#include "swift/Runtime/Config.h" - -extern "C" SWIFT_CC(swift) NS_RETURNS_RETAINED GKState * _Nullable -GK_Swift_GKStateMachine_stateForClass(id NS_RELEASES_ARGUMENT __nonnull self_, - Class __nonnull stateClass) { - GKStateMachine *stateMachine = self_; - id state = [[stateMachine stateForClass:stateClass] retain]; - [self_ release]; - return state; -} diff --git a/stdlib/public/SDK/GameplayKit/GameplayKit.swift b/stdlib/public/SDK/GameplayKit/GameplayKit.swift index 6d57c22e85e44..9aea50a2880a3 100644 --- a/stdlib/public/SDK/GameplayKit/GameplayKit.swift +++ b/stdlib/public/SDK/GameplayKit/GameplayKit.swift @@ -72,10 +72,11 @@ extension GKEntity { } } -@_silgen_name("GK_Swift_GKStateMachine_stateForClass") -internal func GK_Swift_GKStateMachine_stateForClass( - _ self_: AnyObject, - _ stateClass: AnyObject) -> AnyObject? +@objc +internal protocol _SwiftGKStateMachineLike { + @objc(stateForClass:) + func state(forClass: AnyClass) -> AnyObject? +} @available(iOS, introduced: 9.0) @available(OSX, introduced: 10.11) @@ -85,8 +86,9 @@ extension GKStateMachine { /// - Parameter forClass: the type of the state you want to get public func state( forClass stateClass: StateType.Type) -> StateType? { - return GK_Swift_GKStateMachine_stateForClass( - self, stateClass) as! StateType? + // FIXME: GameplayKit marked state(forClass:) unavailable, which means we + // can't use it from SwiftPrivate. Bounce through perform(_:with:) instead. + return self.perform(#selector(_SwiftGKStateMachineLike.state(forClass:)), with: stateClass)?.takeUnretainedValue() as! StateType? } } From c97451f85134ea7f93e2b7dce7a9395bbc3167dd Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 10:37:05 -0700 Subject: [PATCH 05/10] [SDK] Use existing NS_REFINED_FOR_SWIFT to remove _silgen_name from SceneKit. --- stdlib/public/SDK/SceneKit/CMakeLists.txt | 1 - stdlib/public/SDK/SceneKit/SceneKit.swift.gyb | 11 ++------ stdlib/public/SDK/SceneKit/Thunks.mm | 28 ------------------- 3 files changed, 2 insertions(+), 38 deletions(-) delete mode 100644 stdlib/public/SDK/SceneKit/Thunks.mm diff --git a/stdlib/public/SDK/SceneKit/CMakeLists.txt b/stdlib/public/SDK/SceneKit/CMakeLists.txt index b5439e04833f5..e36fab16aa198 100644 --- a/stdlib/public/SDK/SceneKit/CMakeLists.txt +++ b/stdlib/public/SDK/SceneKit/CMakeLists.txt @@ -1,6 +1,5 @@ add_swift_library(swiftSceneKit ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY SceneKit.swift.gyb - Thunks.mm SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}" LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}" diff --git a/stdlib/public/SDK/SceneKit/SceneKit.swift.gyb b/stdlib/public/SDK/SceneKit/SceneKit.swift.gyb index 986f25c22c474..12ed230317206 100644 --- a/stdlib/public/SDK/SceneKit/SceneKit.swift.gyb +++ b/stdlib/public/SDK/SceneKit/SceneKit.swift.gyb @@ -224,18 +224,11 @@ extension SCNBoundingVolume { // MARK: APIs refined for Swift -@_silgen_name("SCN_Swift_SCNSceneSource_entryWithIdentifier") -internal func SCN_Swift_SCNSceneSource_entryWithIdentifier( - _ self_: AnyObject, - _ uid: NSString, - _ entryClass: AnyObject) -> AnyObject? - @available(iOS, introduced: 8.0) @available(OSX, introduced: 10.8) extension SCNSceneSource { - public func entryWithIdentifier(_ uid: String, withClass entryClass: T.Type) -> T? { - return SCN_Swift_SCNSceneSource_entryWithIdentifier( - self, uid as NSString, entryClass as! AnyClass) as! T? + public func entryWithIdentifier(_ uid: String, withClass entryClass: T.Type) -> T? { + return self.__entry(withIdentifier: uid, with: entryClass) as! T? } } diff --git a/stdlib/public/SDK/SceneKit/Thunks.mm b/stdlib/public/SDK/SceneKit/Thunks.mm deleted file mode 100644 index 9c6550de49d94..0000000000000 --- a/stdlib/public/SDK/SceneKit/Thunks.mm +++ /dev/null @@ -1,28 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// This source file is part of the Swift.org open source project -// -// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors -// Licensed under Apache License v2.0 with Runtime Library Exception -// -// See http://swift.org/LICENSE.txt for license information -// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors -// -//===----------------------------------------------------------------------===// - -#import - -#include "swift/Runtime/Config.h" - -SWIFT_CC(swift) -extern "C" NS_RETURNS_RETAINED _Nullable id -SCN_Swift_SCNSceneSource_entryWithIdentifier( - id NS_RELEASES_ARGUMENT _Nonnull self_, - NSString *NS_RELEASES_ARGUMENT _Nonnull uid, Class _Nonnull entryClass) { - SCNSceneSource *sceneSource = self_; - id Result = [[sceneSource entryWithIdentifier:uid withClass:entryClass] retain]; - [self_ release]; - [uid release]; - return Result; -} - From cb59b941359c587de0c279dcf21131c76ade6677 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 10:51:10 -0700 Subject: [PATCH 06/10] [SDK] Use an extra shim header to eliminate _silgen_name from ObjectiveC. --- stdlib/public/SDK/ObjectiveC/CMakeLists.txt | 1 - stdlib/public/SDK/ObjectiveC/ObjectiveC.mm | 32 ------------------- stdlib/public/SDK/ObjectiveC/ObjectiveC.swift | 11 ++----- stdlib/public/SwiftShims/CMakeLists.txt | 1 + .../SwiftShims/ObjectiveCOverlayShims.h | 26 +++++++++++++++ stdlib/public/SwiftShims/module.modulemap | 5 +++ 6 files changed, 35 insertions(+), 41 deletions(-) delete mode 100644 stdlib/public/SDK/ObjectiveC/ObjectiveC.mm create mode 100644 stdlib/public/SwiftShims/ObjectiveCOverlayShims.h diff --git a/stdlib/public/SDK/ObjectiveC/CMakeLists.txt b/stdlib/public/SDK/ObjectiveC/CMakeLists.txt index e63668f9445ad..d120114cfe8fb 100644 --- a/stdlib/public/SDK/ObjectiveC/CMakeLists.txt +++ b/stdlib/public/SDK/ObjectiveC/CMakeLists.txt @@ -1,5 +1,4 @@ add_swift_library(swiftObjectiveC ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY - ObjectiveC.mm ObjectiveC.swift SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}" diff --git a/stdlib/public/SDK/ObjectiveC/ObjectiveC.mm b/stdlib/public/SDK/ObjectiveC/ObjectiveC.mm deleted file mode 100644 index 1963d2ef6d61f..0000000000000 --- a/stdlib/public/SDK/ObjectiveC/ObjectiveC.mm +++ /dev/null @@ -1,32 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// This source file is part of the Swift.org open source project -// -// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors -// Licensed under Apache License v2.0 with Runtime Library Exception -// -// See http://swift.org/LICENSE.txt for license information -// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors -// -//===----------------------------------------------------------------------===// - -#include - -#include "swift/Runtime/Config.h" - -OBJC_EXPORT -void *objc_autoreleasePoolPush(void); - -OBJC_EXPORT -void objc_autoreleasePoolPop(void *); - -SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERFACE -extern "C" void *_swift_objc_autoreleasePoolPush(void) { - return objc_autoreleasePoolPush(); -} - -SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERFACE -extern "C" void _swift_objc_autoreleasePoolPop(void *context) { - return objc_autoreleasePoolPop(context); -} - diff --git a/stdlib/public/SDK/ObjectiveC/ObjectiveC.swift b/stdlib/public/SDK/ObjectiveC/ObjectiveC.swift index d7e41b82de0c6..854f279773674 100644 --- a/stdlib/public/SDK/ObjectiveC/ObjectiveC.swift +++ b/stdlib/public/SDK/ObjectiveC/ObjectiveC.swift @@ -12,6 +12,7 @@ @_exported import ObjectiveC +import _SwiftObjectiveCOverlayShims //===----------------------------------------------------------------------===// // Objective-C Primitive Types @@ -180,18 +181,12 @@ typealias Zone = NSZone // @autoreleasepool substitute //===----------------------------------------------------------------------===// -@_silgen_name("_swift_objc_autoreleasePoolPush") -func __pushAutoreleasePool() -> OpaquePointer - -@_silgen_name("_swift_objc_autoreleasePoolPop") -func __popAutoreleasePool(_ pool: OpaquePointer) - public func autoreleasepool( invoking body: () throws -> Result ) rethrows -> Result { - let pool = __pushAutoreleasePool() + let pool = _swift_objc_autoreleasePoolPush() defer { - __popAutoreleasePool(pool) + _swift_objc_autoreleasePoolPop(pool) } return try body() } diff --git a/stdlib/public/SwiftShims/CMakeLists.txt b/stdlib/public/SwiftShims/CMakeLists.txt index e7cd7697d478e..b3005aa73ca7d 100644 --- a/stdlib/public/SwiftShims/CMakeLists.txt +++ b/stdlib/public/SwiftShims/CMakeLists.txt @@ -15,6 +15,7 @@ set(sources UnicodeShims.h Visibility.h + ObjectiveCOverlayShims.h OSOverlayShims.h XCTestOverlayShims.h diff --git a/stdlib/public/SwiftShims/ObjectiveCOverlayShims.h b/stdlib/public/SwiftShims/ObjectiveCOverlayShims.h new file mode 100644 index 0000000000000..9c1b66083a9f2 --- /dev/null +++ b/stdlib/public/SwiftShims/ObjectiveCOverlayShims.h @@ -0,0 +1,26 @@ +//===--- ObjectiveCOverlayShims.h -------------------------------*- C++ -*-===// +// +// This source file is part of the Swift.org open source project +// +// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See http://swift.org/LICENSE.txt for license information +// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors +// +//===----------------------------------------------------------------------===// + +#ifndef SWIFT_STDLIB_SHIMS_OBJECTIVEC_OVERLAY_H +#define SWIFT_STDLIB_SHIMS_OBJECTIVEC_OVERLAY_H + +static inline void *_swift_objc_autoreleasePoolPush() { + extern void *objc_autoreleasePoolPush(); + return objc_autoreleasePoolPush(); +} +static inline void _swift_objc_autoreleasePoolPop(void *pool) { + extern void objc_autoreleasePoolPop(void *); + objc_autoreleasePoolPop(pool); +} + +#endif // SWIFT_STDLIB_SHIMS_OBJECTIVEC_OVERLAY_H + diff --git a/stdlib/public/SwiftShims/module.modulemap b/stdlib/public/SwiftShims/module.modulemap index 541c02b098071..c4c9776fe9203 100644 --- a/stdlib/public/SwiftShims/module.modulemap +++ b/stdlib/public/SwiftShims/module.modulemap @@ -17,6 +17,11 @@ module SwiftShims { export * } +module _SwiftObjectiveCOverlayShims { + header "ObjectiveCOverlayShims.h" + export * +} + module _SwiftOSOverlayShims { header "OSOverlayShims.h" export * From 26e24f7beebdbe5aea22107b38189d4e78d62cb0 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 11:00:47 -0700 Subject: [PATCH 07/10] [SDK] Use an extra shim header to remove _silgen_name from SafariServices. --- stdlib/public/SDK/SafariServices/CMakeLists.txt | 1 - .../public/SDK/SafariServices/SafariServices.swift | 6 ++---- stdlib/public/SwiftShims/CMakeLists.txt | 1 + .../SafariServicesOverlayShims.h} | 14 +++++++++----- stdlib/public/SwiftShims/module.modulemap | 5 +++++ 5 files changed, 17 insertions(+), 10 deletions(-) rename stdlib/public/{SDK/SafariServices/SafariServices.mm => SwiftShims/SafariServicesOverlayShims.h} (57%) diff --git a/stdlib/public/SDK/SafariServices/CMakeLists.txt b/stdlib/public/SDK/SafariServices/CMakeLists.txt index 2ea40ab2c356c..9f7f858fd71f8 100644 --- a/stdlib/public/SDK/SafariServices/CMakeLists.txt +++ b/stdlib/public/SDK/SafariServices/CMakeLists.txt @@ -1,5 +1,4 @@ add_swift_library(swiftSafariServices ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY - SafariServices.mm SafariServices.swift SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}" diff --git a/stdlib/public/SDK/SafariServices/SafariServices.swift b/stdlib/public/SDK/SafariServices/SafariServices.swift index 75e2870090429..5361040888fad 100644 --- a/stdlib/public/SDK/SafariServices/SafariServices.swift +++ b/stdlib/public/SDK/SafariServices/SafariServices.swift @@ -11,11 +11,9 @@ //===----------------------------------------------------------------------===// @_exported import SafariServices // Clang module - -@_silgen_name("_swift_SafariServices_isSafariServicesAvailable") -internal func _isSafariServicesAvailable() -> Bool +import _SwiftSafariServicesOverlayShims @available(OSX, introduced: 10.11) public func SFSafariServicesAvailable() -> Bool { - return _isSafariServicesAvailable() + return _swift_SafariServices_isSafariServicesAvailable() } diff --git a/stdlib/public/SwiftShims/CMakeLists.txt b/stdlib/public/SwiftShims/CMakeLists.txt index b3005aa73ca7d..ab00ee29d042b 100644 --- a/stdlib/public/SwiftShims/CMakeLists.txt +++ b/stdlib/public/SwiftShims/CMakeLists.txt @@ -17,6 +17,7 @@ set(sources ObjectiveCOverlayShims.h OSOverlayShims.h + SafariServicesOverlayShims.h XCTestOverlayShims.h module.modulemap diff --git a/stdlib/public/SDK/SafariServices/SafariServices.mm b/stdlib/public/SwiftShims/SafariServicesOverlayShims.h similarity index 57% rename from stdlib/public/SDK/SafariServices/SafariServices.mm rename to stdlib/public/SwiftShims/SafariServicesOverlayShims.h index a3a184378a527..c06d5367ce1c7 100644 --- a/stdlib/public/SDK/SafariServices/SafariServices.mm +++ b/stdlib/public/SwiftShims/SafariServicesOverlayShims.h @@ -1,4 +1,4 @@ -//===----------------------------------------------------------------------===// +//===--- SafariServicesOverlayShims.h ---------------------------*- C++ -*-===// // // This source file is part of the Swift.org open source project // @@ -10,10 +10,14 @@ // //===----------------------------------------------------------------------===// +#ifndef SWIFT_STDLIB_SHIMS_SAFARISERVICES_OVERLAY_H +#define SWIFT_STDLIB_SHIMS_SAFARISERVICES_OVERLAY_H + #import -#include "swift/Runtime/Config.h" -SWIFT_CC(swift) -extern "C" bool _swift_SafariServices_isSafariServicesAvailable() { - return nullptr != &_SFSafariServicesAvailable; +static inline bool _swift_SafariServices_isSafariServicesAvailable() { + return NULL != &_SFSafariServicesAvailable; } + +#endif // SWIFT_STDLIB_SHIMS_SAFARISERVICES_OVERLAY_H + diff --git a/stdlib/public/SwiftShims/module.modulemap b/stdlib/public/SwiftShims/module.modulemap index c4c9776fe9203..c820c5eef45b1 100644 --- a/stdlib/public/SwiftShims/module.modulemap +++ b/stdlib/public/SwiftShims/module.modulemap @@ -27,6 +27,11 @@ module _SwiftOSOverlayShims { export * } +module _SwiftSafariServicesOverlayShims { + header "SafariServicesOverlayShims.h" + export * +} + module _SwiftXCTestOverlayShims { header "XCTestOverlayShims.h" export * From 1589ca1b8d1a6cc965b87332ab750c9b903e40a7 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 11:30:20 -0700 Subject: [PATCH 08/10] [SDK] Use an extra shims header to remove _silgen_name from the XPC overlay. --- stdlib/public/SDK/XPC/CMakeLists.txt | 1 - stdlib/public/SDK/XPC/XPC.swift | 101 ++++-------------- stdlib/public/SwiftShims/CMakeLists.txt | 1 + .../XPC.mm => SwiftShims/XPCOverlayShims.h} | 69 ++++++------ stdlib/public/SwiftShims/module.modulemap | 5 + 5 files changed, 59 insertions(+), 118 deletions(-) rename stdlib/public/{SDK/XPC/XPC.mm => SwiftShims/XPCOverlayShims.h} (52%) diff --git a/stdlib/public/SDK/XPC/CMakeLists.txt b/stdlib/public/SDK/XPC/CMakeLists.txt index d4ef978a2e029..22e5de7b61eb2 100644 --- a/stdlib/public/SDK/XPC/CMakeLists.txt +++ b/stdlib/public/SDK/XPC/CMakeLists.txt @@ -1,6 +1,5 @@ add_swift_library(swiftXPC ${SWIFT_SDK_OVERLAY_LIBRARY_BUILD_TYPES} IS_SDK_OVERLAY XPC.swift - XPC.mm SWIFT_COMPILE_FLAGS "${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}" LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}" diff --git a/stdlib/public/SDK/XPC/XPC.swift b/stdlib/public/SDK/XPC/XPC.swift index 6c5ce196ad317..bc9448975544d 100644 --- a/stdlib/public/SDK/XPC/XPC.swift +++ b/stdlib/public/SDK/XPC/XPC.swift @@ -11,76 +11,77 @@ //===----------------------------------------------------------------------===// @_exported import XPC +import _SwiftXPCOverlayShims //===----------------------------------------------------------------------===// // XPC Types //===----------------------------------------------------------------------===// public var XPC_TYPE_CONNECTION: xpc_type_t { - return _swift_xpc_type_connection() + return _swift_xpc_type_CONNECTION() } public var XPC_TYPE_ENDPOINT: xpc_type_t { - return _swift_xpc_type_endpoint() + return _swift_xpc_type_ENDPOINT() } public var XPC_TYPE_NULL: xpc_type_t { - return _swift_xpc_type_null() + return _swift_xpc_type_NULL() } public var XPC_TYPE_BOOL: xpc_type_t { - return _swift_xpc_type_bool() + return _swift_xpc_type_BOOL() } public var XPC_TYPE_INT64: xpc_type_t { - return _swift_xpc_type_int64() + return _swift_xpc_type_INT64() } public var XPC_TYPE_UINT64: xpc_type_t { - return _swift_xpc_type_uint64() + return _swift_xpc_type_UINT64() } public var XPC_TYPE_DOUBLE: xpc_type_t { - return _swift_xpc_type_double() + return _swift_xpc_type_DOUBLE() } public var XPC_TYPE_DATE: xpc_type_t { - return _swift_xpc_type_date() + return _swift_xpc_type_DATE() } public var XPC_TYPE_DATA: xpc_type_t { - return _swift_xpc_type_data() + return _swift_xpc_type_DATA() } public var XPC_TYPE_STRING: xpc_type_t { - return _swift_xpc_type_string() + return _swift_xpc_type_STRING() } public var XPC_TYPE_UUID: xpc_type_t { - return _swift_xpc_type_uuid() + return _swift_xpc_type_UUID() } public var XPC_TYPE_FD: xpc_type_t { - return _swift_xpc_type_fd() + return _swift_xpc_type_FD() } public var XPC_TYPE_SHMEM: xpc_type_t { - return _swift_xpc_type_shmem() + return _swift_xpc_type_SHMEM() } public var XPC_TYPE_ARRAY: xpc_type_t { - return _swift_xpc_type_array() + return _swift_xpc_type_ARRAY() } public var XPC_TYPE_DICTIONARY: xpc_type_t { - return _swift_xpc_type_dictionary() + return _swift_xpc_type_DICTIONARY() } public var XPC_TYPE_ERROR: xpc_type_t { - return _swift_xpc_type_error() + return _swift_xpc_type_ERROR() } public var XPC_TYPE_ACTIVITY: xpc_type_t { - return _swift_xpc_type_activity() + return _swift_xpc_type_ACTIVITY() } //===----------------------------------------------------------------------===// @@ -103,63 +104,6 @@ public var XPC_ARRAY_APPEND: size_t { return -1 } -@_silgen_name("_swift_xpc_bool_true") -internal func _swift_xpc_bool_true() -> xpc_object_t - -@_silgen_name("_swift_xpc_bool_false") -internal func _swift_xpc_bool_false() -> xpc_object_t - -@_silgen_name("_swift_xpc_type_CONNECTION") -internal func _swift_xpc_type_connection() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_ENDPOINT") -internal func _swift_xpc_type_endpoint() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_NULL") -internal func _swift_xpc_type_null() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_BOOL") -internal func _swift_xpc_type_bool() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_INT64") -internal func _swift_xpc_type_int64() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_UINT64") -internal func _swift_xpc_type_uint64() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_DOUBLE") -internal func _swift_xpc_type_double() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_DATE") -internal func _swift_xpc_type_date() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_DATA") -internal func _swift_xpc_type_data() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_STRING") -internal func _swift_xpc_type_string() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_UUID") -internal func _swift_xpc_type_uuid() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_FD") -internal func _swift_xpc_type_fd() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_SHMEM") -internal func _swift_xpc_type_shmem() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_ARRAY") -internal func _swift_xpc_type_array() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_DICTIONARY") -internal func _swift_xpc_type_dictionary() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_ERROR") -internal func _swift_xpc_type_error() -> xpc_type_t - -@_silgen_name("_swift_xpc_type_ACTIVITY") -internal func _swift_xpc_type_activity() -> xpc_type_t - // xpc/connection.h public var XPC_ERROR_CONNECTION_INTERRUPTED: xpc_object_t { @@ -173,12 +117,3 @@ public var XPC_ERROR_CONNECTION_INVALID: xpc_object_t { public var XPC_ERROR_TERMINATION_IMMINENT: xpc_object_t { return _swift_xpc_connection_termination_imminent() } - -@_silgen_name("_swift_xpc_connection_interrupted") -internal func _swift_xpc_connection_interrupted() -> xpc_object_t - -@_silgen_name("_swift_xpc_connection_invalid") -internal func _swift_xpc_connection_invalid() -> xpc_object_t - -@_silgen_name("_swift_xpc_connection_termination_imminent") -internal func _swift_xpc_connection_termination_imminent() -> xpc_object_t diff --git a/stdlib/public/SwiftShims/CMakeLists.txt b/stdlib/public/SwiftShims/CMakeLists.txt index ab00ee29d042b..19932125b8a56 100644 --- a/stdlib/public/SwiftShims/CMakeLists.txt +++ b/stdlib/public/SwiftShims/CMakeLists.txt @@ -19,6 +19,7 @@ set(sources OSOverlayShims.h SafariServicesOverlayShims.h XCTestOverlayShims.h + XPCOverlayShims.h module.modulemap ) diff --git a/stdlib/public/SDK/XPC/XPC.mm b/stdlib/public/SwiftShims/XPCOverlayShims.h similarity index 52% rename from stdlib/public/SDK/XPC/XPC.mm rename to stdlib/public/SwiftShims/XPCOverlayShims.h index 6d6c48e49aa60..2f74af9f11b87 100644 --- a/stdlib/public/SDK/XPC/XPC.mm +++ b/stdlib/public/SwiftShims/XPCOverlayShims.h @@ -1,4 +1,4 @@ -//===----------------------------------------------------------------------===// +//===--- XPCOverlayShims.h --------------------------------------*- C++ -*-===// // // This source file is part of the Swift.org open source project // @@ -10,65 +10,66 @@ // //===----------------------------------------------------------------------===// -#include +#ifndef SWIFT_STDLIB_SHIMS_XPC_OVERLAY_H +#define SWIFT_STDLIB_SHIMS_XPC_OVERLAY_H + +@import XPC; -__attribute__((visibility("hidden"))) -extern "C" xpc_type_t +static inline xpc_type_t _swift_xpc_get_type(xpc_object_t object) { return xpc_get_type(object); } -__attribute__((visibility("hidden"))) -extern "C" xpc_object_t +static inline xpc_object_t _swift_xpc_bool_true() { return XPC_BOOL_TRUE; } -__attribute__((visibility("hidden"))) -extern "C" xpc_object_t +static inline xpc_object_t _swift_xpc_bool_false() { return XPC_BOOL_FALSE; } -#define TYPE(t) \ - __attribute__((visibility("hidden"))) \ - extern "C" xpc_type_t \ +#define SWIFT_XPC_TYPE(t) \ + static inline xpc_type_t \ _swift_xpc_type_##t(void) { \ return XPC_TYPE_##t; \ } -TYPE(CONNECTION) -TYPE(ENDPOINT) -TYPE(NULL) -TYPE(BOOL) -TYPE(INT64) -TYPE(UINT64) -TYPE(DOUBLE) -TYPE(DATE) -TYPE(DATA) -TYPE(STRING) -TYPE(UUID) -TYPE(FD) -TYPE(SHMEM) -TYPE(ARRAY) -TYPE(DICTIONARY) -TYPE(ERROR) -TYPE(ACTIVITY) +SWIFT_XPC_TYPE(CONNECTION) +SWIFT_XPC_TYPE(ENDPOINT) +SWIFT_XPC_TYPE(NULL) +SWIFT_XPC_TYPE(BOOL) +SWIFT_XPC_TYPE(INT64) +SWIFT_XPC_TYPE(UINT64) +SWIFT_XPC_TYPE(DOUBLE) +SWIFT_XPC_TYPE(DATE) +SWIFT_XPC_TYPE(DATA) +SWIFT_XPC_TYPE(STRING) +SWIFT_XPC_TYPE(UUID) +SWIFT_XPC_TYPE(FD) +SWIFT_XPC_TYPE(SHMEM) +SWIFT_XPC_TYPE(ARRAY) +SWIFT_XPC_TYPE(DICTIONARY) +SWIFT_XPC_TYPE(ERROR) +SWIFT_XPC_TYPE(ACTIVITY) + +#undef SWIFT_XPC_TYPE -__attribute__((visibility("hidden"))) -extern "C" xpc_object_t +static inline xpc_object_t _swift_xpc_connection_interrupted(void) { return XPC_ERROR_CONNECTION_INTERRUPTED; } -__attribute__((visibility("hidden"))) -extern "C" xpc_object_t +static inline xpc_object_t _swift_xpc_connection_invalid(void) { return XPC_ERROR_CONNECTION_INVALID; } -__attribute__((visibility("hidden"))) -extern "C" xpc_object_t +static inline xpc_object_t _swift_xpc_connection_termination_imminent(void) { return XPC_ERROR_TERMINATION_IMMINENT; } + +#endif // SWIFT_STDLIB_SHIMS_XPC_OVERLAY_H + diff --git a/stdlib/public/SwiftShims/module.modulemap b/stdlib/public/SwiftShims/module.modulemap index c820c5eef45b1..7f60b91e1bdb7 100644 --- a/stdlib/public/SwiftShims/module.modulemap +++ b/stdlib/public/SwiftShims/module.modulemap @@ -36,3 +36,8 @@ module _SwiftXCTestOverlayShims { header "XCTestOverlayShims.h" export * } + +module _SwiftXPCOverlayShims { + header "XPCOverlayShims.h" + export * +} From c0304aef8423e969c1280474e9e3fc335fe86acc Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 14:55:40 -0700 Subject: [PATCH 09/10] [SDK] Fix circularity issues with overlay shim headers. Loading a Clang module eagerly brings in overlays for anything it re-exports, but this is a problem for these new "shim header" modules, which generally import the underlying module for an overlay and are in turn imported by the overlay. That means that when we try to import an overlay, we'll end up with a circular reference before it's done loading all its dependencies. Break the cycle by not exporting anything from these modules, which are mostly just an implementation detail anyway. --- stdlib/public/SwiftShims/module.modulemap | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/stdlib/public/SwiftShims/module.modulemap b/stdlib/public/SwiftShims/module.modulemap index 7f60b91e1bdb7..51c809d913f97 100644 --- a/stdlib/public/SwiftShims/module.modulemap +++ b/stdlib/public/SwiftShims/module.modulemap @@ -17,27 +17,29 @@ module SwiftShims { export * } +// Various headers used to build overlays on Apple platforms. +// Note: These deliberately do not use "export *" to avoid circularity issues +// (overlay -> shims -> framework -> overlay) +// FIXME: These are only needed when building each overlay; they declare no +// types and therefore would not strictly need to be present in an installed +// Swift. +// FIXME: These are not used at all on non-Apple platforms. module _SwiftObjectiveCOverlayShims { header "ObjectiveCOverlayShims.h" - export * } module _SwiftOSOverlayShims { header "OSOverlayShims.h" - export * } module _SwiftSafariServicesOverlayShims { header "SafariServicesOverlayShims.h" - export * } module _SwiftXCTestOverlayShims { header "XCTestOverlayShims.h" - export * } module _SwiftXPCOverlayShims { header "XPCOverlayShims.h" - export * } From dce51edf0638f43f4adc9cd984e2f0bfde20df81 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 15 Oct 2016 15:08:27 -0700 Subject: [PATCH 10/10] [SDK] Remove the -*- C++ -*- tag from the new overlay shim headers. These get imported by Swift, so "Objective-C" would be more appropriate. For now, though, just let it fall back to C mode. --- stdlib/public/SwiftShims/OSOverlayShims.h | 2 +- stdlib/public/SwiftShims/ObjectiveCOverlayShims.h | 2 +- stdlib/public/SwiftShims/SafariServicesOverlayShims.h | 2 +- stdlib/public/SwiftShims/XCTestOverlayShims.h | 2 +- stdlib/public/SwiftShims/XPCOverlayShims.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stdlib/public/SwiftShims/OSOverlayShims.h b/stdlib/public/SwiftShims/OSOverlayShims.h index c544a769b6f2f..5ca46c95e084d 100644 --- a/stdlib/public/SwiftShims/OSOverlayShims.h +++ b/stdlib/public/SwiftShims/OSOverlayShims.h @@ -1,4 +1,4 @@ -//===--- OSOverlayShims.h ---------------------------------------*- C++ -*-===// +//===--- OSOverlayShims.h -------------------------------------------------===// // // This source file is part of the Swift.org open source project // diff --git a/stdlib/public/SwiftShims/ObjectiveCOverlayShims.h b/stdlib/public/SwiftShims/ObjectiveCOverlayShims.h index 9c1b66083a9f2..4c78187872f85 100644 --- a/stdlib/public/SwiftShims/ObjectiveCOverlayShims.h +++ b/stdlib/public/SwiftShims/ObjectiveCOverlayShims.h @@ -1,4 +1,4 @@ -//===--- ObjectiveCOverlayShims.h -------------------------------*- C++ -*-===// +//===--- ObjectiveCOverlayShims.h -----------------------------------------===// // // This source file is part of the Swift.org open source project // diff --git a/stdlib/public/SwiftShims/SafariServicesOverlayShims.h b/stdlib/public/SwiftShims/SafariServicesOverlayShims.h index c06d5367ce1c7..273b020210bc3 100644 --- a/stdlib/public/SwiftShims/SafariServicesOverlayShims.h +++ b/stdlib/public/SwiftShims/SafariServicesOverlayShims.h @@ -1,4 +1,4 @@ -//===--- SafariServicesOverlayShims.h ---------------------------*- C++ -*-===// +//===--- SafariServicesOverlayShims.h -------------------------------------===// // // This source file is part of the Swift.org open source project // diff --git a/stdlib/public/SwiftShims/XCTestOverlayShims.h b/stdlib/public/SwiftShims/XCTestOverlayShims.h index 9bfcaed40d983..ba9d57adc6c02 100644 --- a/stdlib/public/SwiftShims/XCTestOverlayShims.h +++ b/stdlib/public/SwiftShims/XCTestOverlayShims.h @@ -1,4 +1,4 @@ -//===--- XCTestOverlayShims.h -----------------------------------*- C++ -*-===// +//===--- XCTestOverlayShims.h -------------------------------------------*-===// // // This source file is part of the Swift.org open source project // diff --git a/stdlib/public/SwiftShims/XPCOverlayShims.h b/stdlib/public/SwiftShims/XPCOverlayShims.h index 2f74af9f11b87..e6acab322b08d 100644 --- a/stdlib/public/SwiftShims/XPCOverlayShims.h +++ b/stdlib/public/SwiftShims/XPCOverlayShims.h @@ -1,4 +1,4 @@ -//===--- XPCOverlayShims.h --------------------------------------*- C++ -*-===// +//===--- XPCOverlayShims.h ------------------------------------------------===// // // This source file is part of the Swift.org open source project //