Index: devel/llvm90/Makefile =================================================================== --- devel/llvm90/Makefile +++ devel/llvm90/Makefile @@ -2,7 +2,7 @@ PORTNAME= llvm DISTVERSION= 9.0.1 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= devel lang MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION}/ PKGNAMESUFFIX= ${LLVM_SUFFIX} Index: devel/llvm90/files/clang/patch-D77776 =================================================================== --- /dev/null +++ devel/llvm90/files/clang/patch-D77776 @@ -0,0 +1,42 @@ +[Driver] Default to libc++ on FreeBSD + +Downstream may naively translate between DSL and LLVM target +triple. If OS version is lost in the process then Clang would +default to a version that's no longer supported by OS vendor. + +https://reviews.llvm.org/D77776 + +--- tools/clang/lib/Driver/ToolChains/FreeBSD.cpp.orig 2019-12-11 19:15:30 UTC ++++ tools/clang/lib/Driver/ToolChains/FreeBSD.cpp +@@ -351,7 +351,8 @@ FreeBSD::FreeBSD(const Driver &D, const llvm::Triple & + } + + ToolChain::CXXStdlibType FreeBSD::GetDefaultCXXStdlibType() const { +- if (getTriple().getOSMajorVersion() >= 10) ++ unsigned Major = getTriple().getOSMajorVersion(); ++ if (Major >= 10 || Major == 0) + return ToolChain::CST_Libcxx; + return ToolChain::CST_Libstdcxx; + } +--- tools/clang/test/Driver/freebsd.cpp.orig 2019-12-11 19:15:30 UTC ++++ tools/clang/test/Driver/freebsd.cpp +@@ -1,13 +1,19 @@ ++// RUN: %clangxx %s -### -o %t.o -target amd64-unknown-freebsd -stdlib=platform 2>&1 \ ++// RUN: | FileCheck --check-prefix=CHECK-DEFAULT %s + // RUN: %clangxx %s -### -o %t.o -target amd64-unknown-freebsd10.0 -stdlib=platform 2>&1 \ + // RUN: | FileCheck --check-prefix=CHECK-TEN %s + // RUN: %clangxx %s -### -o %t.o -target amd64-unknown-freebsd9.2 -stdlib=platform 2>&1 \ + // RUN: | FileCheck --check-prefix=CHECK-NINE %s ++// CHECK-DEFAULT: "-lc++" "-lm" + // CHECK-TEN: "-lc++" "-lm" + // CHECK-NINE: "-lstdc++" "-lm" + ++// RUN: %clangxx %s -### -pg -o %t.o -target amd64-unknown-freebsd -stdlib=platform 2>&1 \ ++// RUN: | FileCheck --check-prefix=CHECK-PG-DEFAULT %s + // RUN: %clangxx %s -### -pg -o %t.o -target amd64-unknown-freebsd10.0 -stdlib=platform 2>&1 \ + // RUN: | FileCheck --check-prefix=CHECK-PG-TEN %s + // RUN: %clangxx %s -### -pg -o %t.o -target amd64-unknown-freebsd9.2 -stdlib=platform 2>&1 \ + // RUN: | FileCheck --check-prefix=CHECK-PG-NINE %s ++// CHECK-PG-DEFAULT: "-lc++_p" "-lm_p" + // CHECK-PG-TEN: "-lc++_p" "-lm_p" + // CHECK-PG-NINE: "-lstdc++_p" "-lm_p"