; Test functionality of -D# option: numeric variables are defined to the right ; value and CHECK directives using them match as expected given the value set. ; Tests with default format specifier. RUN: FileCheck -D#NUMVAL1=8 -D#NUMVAL2='NUMVAL1 + 4' --check-prefixes CHECKNUM1,CHECKNUM2 --input-file %s %s RUN: %ProtectFileCheckOutput \ RUN: not FileCheck -D#NUMVAL1=7 -D#NUMVAL2=12 --check-prefix CHECKNUM1 --input-file %s %s 2>&1 \ RUN: | FileCheck %s --strict-whitespace --check-prefix NUMERRMSG1 RUN: %ProtectFileCheckOutput \ RUN: not FileCheck -D#NUMVAL1=8 -D#NUMVAL2=8 --check-prefix CHECKNUM2 --input-file %s %s 2>&1 \ RUN: | FileCheck %s --strict-whitespace --check-prefix NUMERRMSG2 RUN: %ProtectFileCheckOutput \ RUN: not FileCheck -D#NUMVAL1=8 -D#NUMVAL2=8 --check-prefix NUMNOT1 --input-file %s %s 2>&1 \ RUN: | FileCheck %s --strict-whitespace --check-prefix NOT-NUMERRMSG1 RUN: %ProtectFileCheckOutput \ RUN: not FileCheck -D#NUMVAL1=7 -D#NUMVAL2=12 --check-prefix NUMNOT1 --input-file %s %s 2>&1 \ RUN: | FileCheck %s --strict-whitespace --check-prefix NOT-NUMERRMSG2 RUN: FileCheck -D#NUMVAL1=7 -D#NUMVAL2=8 --check-prefix NUMNOT1 --input-file %s %s Numeric value #1 = 8 Numeric value #2 = 12 CHECKNUM1: Numeric value #1 = [[#NUMVAL1]] CHECKNUM2: Numeric value #2 = [[#NUMVAL2]] NUMNOT1-NOT: Numeric value #1 = [[#NUMVAL1]] NUMNOT1-NOT: Numeric value #2 = [[#NUMVAL2]] NUMERRMSG1: defines.txt:[[#@LINE-5]]:12: error: CHECKNUM1: expected string not found in input NUMERRMSG1: defines.txt:1:1: note: scanning from here NUMERRMSG1: defines.txt:1:1: note: with "NUMVAL1" equal to "7" NUMERRMSG1: defines.txt:[[#@LINE-10]]:1: note: possible intended match here NUMERRMSG2: defines.txt:[[#@LINE-9]]:12: error: CHECKNUM2: expected string not found in input NUMERRMSG2: defines.txt:1:1: note: scanning from here NUMERRMSG2: defines.txt:1:1: note: with "NUMVAL2" equal to "8" NUMERRMSG2: defines.txt:[[#@LINE-14]]:1: note: possible intended match here NOT-NUMERRMSG1: defines.txt:[[#@LINE-13]]:14: error: {{NUMNOT1}}-NOT: excluded string found in input NOT-NUMERRMSG1: defines.txt:[[#@LINE-18]]:1: note: found here NOT-NUMERRMSG1: defines.txt:[[#@LINE-19]]:1: note: with "NUMVAL1" equal to "8" NOT-NUMERRMSG2: defines.txt:[[#@LINE-16]]:14: error: {{NUMNOT1}}-NOT: excluded string found in input NOT-NUMERRMSG2: defines.txt:[[#@LINE-21]]:1: note: found here NOT-NUMERRMSG2: defines.txt:[[#@LINE-22]]:1: note: with "NUMVAL2" equal to "12" ; Tests with explicit format specifiers. RUN: FileCheck -D#%X,NUMVAL3=8 -D#%X,NUMVAL4='NUMVAL3 + 4' --check-prefixes CHECKNUM3,CHECKNUM4 --input-file %s %s RUN: %ProtectFileCheckOutput \ RUN: not FileCheck -D#%X,NUMVAL3=7 -D#%X,NUMVAL4=12 --check-prefix CHECKNUM3 --input-file %s %s 2>&1 \ RUN: | FileCheck %s --strict-whitespace --check-prefix NUMERRMSG3 RUN: %ProtectFileCheckOutput \ RUN: not FileCheck -D#%X,NUMVAL3=8 -D#%X,NUMVAL4=8 --check-prefix CHECKNUM4 --input-file %s %s 2>&1 \ RUN: | FileCheck %s --strict-whitespace --check-prefix NUMERRMSG4 RUN: %ProtectFileCheckOutput \ RUN: not FileCheck -D#%X,NUMVAL3=8 -D#%X,NUMVAL4=8 --check-prefix NUMNOT2 --input-file %s %s 2>&1 \ RUN: | FileCheck %s --strict-whitespace --check-prefix NOT-NUMERRMSG3 RUN: %ProtectFileCheckOutput \ RUN: not FileCheck -D#%X,NUMVAL3=7 -D#%X,NUMVAL4=12 --check-prefix NUMNOT2 --input-file %s %s 2>&1 \ RUN: | FileCheck %s --strict-whitespace --check-prefix NOT-NUMERRMSG4 RUN: FileCheck -D#%X,NUMVAL3=7 -D#%X,NUMVAL4=8 --check-prefix NUMNOT2 --input-file %s %s ; Test with explicit and default format specifiers. RUN: FileCheck -D#NUMVAL3=8 -D#%X,NUMVAL4='NUMVAL3 + 4' --check-prefixes CHECKNUM3,CHECKNUM4 --input-file %s %s ; Test with explicit and implicit format specifiers. RUN: FileCheck -D#%X,NUMVAL3=8 -D#NUMVAL4='NUMVAL3 + 4' --check-prefixes CHECKNUM3,CHECKNUM4 --input-file %s %s Numeric value #3 = 8 Numeric value #4 = C CHECKNUM3: Numeric value #3 = [[#NUMVAL3]] CHECKNUM4: Numeric value #4 = [[#NUMVAL4]] NUMNOT2-NOT: Numeric value #3 = [[#NUMVAL3]] NUMNOT2-NOT: Numeric value #4 = [[#NUMVAL4]] NUMERRMSG3: defines.txt:[[#@LINE-5]]:12: error: CHECKNUM3: expected string not found in input NUMERRMSG3: defines.txt:1:1: note: scanning from here NUMERRMSG3: defines.txt:1:1: note: with "NUMVAL3" equal to "7" NUMERRMSG3: defines.txt:[[#@LINE-10]]:1: note: possible intended match here NUMERRMSG4: defines.txt:[[#@LINE-9]]:12: error: CHECKNUM4: expected string not found in input NUMERRMSG4: defines.txt:1:1: note: scanning from here NUMERRMSG4: defines.txt:1:1: note: with "NUMVAL4" equal to "8" NUMERRMSG4: defines.txt:[[#@LINE-14]]:1: note: possible intended match here NOT-NUMERRMSG3: defines.txt:[[#@LINE-13]]:14: error: {{NUMNOT2}}-NOT: excluded string found in input NOT-NUMERRMSG3: defines.txt:[[#@LINE-18]]:1: note: found here NOT-NUMERRMSG3: defines.txt:[[#@LINE-19]]:1: note: with "NUMVAL3" equal to "8" NOT-NUMERRMSG4: defines.txt:[[#@LINE-16]]:14: error: {{NUMNOT2}}-NOT: excluded string found in input NOT-NUMERRMSG4: defines.txt:[[#@LINE-21]]:1: note: found here NOT-NUMERRMSG4: defines.txt:[[#@LINE-22]]:1: note: with "NUMVAL4" equal to "C"