summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-07-03 08:50:42 +0200
committerMichał Górny <mgorny@gentoo.org>2016-07-03 09:17:44 +0200
commitbcee044c4c0e9f12b663f8886f181a7d46acea66 (patch)
treebc24e2d73cae2a4584a33b546d2f503631134dcb
parentsys-devel/llvm: Sync and clean up WX section code (diff)
downloadgentoo-bcee044c4c0e9f12b663f8886f181a7d46acea66.tar.gz
gentoo-bcee044c4c0e9f12b663f8886f181a7d46acea66.tar.bz2
gentoo-bcee044c4c0e9f12b663f8886f181a7d46acea66.zip
sys-devel/llvm: Fix static analyzer -isystem support, #586168
-rw-r--r--sys-devel/llvm/files/clang-3.7.1-ccc-analyzer-isystem.patch18
-rw-r--r--sys-devel/llvm/llvm-3.7.1-r3.ebuild3
2 files changed, 21 insertions, 0 deletions
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