When following a CHECK-DAG block, FileCheck correctly matches
CHECK-NEXT, CHECK-SAME and CHECK-EMPTY relative to the CHECK-DAG that
matches the latest line in the input file, as one would expect. However,
FileCheck refuses to run if the CHECK-DAG directives are the first in
the file. This commit lift this restriction.
Note: there is debate in the comments over whether the inconsistency should be fixed by forbidding CHECK-DAG before a CHECK-EMPTY, CHECK-SAME or CHECK-NEXT always. More opinions welcome.