## Check that a full line is matched case insensitively.
# RUN: FileCheck --ignore-case --match-full-lines --check-prefix=FULL --input-file=%s %s

## Check that a regular expression matches case insensitively.
# RUN: FileCheck --ignore-case --check-prefix=REGEX --input-file=%s %s

## Check that a pattern from command line matches case insensitively.
# RUN: FileCheck --ignore-case --check-prefix=PAT --DPATTERN="THIS is the" --input-file=%s %s

## Check that COUNT and NEXT work case insensitively.
# RUN: FileCheck --ignore-case --check-prefix=CNT --input-file=%s %s

## Check that match on same line works case insensitively.
# RUN: FileCheck --ignore-case --check-prefix=LINE --input-file=%s %s

## Check that option --implicit-not works case insensitively.
# RUN: sed '/^#/d' %s | FileCheck --implicit-check-not=sTrInG %s
# RUN: sed '/^#/d' %s | not FileCheck --ignore-case --implicit-check-not=sTrInG %s 2>&1 | FileCheck --check-prefix=ERROR %s

this is the STRING to be matched

# FULL: tHis iS The String TO be matched
# REGEX: s{{TRing}}
# PAT: [[PATTERN]] string

Loop 1
lOop 2
loOp 3
looP 4
loop 5
LOOP 6
BREAK

# CNT-COUNT-6: LOop {{[0-9]}}
# CNT-NOT: loop
# CNT-NEXT: break

One Line To Match

# LINE: {{o}}ne line
# LINE-SAME: {{t}}o match

# ERROR: command line:1:{{[0-9]+}}: error: CHECK-NOT: excluded string found in input
# ERROR-NEXT: -implicit-check-not='sTrInG'
# ERROR: note: found here
