File: driver.test

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-19
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,999,616 kB
  • sloc: cpp: 6,951,724; ansic: 1,486,157; asm: 913,598; python: 232,059; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,079; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,430; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (66 lines) | stat: -rw-r--r-- 2,988 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# REQUIRES: x86

# RUN: not ld.lld --unknown1 --unkn=own2 -m foo /no/such/file -lnosuchlib \
# RUN:   2>&1 | FileCheck -check-prefix=UNKNOWN %s

# UNKNOWN: error: unknown argument '--unknown1'
# UNKNOWN: error: unknown argument '--unkn=own2'
# UNKNOWN: error: unknown emulation: foo
# UNKNOWN: error: cannot open /no/such/file
# UNKNOWN: error: unable to find library -lnosuchlib

# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
# RUN: not ld.lld %t -o /no/such/file 2>&1 | FileCheck -check-prefix=MISSING %s
# MISSING: error: cannot open output file /no/such/file

# RUN: ld.lld --help 2>&1 | FileCheck -check-prefix=HELP %s
# HELP: USAGE:
# HELP: : supported targets:{{.*}} elf

# RUN: not ld.lld --versin 2>&1 | FileCheck -check-prefix=SPELLVERSION %s
# SPELLVERSION: error: unknown argument '--versin', did you mean '--version'

## Attempt to link DSO with -r
# RUN: ld.lld -shared %t -o %t.so
# RUN: not ld.lld -r %t.so %t -o /dev/null 2>&1 | FileCheck -check-prefix=ERR %s
# ERR: error: attempted static link of dynamic object

# RUN: not ld.lld -r -shared -pie --export-dynamic %t -o /dev/null 2>&1 | FileCheck -check-prefix=ERR2 %s
# ERR2: error: -r and -shared may not be used together
# ERR2: error: -r and -pie may not be used together
# ERR2: error: -r and --export-dynamic may not be used together

# RUN: not ld.lld -r --icf=all --gdb-index --debug-names %t -o /dev/null 2>&1 | FileCheck -check-prefix=ERR4 %s
# ERR4: error: -r and --gdb-index may not be used together
# ERR4: error: -r and --icf may not be used together
# ERR4: error: -r and --debug-names may not be used together

# RUN: not ld.lld -shared -pie %t -o /dev/null 2>&1 | FileCheck -check-prefix=ERR7 %s
# ERR7: error: -shared and -pie may not be used together

## "--output=foo" is equivalent to "-o foo".
# RUN: not ld.lld %t --output=/no/such/file 2>&1 | FileCheck -check-prefix=ERR8 %s
# ERR8: error: cannot open output file /no/such/file

## "-output=foo" is equivalent to "-o utput=foo".
# RUN: not ld.lld %t -output=/no/such/file 2>&1 | FileCheck -check-prefix=ERR9 %s
# ERR9: error: cannot open output file utput=/no/such/file

# RUN: ld.lld %t -z foo -o /dev/null 2>&1 | FileCheck -check-prefix=ERR10 %s --implicit-check-not=warning:
# RUN: ld.lld %t -z foo -z rel -z rela -z max-page-size=1 -z common-page-size=1 -o /dev/null --version 2>&1 | \
# RUN:   FileCheck -check-prefix=ERR10 %s --implicit-check-not=warning:
# ERR10: warning: unknown -z value: foo

## Check we report "unknown -z value" error even with -v.
# RUN: ld.lld %t -z foo -z rel -o /dev/null -v 2>&1 | FileCheck -check-prefix=ERR10 %s --implicit-check-not=warning:

## Note: in GNU ld, --fatal-warning still leads to a warning.
# RUN: not ld.lld %t -z foo --fatal-warnings 2>&1 | FileCheck --check-prefix=ERR10-FATAL %s
# ERR10-FATAL: error: unknown -z value: foo

# RUN: not ld.lld %t -z max-page-size 2>&1 | FileCheck -check-prefix=ERR11 %s
# ERR11: error: invalid max-page-size:

.globl _start
_start:
  nop