1Processing of the -arch option happens at debug map parsing time, thus just
2looking at the dumped debug maps is enough to validate their effects.
3
4RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK
5RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch all | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK
6RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch='*' | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK
7RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm64 | FileCheck %s -check-prefix=ARM64 -check-prefix=CHECK
8RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm | FileCheck %s -check-prefix=ARMV7S -check-prefix=ARMV7 -check-prefix=CHECK
9RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch armv7 | FileCheck %s -check-prefix=ARMV7 -check-prefix=CHECK
10RUN: llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm64 -arch armv7s | FileCheck %s -check-prefix=ARM64 -check-prefix=ARMV7S -check-prefix=CHECK
11RUN: not llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch arm42 2>&1 | FileCheck %s -check-prefix=BADARCH
12RUN: not llvm-dsymutil -oso-prepend-path %p -dump-debug-map %p/Inputs/fat-test.arm.dylib -arch i386 2>&1 | FileCheck %s -check-prefix=EMPTY
13
14
15ARMV7: ---
16ARMV7-NOT: ...
17ARMV7: triple:          'thumbv7-apple-darwin'
18ARMV7-NOT: ...
19ARMV7: sym: _armv7_var
20ARMV7-NOT: ---
21
22ARMV7S: ---
23ARMV7S-NOT: ...
24ARMV7S: triple:          'thumbv7s-apple-darwin'
25ARMV7S-NOT: ...
26ARMV7S: sym: _armv7s_var
27ARMV7S-NOT: ---
28
29ARM64: ---
30ARM64-NOT: ...
31ARM64: triple:          'arm64-apple-darwin'
32ARM64-NOT: ...
33ARM64: sym: _arm64_var
34ARM64-NOT: ---
35
36CHECK: ...
37
38BADARCH: error: Unsupported cpu architecture: 'arm42'
39EMPTY: error: no architecture to link
40