From 2ea275d5806d45a6ec53cef86de66cf8d6367a00 Mon Sep 17 00:00:00 2001
From: "Wen-Heng (Jack) Chung" <whchung@gmail.com>
Date: Wed, 21 Aug 2019 17:42:13 +0000
Subject: [PATCH] [ROCm] add Clang 10-based header files into bazel scripts.

---
 third_party/gpus/rocm_configure.bzl                      | 5 +++++
 .../toolchains/preconfig/ubuntu16.04/gcc5-rocm/BUILD     | 9 +++++++++
 2 files changed, 14 insertions(+)

diff --git a/third_party/gpus/rocm_configure.bzl b/third_party/gpus/rocm_configure.bzl
index a15335fa5b2..9b4a1d7b6d3 100644
--- a/third_party/gpus/rocm_configure.bzl
+++ b/third_party/gpus/rocm_configure.bzl
@@ -186,6 +186,7 @@ def _rocm_include_path(repository_ctx, rocm_config):
     # Add HIP-Clang headers
     inc_dirs.append("/opt/rocm/llvm/lib/clang/8.0/include")
     inc_dirs.append("/opt/rocm/llvm/lib/clang/9.0.0/include")
+    inc_dirs.append("/opt/rocm/llvm/lib/clang/10.0.0/include")
 
     # Add rocrand and hiprand headers
     inc_dirs.append("/opt/rocm/rocrand/include")
@@ -213,6 +214,10 @@ def _rocm_include_path(repository_ctx, rocm_config):
     inc_dirs.append("/opt/rocm/hcc/compiler/lib/clang/9.0.0/include/")
     inc_dirs.append("/opt/rocm/hcc/lib/clang/9.0.0/include")
 
+    # Support hcc based off clang 10.0.0, included in ROCm2.8
+    inc_dirs.append("/opt/rocm/hcc/compiler/lib/clang/10.0.0/include/")
+    inc_dirs.append("/opt/rocm/hcc/lib/clang/10.0.0/include")
+
     return inc_dirs
 
 def _enable_rocm(repository_ctx):
diff --git a/third_party/toolchains/preconfig/ubuntu16.04/gcc5-rocm/BUILD b/third_party/toolchains/preconfig/ubuntu16.04/gcc5-rocm/BUILD
index 28b9ef6dfe6..dcfaf20bedd 100755
--- a/third_party/toolchains/preconfig/ubuntu16.04/gcc5-rocm/BUILD
+++ b/third_party/toolchains/preconfig/ubuntu16.04/gcc5-rocm/BUILD
@@ -72,6 +72,7 @@ cc_toolchain_config(
         "/opt/rocm/hip/include",
         "/opt/rocm/llvm/lib/clang/8.0/include",
         "/opt/rocm/llvm/lib/clang/9.0.0/include",
+        "/opt/rocm/llvm/lib/clang/10.0.0/include",
         "/opt/rocm/rocrand/include",
         "/opt/rocm/hiprand/include",
         "/opt/rocm/rocfft/include",
@@ -85,6 +86,8 @@ cc_toolchain_config(
         "/opt/rocm/hcc/lib/clang/8.0.0/include",
         "/opt/rocm/hcc/compiler/lib/clang/9.0.0/include/",
         "/opt/rocm/hcc/lib/clang/9.0.0/include",
+        "/opt/rocm/hcc/compiler/lib/clang/10.0.0/include/",
+        "/opt/rocm/hcc/lib/clang/10.0.0/include",
     ],
     cpu = "local",
     extra_no_canonical_prefixes_flags = ["-fno-canonical-system-headers"],
@@ -133,6 +136,7 @@ cc_toolchain_config(
         "/opt/rocm/hip/include",
         "/opt/rocm/llvm/lib/clang/8.0/include",
         "/opt/rocm/llvm/lib/clang/9.0.0/include",
+        "/opt/rocm/llvm/lib/clang/10.0.0/include",
         "/opt/rocm/rocrand/include",
         "/opt/rocm/hiprand/include",
         "/opt/rocm/rocfft/include",
@@ -146,6 +150,8 @@ cc_toolchain_config(
         "/opt/rocm/hcc/lib/clang/8.0.0/include",
         "/opt/rocm/hcc/compiler/lib/clang/9.0.0/include/",
         "/opt/rocm/hcc/lib/clang/9.0.0/include",
+        "/opt/rocm/hcc/compiler/lib/clang/10.0.0/include/",
+        "/opt/rocm/hcc/lib/clang/10.0.0/include",
     ],
     cpu = "darwin",
     extra_no_canonical_prefixes_flags = ["-fno-canonical-system-headers"],
@@ -194,6 +200,7 @@ cc_toolchain_config(
         "/opt/rocm/hip/include",
         "/opt/rocm/llvm/lib/clang/8.0/include",
         "/opt/rocm/llvm/lib/clang/9.0.0/include",
+        "/opt/rocm/llvm/lib/clang/10.0.0/include",
         "/opt/rocm/rocrand/include",
         "/opt/rocm/hiprand/include",
         "/opt/rocm/rocfft/include",
@@ -207,6 +214,8 @@ cc_toolchain_config(
         "/opt/rocm/hcc/lib/clang/8.0.0/include",
         "/opt/rocm/hcc/compiler/lib/clang/9.0.0/include/",
         "/opt/rocm/hcc/lib/clang/9.0.0/include",
+        "/opt/rocm/hcc/compiler/lib/clang/10.0.0/include/",
+        "/opt/rocm/hcc/lib/clang/10.0.0/include",
     ],
     cpu = "x64_windows",
     msvc_cl_path = "msvc_not_used",