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": {
