1RUN: FileCheck -D#VAR1=11 --input-file %s %s 2 3; We use CHECK-NEXT directives to force a match on all lines with digits. 4 5; Numeric expressions using variables defined on the command-line without 6; spaces 7USE NO SPC 811 912 1010 11CHECK-LABEL: USE NO SPC 12CHECK-NEXT: [[#VAR1]] 13CHECK-NEXT: [[#VAR1+1]] 14CHECK-NEXT: [[#VAR1-1]] 15 16; Numeric expressions using variables defined on the command-line in alternate 17; spacing 18USE ALT SPC 1911 2011 2112 2212 2312 2412 2510 2610 2710 2810 29CHECK-LABEL: USE ALT SPC 30CHECK-NEXT: [[# VAR1]] 31CHECK-NEXT: [[# VAR1 ]] 32CHECK-NEXT: [[# VAR1+1]] 33CHECK-NEXT: [[# VAR1 +1]] 34CHECK-NEXT: [[# VAR1 + 1]] 35CHECK-NEXT: [[# VAR1 + 1 ]] 36CHECK-NEXT: [[# VAR1-1]] 37CHECK-NEXT: [[# VAR1 -1]] 38CHECK-NEXT: [[# VAR1 - 1]] 39CHECK-NEXT: [[# VAR1 - 1 ]] 40 41; Numeric expressions using variables defined on the command-line and an 42; immediate interpreted as an unsigned value 43; Note: 9223372036854775819 = 0x8000000000000000 + 11 44; 9223372036854775808 = 0x8000000000000000 45USE UNSIGNED IMM 469223372036854775819 47CHECK-LABEL: USE UNSIGNED IMM 48CHECK-NEXT: [[#VAR1+9223372036854775808]] 49 50; Numeric expression using undefined variable 51RUN: not FileCheck --check-prefix UNDEF-USE --input-file %s %s 2>&1 \ 52RUN: | FileCheck --strict-whitespace --check-prefix UNDEF-USE-MSG %s 53 54UNDEF VAR USE 55UNDEFVAR: 11 56UNDEF-USE-LABEL: UNDEF VAR USE 57UNDEF-USE-NEXT: UNDEFVAR: [[#UNDEFVAR]] 58UNDEF-USE-MSG: numeric-expression.txt:[[#@LINE-1]]:30: error: using undefined numeric variable 'UNDEFVAR' 59UNDEF-USE-MSG-NEXT: {{U}}NDEF-USE-NEXT: UNDEFVAR: {{\[\[#UNDEFVAR\]\]}} 60UNDEF-USE-MSG-NEXT: {{^ \^$}} 61 62; Numeric expression with unsupported operator 63RUN: not FileCheck -D#VAR1=11 --check-prefixes CHECK,INVAL-OP --input-file %s %s 2>&1 \ 64RUN: | FileCheck --strict-whitespace --check-prefix INVAL-OP-MSG %s 65 66INVALID OPERATOR 67VAR1*2: 22 68INVAL-OP-LABEL: INVALID OPERATOR 69INVAL-OP-NEXT: VAR1*2: [[#VAR1*2]] 70INVAL-OP-MSG: numeric-expression.txt:[[#@LINE-1]]:31: error: unsupported numeric operation '*' 71INVAL-OP-MSG-NEXT: {{I}}NVAL-OP-NEXT: VAR1*2: {{\[\[#VAR1\*2\]\]}} 72INVAL-OP-MSG-NEXT: {{^ \^$}} 73 74; Name conflict between Numeric variable definition and string variable 75; definition 76RUN: not FileCheck -D#VAR1=11 -D#NUMVAR=42 --check-prefixes CONFLICT,CONFLICT1 --input-file %s %s 2>&1 \ 77RUN: | FileCheck --strict-whitespace --check-prefix CLI-INPUT-PAT-CONFLICT %s 78RUN: not FileCheck -D#VAR1=11 -D#NUMVAR=42 -DNUMVAR=foobar --check-prefix CONFLICT --input-file %s %s 2>&1 \ 79RUN: | FileCheck --strict-whitespace --check-prefix CLI-CLI-PAT-CONFLICT %s 80RUN: not FileCheck -D#VAR1=11 -DPATVAR=foobar -D#PATVAR=42 --check-prefix CONFLICT --input-file %s %s 2>&1 \ 81RUN: | FileCheck --strict-whitespace --check-prefix CLI-CLI-NUM-CONFLICT %s 82 83PATVAR NUMVAR CONFLICT 84foobar 85CONFLICT-LABEL: PATVAR NUMVAR CONFLICT 86CONFLICT1-NEXT: [[NUMVAR:foo.*]] 87CLI-INPUT-PAT-CONFLICT: numeric-expression.txt:[[#@LINE-1]]:19: error: numeric variable with name 'NUMVAR' already exists 88CLI-INPUT-PAT-CONFLICT-NEXT: {{C}}ONFLICT1-NEXT: {{\[\[NUMVAR:foo\.\*\]\]}} 89CLI-INPUT-PAT-CONFLICT-NEXT: {{^ \^$}} 90CLI-CLI-PAT-CONFLICT: Global defines:3:19: error: numeric variable with name 'NUMVAR' already exists 91CLI-CLI-PAT-CONFLICT-NEXT: Global define #3: NUMVAR=foobar 92CLI-CLI-PAT-CONFLICT-NEXT: {{^ \^$}} 93CLI-CLI-NUM-CONFLICT: Global defines:3:20: error: string variable with name 'PATVAR' already exists 94CLI-CLI-NUM-CONFLICT-NEXT: Global define #3: #PATVAR=42 95CLI-CLI-NUM-CONFLICT-NEXT: {{^ \^$}} 96