diff --git a/var/spack/repos/builtin/packages/flang/package.py b/var/spack/repos/builtin/packages/flang/package.py
index f0f49ae5068445db3746ae92244117c1ddd093a7..4fd754eab355abdcb2a326623ce60830d75ebc8c 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 99948fd76f443f2dc661fd8bb5a34432e4c08a84..d5b937016992140a702bbb3254e7c470035a517e 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')