Merge pull request #16147 from slavapestov/autolinking-fixes

IRGen: Remove collectLinkLibrariesFromExternals()
diff --git a/lib/IRGen/GenType.h b/lib/IRGen/GenType.h
index 3607b74..82f9e71 100644
--- a/lib/IRGen/GenType.h
+++ b/lib/IRGen/GenType.h
@@ -225,7 +225,7 @@
   bool State;
   TypeConverter &TC;
 public:
-  CompletelyFragileScope(TypeConverter &TC) : TC(TC) {
+  explicit CompletelyFragileScope(TypeConverter &TC) : TC(TC) {
     State = TC.isCompletelyFragile();
     if (!State)
       TC.pushCompletelyFragile();
diff --git a/stdlib/public/SDK/Foundation/NSStringAPI.swift b/stdlib/public/SDK/Foundation/NSStringAPI.swift
index 09c83cc..3366c47 100644
--- a/stdlib/public/SDK/Foundation/NSStringAPI.swift
+++ b/stdlib/public/SDK/Foundation/NSStringAPI.swift
@@ -436,7 +436,6 @@
   // self can be a Substring so we need to subtract/add this offset when
   // passing _ns to the Foundation APIs. Will be 0 if self is String.
   @inlinable
-  @usableFromInline
   internal var _substringOffset: Int {
     return self.startIndex.encodedOffset
   }
@@ -448,7 +447,6 @@
   }
 
   @inlinable
-  @usableFromInline
   internal func _toRelativeNSRange(_ r: Range<String.Index>) -> NSRange {
     return NSRange(
       location: r.lowerBound.encodedOffset - _substringOffset,
diff --git a/stdlib/public/core/LifetimeManager.swift b/stdlib/public/core/LifetimeManager.swift
index 8797b31..0527821 100644
--- a/stdlib/public/core/LifetimeManager.swift
+++ b/stdlib/public/core/LifetimeManager.swift
@@ -162,7 +162,7 @@
 ///     type. If you need to mutate the argument through the pointer, use
 ///     `withUnsafeMutablePointer(to:_:)` instead.
 /// - Returns: The return value, if any, of the `body` closure.
-@_inlineable
+@inlinable
 public func withUnsafePointer<T, Result>(
   to value: inout T,
   _ body: (UnsafePointer<T>) throws -> Result
diff --git a/stdlib/public/core/UnsafeRawBufferPointer.swift.gyb b/stdlib/public/core/UnsafeRawBufferPointer.swift.gyb
index f602c4c..4d4e932 100644
--- a/stdlib/public/core/UnsafeRawBufferPointer.swift.gyb
+++ b/stdlib/public/core/UnsafeRawBufferPointer.swift.gyb
@@ -805,7 +805,7 @@
 ///     If you want to mutate a value by writing through a pointer, use
 ///     `withUnsafeMutableBytes(of:_:)` instead.
 /// - Returns: The return value, if any, of the `body` closure.
-@_inlineable
+@inlinable
 public func withUnsafeBytes<T, Result>(
   of value: T,
   _ body: (UnsafeRawBufferPointer) throws -> Result
diff --git a/utils/update-checkout-config.json b/utils/update-checkout-config.json
index d4588f1..8008b8b 100644
--- a/utils/update-checkout-config.json
+++ b/utils/update-checkout-config.json
@@ -226,6 +226,25 @@
                 "ninja": "release"
             }
         },
+        "swift-4.2-branch-04-20-2018" : {
+            "aliases": ["swift-4.2-branch-04-20-2018"],
+            "repos": {
+                "llvm": "swift-4.2-branch-04-20-2018",
+                "clang": "swift-4.2-branch-04-20-2018",
+                "swift": "swift-4.2-branch-04-20-2018",
+                "lldb": "swift-4.2-branch-04-20-2018",
+                "cmark": "master",
+                "llbuild": "master",
+                "swiftpm": "master",
+                "compiler-rt": "swift-4.2-branch-04-20-2018",
+                "swift-corelibs-xctest": "swift-4.2-branch-04-20-2018",
+                "swift-corelibs-foundation": "swift-4.2-branch-04-20-2018",
+                "swift-corelibs-libdispatch": "swift-4.2-branch-04-20-2018",
+                "swift-integration-tests": "swift-4.2-branch",
+                "swift-xcode-playground-support": "swift-4.2-branch",
+                "ninja": "release"
+            }
+        },
         "swift-5.0-branch" : {
             "aliases": ["swift-5.0-branch"],
             "repos": {