| ; RUN: FileCheck -check-prefix=A -input-file %s %s | 
 |  | 
 | ;; This tests the LITERAL directive modifier. | 
 |  | 
 | The result is "5371, 5372, 5373, 5374" | 
 |  | 
 | The result is "[[[5371]], [[5372]], [[5373]], [[5374]]]" | 
 | [[[5375]], [[5376]], | 
 | [[[5377]], [[5378]], | 
 | {{there you go.*}} | 
 |  | 
 | [[10]] | 
 | [[20]] | 
 | [[50]] | 
 |  | 
 | ;; These should all not match. | 
 | ; A{}: 5371, 5372, | 
 | ; A{LITERAL} 5371, 5372, | 
 | ; A{LITERAL 5371, 5372, | 
 | ; A{LITERAL,} 5371, 5372, | 
 | ; A{, LITERAL} 5371, 5372, | 
 |  | 
 | ; A: 5371, 5372, | 
 | ; A-SAME: 5373, 5374 | 
 | ; A{LITERAL}: [[[5371]], [[5372]], | 
 | ; A-SAME{LITERAL}: [[5373]], [[5374]]] | 
 |  | 
 | ;; Modifier list allows whitespace. | 
 | ; A{  LITERAL  }: [[[5375]], [[5376]], | 
 | ;; Modifiers are combined into a set and repetition is allowed. | 
 | ; A{LITERAL , LITERAL}: [[[5377]], [[5378]], | 
 |  | 
 | ; A-NEXT{LITERAL}: {{there you go.*}} | 
 | ; A-NOT{LITERAL}: [[50]] | 
 | ; A-DAG{LITERAL}: [[20]] | 
 | ; A-DAG{LITERAL}: [[10]] | 
 | ; A{LITERAL}: [[50]] | 
 |  | 
 | ; RUN: %ProtectFileCheckOutput \ | 
 | ; RUN: not FileCheck %s --input-file %s --check-prefix=INVALID 2>&1 | \ | 
 | ; RUN:   FileCheck %s --check-prefix=CHECK-INVALID | 
 |  | 
 | ;; Ensure invalid modifier skipped. | 
 |  | 
 | ; INVALID{BADMODIFIER}: 6371, 6372, | 
 | ; CHECK-INVALID: no check strings found with prefix 'INVALID | 
 |  | 
 | ; RUN: %ProtectFileCheckOutput \ | 
 | ; RUN: not FileCheck %s --input-file %s --check-prefix=CHECK-ERRNOT 2>&1 | \ | 
 | ; RUN:   FileCheck %s --check-prefix=ERRNOT | 
 |  | 
 | ;; This ensures a failure is correctly reported when a NOT directive with a | 
 | ;; LITERAL modifier matches. | 
 |  | 
 | [[a]] | 
 | [[b]] | 
 | [[c]] | 
 |  | 
 | ; CHECK-ERRNOT{LITERAL}: [[a]] | 
 | ; CHECK-ERRNOT-NOT{LITERAL}: [[b]] | 
 | ; CHECK-ERRNOT{LITERAL}: [[c]] | 
 | ; ERRNOT: no match expected |