This patch removes two assertions that were preventing me writing a test that checked an empty line followed by some text. Here is an example of a set of patterns that caused FileCheck to assert.
CHECK: {{^$}} CHECK-NEXT: foo()
The assertion was because the current location the CHECK-NEXT was scanning from was the start of the buffer. A similar issue occurred with CHECK-SAME. These assertions don't protect against anything, as there is already an error check that checks that CHECK-NEXT/EMPTY/SAME don't appear first in the checks, and the following code works fine if the pointer is at the start of the input.