From bcee044c4c0e9f12b663f8886f181a7d46acea66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sun, 3 Jul 2016 08:50:42 +0200 Subject: sys-devel/llvm: Fix static analyzer -isystem support, #586168 --- .../llvm/files/clang-3.7.1-ccc-analyzer-isystem.patch | 18 ++++++++++++++++++ sys-devel/llvm/llvm-3.7.1-r3.ebuild | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 sys-devel/llvm/files/clang-3.7.1-ccc-analyzer-isystem.patch (limited to 'sys-devel/llvm') diff --git a/sys-devel/llvm/files/clang-3.7.1-ccc-analyzer-isystem.patch b/sys-devel/llvm/files/clang-3.7.1-ccc-analyzer-isystem.patch new file mode 100644 index 00000000000..78ca922b636 --- /dev/null +++ b/sys-devel/llvm/files/clang-3.7.1-ccc-analyzer-isystem.patch @@ -0,0 +1,18 @@ +https://bugs.gentoo.org/586168 + +Index: tools/clang/tools/scan-build/ccc-analyzer +=================================================================== +--- a/tools/clang/tools/scan-build/ccc-analyzer (revision 250980) ++++ b/tools/clang/tools/scan-build/ccc-analyzer (working copy) +@@ -586,9 +586,9 @@ + } + + # Compile mode flags. +- if ($Arg =~ /^-[D,I,U,isystem](.*)$/) { ++ if ($Arg =~ /^-(D|I|U|isystem)(.*)$/) { + my $Tmp = $Arg; +- if ($1 eq '') { ++ if ($2 eq '') { + # FIXME: Check if we are going off the end. + ++$i; + $Tmp = $Arg . $ARGV[$i]; diff --git a/sys-devel/llvm/llvm-3.7.1-r3.ebuild b/sys-devel/llvm/llvm-3.7.1-r3.ebuild index d134a06e519..5f6e18433df 100644 --- a/sys-devel/llvm/llvm-3.7.1-r3.ebuild +++ b/sys-devel/llvm/llvm-3.7.1-r3.ebuild @@ -189,6 +189,9 @@ src_prepare() { eapply "${FILESDIR}"/clang-3.4-darwin_prefix-include-paths.patch eprefixify tools/clang/lib/Frontend/InitHeaderSearch.cpp + # Fix -isystem support in ccc-analyzer + eapply "${FILESDIR}"/clang-3.7.1-ccc-analyzer-isystem.patch + sed -i -e "s^@EPREFIX@^${EPREFIX}^" \ tools/clang/tools/scan-build/scan-build || die -- cgit v1.2.1