Compiler projects using llvm
; RUN: FileCheck -input-file %s %s -check-prefix=CHECKOK
;
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -input-file %s %s -check-prefix=CHECKFAIL 2>&1 \
; RUN: | FileCheck %s -check-prefix=CHECKERROR

label0:
a
b

label1:
b
c

label2:
a
c

; CHECKOK-LABEL: {{^}}label0:
; CHECKOK: {{^}}a
; CHECKOK: {{^}}b

; CHECKOK-LABEL: {{^}}label1:
; CHECKOK: {{^}}b
; CHECKOK: {{^}}c

; CHECKOK-LABEL: {{^}}label2:
; CHECKOK: {{^}}a
; CHECKOK: {{^}}c

; CHECKFAIL-LABEL: {{^}}label0:
; CHECKFAIL: {{^}}a
; CHECKFAIL: {{^}}b
; CHECKFAIL: {{^}}c

; CHECKERROR: expected string not found in input
; CHECKERROR-NEXT: CHECKFAIL: {{[{][{]\^[}][}]}}c

; CHECKFAIL-LABEL: {{^}}label1:
; CHECKFAIL: {{^}}a
; CHECKFAIL: {{^}}b
; CHECKFAIL: {{^}}c

; CHECKERROR: expected string not found in input
; CHECKERROR-NEXT: CHECKFAIL: {{[{][{]\^[}][}]}}a

; CHECKFAIL-LABEL: {{^}}label2:
; CHECKFAIL: {{^}}a
; CHECKFAIL: {{^}}b
; CHECKFAIL: {{^}}c

; CHECKERROR: expected string not found in input
; CHECKERROR-NEXT: CHECKFAIL: {{[{][{]\^[}][}]}}b