
The experimental-library-flag.cpp test was failing on FreeBSD builders, which turned to be caused by missing support for -stdlib=libcstdc++ (and just using a hardcoded libc++ in all cases). Simplify FreeBSD::AddCXXStdlibLibArgs() by deferring to the parent class and dealing with the FreeSBD < 14 profiling support as a special case. While touching the test file also drop the unnecessary `-o %t.o`. This is not needed since the RUN lines use -### and don't produce any output. Reviewed By: DimitryAndric, MaskRay Pull Request: https://github.com/llvm/llvm-project/pull/126302
41 lines
2.1 KiB
C++
41 lines
2.1 KiB
C++
// RUN: %clangxx %s -### --target=amd64-unknown-freebsd -stdlib=platform 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-DEFAULT %s
|
|
// RUN: %clangxx %s -### --target=amd64-unknown-freebsd10.0 -stdlib=platform 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-DEFAULT %s
|
|
// RUN: %clangxx %s -### --target=amd64-unknown-freebsd -stdlib=libc++ 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-DEFAULT %s
|
|
// RUN: %clangxx %s -### --target=amd64-unknown-freebsd -stdlib=libstdc++ 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-STDLIBCXX %s
|
|
// CHECK-DEFAULT: "-lc++" "-lm"
|
|
// CHECK-STDLIBCXX: "-lstdc++" "-lm"
|
|
|
|
// RUN: %clangxx %s -### -pg --target=amd64-unknown-freebsd -stdlib=platform 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-PG-DEFAULT %s
|
|
// RUN: %clangxx %s -### -pg --target=amd64-unknown-freebsd14.0 -stdlib=platform 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-PG-FOURTEEN %s
|
|
// RUN: %clangxx %s -### -pg --target=amd64-unknown-freebsd10.0 -stdlib=platform 2>&1 \
|
|
// RUN: | FileCheck --check-prefix=CHECK-PG-TEN %s
|
|
// CHECK-PG-DEFAULT: "-lc++" "-lm"
|
|
// CHECK-PG-FOURTEEN: "-lc++" "-lm"
|
|
// CHECK-PG-TEN: "-lc++_p" "-lm_p"
|
|
|
|
// Test include paths with a sysroot.
|
|
// RUN: %clangxx %s -### -fsyntax-only 2>&1 \
|
|
// RUN: --target=amd64-unknown-freebsd \
|
|
// RUN: --sysroot=%S/Inputs/basic_openbsd_libcxx_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-LIBCXX-SYSROOT %s
|
|
// CHECK-LIBCXX-SYSROOT: "-cc1"
|
|
// CHECK-LIBCXX-SYSROOT-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// CHECK-LIBCXX-SYSROOT-SAME: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v1"
|
|
|
|
// Test include paths when the sysroot path ends with `/`.
|
|
// RUN: %clangxx %s -### -fsyntax-only 2>&1 \
|
|
// RUN: --target=amd64-unknown-freebsd \
|
|
// RUN: --sysroot=%S/Inputs/basic_openbsd_libcxx_tree/ \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-LIBCXX-SYSROOT-SLASH %s
|
|
// CHECK-LIBCXX-SYSROOT-SLASH: "-cc1"
|
|
// CHECK-LIBCXX-SYSROOT-SLASH-SAME: "-isysroot" "[[SYSROOT:[^"]+/]]"
|
|
// CHECK-LIBCXX-SYSROOT-SLASH-SAME: "-internal-isystem" "[[SYSROOT]]usr/include/c++/v1"
|