[PATCH] tools build: Fix clang detection with clang >= 8.0

From: Matthew Dawson
Date: Tue Aug 13 2019 - 01:16:14 EST


The 8.0 release of clang/llvm moved the VirtualFileSystem.h header
to from clang to llvm. This change causes a compile error, causing
perf to not detect clang/llvm.

Fix by including the right header for the different versions of llvm,
using the older header for llvm < 8, and the new header for llvm >= 8.

Signed-off-by: Matthew Dawson <matthew@xxxxxxxxxxxxx>
---
tools/build/feature/test-clang.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/build/feature/test-clang.cpp b/tools/build/feature/test-clang.cpp
index a2b3f092d2f0..313ef1568880 100644
--- a/tools/build/feature/test-clang.cpp
+++ b/tools/build/feature/test-clang.cpp
@@ -1,10 +1,14 @@
// SPDX-License-Identifier: GPL-2.0
-#include "clang/Basic/VirtualFileSystem.h"
#include "clang/Driver/Driver.h"
#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/raw_ostream.h"
+#if LLVM_VERSION_MAJOR >= 8
+#include "llvm/Support/VirtualFileSystem.h"
+#else
+#include "clang/Basic/VirtualFileSystem.h"
+#endif

using namespace clang;
using namespace clang::driver;
--
2.21.0