Merge pull request #12037 from practicalswift/swiftc-28840-swift-typebase-getcanonicaltype

diff --git a/validation-test/compiler_crashers/28840-swift-typebase-getcanonicaltype.swift b/validation-test/compiler_crashers/28840-swift-typebase-getcanonicaltype.swift
new file mode 100644
index 0000000..0222a22
--- /dev/null
+++ b/validation-test/compiler_crashers/28840-swift-typebase-getcanonicaltype.swift
@@ -0,0 +1,9 @@
+// This source file is part of the Swift.org open source project
+// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
+// Licensed under Apache License v2.0 with Runtime Library Exception
+//
+// See https://swift.org/LICENSE.txt for license information
+// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
+
+// RUN: not --crash %target-swift-frontend %s -emit-ir
+protocol P{{}typealias a=(t:Self.a{}typealias a:a