1 /// Alternative mapping symbol scheme for AArch64. 2 // RUN: %clang -### -c --target=aarch64 -Wa,-mmapsyms=implicit %s -Werror 2>&1 | FileCheck %s 3 // RUN: %clang -### -c --target=aarch64_be -Wa,-mmapsyms=implicit %s -Werror 2>&1 | FileCheck %s 4 // RUN: %clang -### -c --target=aarch64 -Wa,-mmapsyms=implicit,-mmapsyms=default %s -Werror 2>&1 | FileCheck %s --check-prefix=NO 5 // RUN: not %clang -### -c --target=arm64-apple-darwin -Wa,-mmapsyms=implicit %s 2>&1 | FileCheck %s --check-prefix=ERR 6 // RUN: not %clang -### -c --target=x86_64 -Wa,-mmapsyms=implicit %s 2>&1 | FileCheck %s --check-prefix=ERR2 7 8 // RUN: %clang -### -c --target=aarch64 -Werror -Wa,-mmapsyms=implicit -x assembler %s -Werror 2>&1 | FileCheck %s --check-prefix=ASM 9 // RUN: not %clang -### -c --target=x86_64 -Wa,-mmapsyms=implicit -x assembler %s 2>&1 | FileCheck %s --check-prefix=ERR2 10 11 // CHECK: "-cc1" {{.*}}"-mmapsyms=implicit" 12 // NO: "-cc1" 13 // NO-NOT: "-mmapsyms=implicit" 14 // ASM: "-cc1as" {{.*}}"-mmapsyms=implicit" 15 // ERR: error: unsupported option '-Wa,-mmapsyms=' for target 'arm64-apple-darwin' 16 // ERR2: error: unsupported argument '-mmapsyms=implicit' to option '-Wa,' 17 18 /// Check LTO. 19 // RUN: %clang -### --target=aarch64-linux -Werror -flto -Wa,-mmapsyms=implicit %s 2>&1 | FileCheck %s --check-prefix=LTO 20 // RUN: %clang -### --target=aarch64-linux -Werror -flto -Wa,-mmapsyms=implicit -Wa,-mmapsyms=default %s 2>&1 | FileCheck %s --check-prefix=LTO-NO 21 22 // LTO: "-plugin-opt=-implicit-mapsyms" 23 // LTO-NO-NOT: "-plugin-opt=-implicit-mapsyms" 24 25 // RUN: touch %t.o 26 // RUN: not %clang -### --target=x86_64-unknown-linux -flto -Wa,-mmapsyms=implicit %t.o 2>&1 | FileCheck %s --check-prefix=LTO-ERR 27 28 // LTO-ERR: error: unsupported option '-Wa,-mmapsyms=' for target 'x86_64-unknown-linux' 29