xref: /llvm-project/clang/test/Driver/aarch64-multilib-rcpc3.c (revision f1ec45a0b0b14d9eb41d32be98f1437b8d1d322d)
1 // RUN: %clang --target=aarch64-none-elf -march=armv8.9-a+rcpc3 -print-multi-flags-experimental -multi-lib-config=%S/Inputs/multilib/empty.yaml -c %s 2>&1 | FileCheck %s
2 
3 // The purpose of this regression test is to make sure that when
4 // compile options are converted into multilib selection flags, no
5 // empty strings are accidentally included in the
6 // -march=armv8.9-a+foo+bar+baz string, leading to two consecutive +
7 // signs. With +rcpc3 in the input, this used to generate an empty
8 // string for the anonymous architecture extension corresponding to
9 // the SubtargetFeature 'rcpc-immo', which is a dependency of rcpc3
10 // but has no separate extension name for use on command lines. So we
11 // check that the two named rcpc options appear, and that no ++
12 // appears before or after.
13 
14 // CHECK: -march=armv8.9-a
15 // CHECK-NOT: ++
16 // CHECK-SAME: +rcpc+rcpc3+
17 // CHECK-NOT: ++
18