brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · b299dc9 Raw
92 lines · yaml
1# RUN: yaml2obj -D NAME= %s | llvm-nm - | FileCheck --check-prefix=FBAR %s2# FBAR: U fbar3 4# RUN: yaml2obj -D NAME=o %s | llvm-nm - | FileCheck --check-prefix=FOOBAR %s5# RUN: yaml2obj -DNAME=o %s | llvm-nm - | FileCheck --check-prefix=FOOBAR %s6# FOOBAR: U foobar7 8# RUN: not yaml2obj -D NAME %s 2>&1 | FileCheck --check-prefix=ERR1 %s9# ERR1: error: invalid syntax for -D: NAME10 11# RUN: not yaml2obj -D =value %s 2>&1 | FileCheck --check-prefix=ERR2 %s12# ERR2: error: invalid syntax for -D: =value13 14# RUN: not yaml2obj -D NAME=a -D NAME=b %s 2>&1 | FileCheck --check-prefix=ERR3 %s15# ERR3: error: 'NAME' redefined16 17--- !ELF18FileHeader:19  Class:   ELFCLASS6420  Data:    ELFDATA2LSB21  Type:    ET_REL22  Machine: EM_X86_6423Symbols:24  - Name: f[[NAME]][[NAME]]bar25 26## Digits can appear in macro names. Test that we don't expand macros recursively.27# RUN: yaml2obj --docnum=2 -D a0='[[a1]]' -D a1='[[a0]]' %s | llvm-nm --just-symbol-name --no-sort - > %t.recur28# RUN: echo -e '[[a1]]\n[[a0]]' > %t0.recur29# RUN: diff -u %t0.recur %t.recur30 31--- !ELF32FileHeader:33  Class:   ELFCLASS6434  Data:    ELFDATA2LSB35  Type:    ET_REL36  Machine: EM_X86_6437Symbols:38  - Name: "[[a0]]"39  - Name: "[[a1]]"40 41## Test unterminated [[.42# RUN: yaml2obj --docnum=3 %s | llvm-nm --just-symbol-name --no-sort - > %t.nosubst43# RUN: echo -e 'a[[\n[[a]\n[[a[[a]]\n[[a][[a]][[b]]' > %t0.nosubst44# RUN: diff -u %t0.nosubst %t.nosubst45 46# RUN: yaml2obj --docnum=3 -D a=b -D b=c %s | llvm-nm --just-symbol-name --no-sort - > %t.subst47# RUN: echo -e 'a[[\n[[a]\n[[ab\n[[a]bc' > %t0.subst48# RUN: diff -u %t0.subst %t.subst49 50--- !ELF51FileHeader:52  Class:   ELFCLASS6453  Data:    ELFDATA2LSB54  Type:    ET_REL55  Machine: EM_X86_6456Symbols:57  - Name: "a[["58  - Name: "[[a]"59  - Name: "[[a[[a]]"60  - Name: "[[a][[a]][[b]]"61 62## Check that it is possible to set a default value for a macro in the YAML description.63## Check that we are able to provide an empty default value for a macro.64# RUN: yaml2obj --docnum=4 %s -o %t4.165# RUN: llvm-nm --no-sort %t4.1 | FileCheck %s --check-prefix=DEFAULT66 67# DEFAULT:      U _foo_68# DEFAULT-NEXT: U __69 70--- !ELF71FileHeader:72  Class:   ELFCLASS6473  Data:    ELFDATA2LSB74  Type:    ET_REL75  Machine: EM_X86_6476Symbols:77  - Name: _[[FOO=foo]]_78  - Name: _[[BAR=]]_79 80## Check that it is possible to override a default macro value.81# RUN: yaml2obj --docnum=4 %s -o %t4.2 -DFOO=bar -DBAR=foo82# RUN: llvm-nm --no-sort %t4.2 | FileCheck %s --check-prefix=OVERRIDE-DEFAULT183 84# OVERRIDE-DEFAULT1:      U _bar_85# OVERRIDE-DEFAULT1-NEXT: U _foo_86 87# RUN: yaml2obj --docnum=4 %s -o %t4.3 -DFOO=bar=foo -DBAR=foo=bar88# RUN: llvm-nm --no-sort %t4.3 | FileCheck %s --check-prefix=OVERRIDE-DEFAULT289 90# OVERRIDE-DEFAULT2:      U _bar=foo_91# OVERRIDE-DEFAULT2-NEXT: U _foo=bar_92