| # REQUIRES: x86 |
| # RUN: rm -rf %t && split-file %s %t && cd %t |
| # RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o 0.o |
| |
| #--- 1.lds |
| SECTIONS { |
| .text + { *(.text) } |
| .keep : { *(.keep) } /* |
| comment line 1 |
| comment line 2 */ |
| .temp : { *(.temp) } |
| } |
| |
| # RUN: not ld.lld -shared 0.o -T 1.lds 2>&1 | FileCheck %s --check-prefix=CHECK1 --match-full-lines --strict-whitespace |
| # CHECK1:{{.*}}:2: malformed number: { |
| # CHECK1-NEXT:>>> .text + { *(.text) } |
| # CHECK1-NEXT:>>> ^ |
| |
| #--- 2.lds |
| |
| UNKNOWN_TAG { |
| .text : { *(.text) } |
| .keep : { *(.keep) } |
| .temp : { *(.temp) } |
| } |
| |
| # RUN: not ld.lld -shared 0.o -T 2.lds 2>&1 | FileCheck %s --check-prefix=CHECK2 --match-full-lines --strict-whitespace |
| # CHECK2:{{.*}}:2: unknown directive: UNKNOWN_TAG |
| # CHECK2-NEXT:>>> UNKNOWN_TAG { |
| # CHECK2-NEXT:>>> ^ |
| |
| #--- 3.lds |
| SECTIONS { |
| .text : { *(.text) } |
| .keep : { *(.keep) } |
| boom ^temp : { *(.temp) } |
| } |
| #--- 3a.lds |
| INCLUDE "3.lds" |
| #--- 3b.lds |
| foo = 3; |
| INCLUDE "3a.lds" |
| |
| # RUN: not ld.lld -shared 0.o -T 3.lds 2>&1 | FileCheck %s --check-prefix=CHECK3 --match-full-lines --strict-whitespace |
| # RUN: not ld.lld -shared 0.o -T 3a.lds 2>&1 | FileCheck %s --check-prefix=CHECK3 --match-full-lines --strict-whitespace |
| # RUN: not ld.lld -shared 0.o -T 3b.lds 2>&1 | FileCheck %s --check-prefix=CHECK3 --match-full-lines --strict-whitespace |
| # CHECK3:{{.*}}3.lds:4: malformed number: ^ |
| # CHECK3-NEXT:>>> boom ^temp : { *(.temp) } |
| # CHECK3-NEXT:>>> ^ |