xref: /llvm-project/clang/test/Driver/arm-float-abi-runtime-path.c (revision 12949c952c4fbad776a860c003ccf176973278a0)
1*cd173cbdSDavid Spickett /// Check that libraries built with the per target runtime directory layout
2*cd173cbdSDavid Spickett /// are selected correctly when using variations of Arm triples.
3*cd173cbdSDavid Spickett 
4*cd173cbdSDavid Spickett // RUN: %clang %s --target=arm-unknown-linux-gnueabihf -print-runtime-dir \
5*cd173cbdSDavid Spickett // RUN:        -resource-dir=%S/Inputs/arm_float_abi_runtime_path 2>&1 | FileCheck -check-prefix=ARMHF %s
6*cd173cbdSDavid Spickett /// "armv7l" should be normalised to just "arm".
7*cd173cbdSDavid Spickett // RUN: %clang %s --target=armv7l-unknown-linux-gnueabihf -print-runtime-dir \
8*cd173cbdSDavid Spickett // RUN:        -resource-dir=%S/Inputs/arm_float_abi_runtime_path 2>&1 | FileCheck -check-prefix=ARMHF %s
9*cd173cbdSDavid Spickett 
10*cd173cbdSDavid Spickett // RUN: %clang %s --target=arm-unknown-linux-gnueabi -print-runtime-dir \
11*cd173cbdSDavid Spickett // RUN:        -resource-dir=%S/Inputs/arm_float_abi_runtime_path 2>&1 | FileCheck -check-prefix=ARM %s
12*cd173cbdSDavid Spickett // RUN: %clang %s --target=armv7l-unknown-linux-gnueabi -print-runtime-dir \
13*cd173cbdSDavid Spickett // RUN:        -resource-dir=%S/Inputs/arm_float_abi_runtime_path 2>&1 | FileCheck -check-prefix=ARM %s
14*cd173cbdSDavid Spickett 
15*cd173cbdSDavid Spickett /// armeb triples should be unmodified.
16*cd173cbdSDavid Spickett // RUN: %clang %s --target=armeb-unknown-linux-gnueabihf -print-runtime-dir \
17*cd173cbdSDavid Spickett // RUN:        -resource-dir=%S/Inputs/arm_float_abi_runtime_path 2>&1 | FileCheck -check-prefix=ARMEBHF %s
18*cd173cbdSDavid Spickett // RUN: %clang %s --target=armeb-unknown-linux-gnueabi -print-runtime-dir \
19*cd173cbdSDavid Spickett // RUN:        -resource-dir=%S/Inputs/arm_float_abi_runtime_path 2>&1 | FileCheck -check-prefix=ARMEB %s
20*cd173cbdSDavid Spickett 
21*cd173cbdSDavid Spickett // RUN: %clang %s --target=arm-pc-windows-msvc -print-runtime-dir \
22*cd173cbdSDavid Spickett // RUN:        -resource-dir=%S/Inputs/arm_float_abi_runtime_path 2>&1 | FileCheck -check-prefix=WINDOWS %s
23*cd173cbdSDavid Spickett /// armhf-pc... isn't recognised so just check that the float-abi option is ignored
24*cd173cbdSDavid Spickett // RUN: %clang %s --target=arm-pc-windows-msvc -mfloat-abi=hard -print-runtime-dir \
25*cd173cbdSDavid Spickett // RUN:        -resource-dir=%S/Inputs/arm_float_abi_runtime_path 2>&1 | FileCheck -check-prefix=WINDOWS %s
26*cd173cbdSDavid Spickett 
27*cd173cbdSDavid Spickett // ARMHF:   lib{{/|\\}}arm-unknown-linux-gnueabihf{{$}}
28*cd173cbdSDavid Spickett // ARM:     lib{{/|\\}}arm-unknown-linux-gnueabi{{$}}
29*cd173cbdSDavid Spickett // ARMEBHF: lib{{/|\\}}armeb-unknown-linux-gnueabihf{{$}}
30*cd173cbdSDavid Spickett // ARMEB:   lib{{/|\\}}armeb-unknown-linux-gnueabi{{$}}
31*cd173cbdSDavid Spickett // WINDOWS: lib{{/|\\}}arm-pc-windows-msvc{{$}}
32