From 8b515f3ba07d6a67e8a75c506a2d5d4816a73fa6 Mon Sep 17 00:00:00 2001
From: Dr Owain Kenway <o.kenway@ucl.ac.uk>
Date: Thu, 30 Jul 2020 13:55:16 +0100
Subject: [PATCH] flang: make sure to find libstdc++ if needed (#17480)

---
 var/spack/repos/builtin/packages/flang/package.py      | 5 +++++
 var/spack/repos/builtin/packages/llvm-flang/package.py | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/var/spack/repos/builtin/packages/flang/package.py b/var/spack/repos/builtin/packages/flang/package.py
index f0f49ae506..4fd754eab3 100644
--- a/var/spack/repos/builtin/packages/flang/package.py
+++ b/var/spack/repos/builtin/packages/flang/package.py
@@ -71,6 +71,11 @@ def cmake_args(self):
                 spec['python'].command.path)
         ]
 
+        # Make sure llvm-flang can find GCC's libstdc++
+        if self.compiler.name == "gcc":
+            gcc_prefix = ancestor(self.compiler.cc, 2)
+            options.append('-DGCC_INSTALL_PREFIX=' + gcc_prefix)
+
         if '+cuda' in spec:
             options.append('-DFLANG_OPENMP_GPU_NVIDIA=ON')
         else:
diff --git a/var/spack/repos/builtin/packages/llvm-flang/package.py b/var/spack/repos/builtin/packages/llvm-flang/package.py
index 99948fd76f..d5b9370169 100644
--- a/var/spack/repos/builtin/packages/llvm-flang/package.py
+++ b/var/spack/repos/builtin/packages/llvm-flang/package.py
@@ -195,6 +195,11 @@ def cmake_args(self):
         args.append('-DLIBOMP_FORTRAN_MODULES=ON')
         args.append('-DLIBOMP_ENABLE_SHARED=TRUE')
 
+        # Make sure llvm-flang can find GCC's libstdc++
+        if self.compiler.name == "gcc":
+            gcc_prefix = ancestor(self.compiler.cc, 2)
+            args.append('-DGCC_INSTALL_PREFIX=' + gcc_prefix)
+
         # used by libomptarget for NVidia gpu
         if '+cuda' in spec:
             args.append('-DOPENMP_ENABLE_LIBOMPTARGET=ON')
-- 
GitLab