Add regression test for #15536.
diff --git a/test cases/unit/135 lang regression/intlib.cpp b/test cases/unit/135 lang regression/intlib.cpp
new file mode 100644
index 0000000..1633fa1
--- /dev/null
+++ b/test cases/unit/135 lang regression/intlib.cpp
@@ -0,0 +1,15 @@
+#include <cstdio>
+
+#if defined _WIN32
+
+extern "C" int __declspec(dllimport) pcre2_function();
+
+#else
+
+extern "C" int pcre2_function();
+
+#endif
+
+int internal_function() {
+    return pcre2_function();
+}
diff --git a/test cases/unit/135 lang regression/meson.build b/test cases/unit/135 lang regression/meson.build
new file mode 100644
index 0000000..647cb9f
--- /dev/null
+++ b/test cases/unit/135 lang regression/meson.build
@@ -0,0 +1,9 @@
+project('depfallback', 'cpp')
+
+dep = dependency('pcre2')
+
+lib = static_library('intlib', 'intlib.cpp',
+  dependencies: dep)
+
+executable('p2test', 'p2test.cpp',
+  link_with: lib)
diff --git a/test cases/unit/135 lang regression/p2test.cpp b/test cases/unit/135 lang regression/p2test.cpp
new file mode 100644
index 0000000..85478b2
--- /dev/null
+++ b/test cases/unit/135 lang regression/p2test.cpp
@@ -0,0 +1,7 @@
+#include<cstdio>
+
+int internal_function();
+
+int main() {
+    return internal_function();
+}
diff --git a/test cases/unit/135 lang regression/subprojects/pcre2/meson.build b/test cases/unit/135 lang regression/subprojects/pcre2/meson.build
new file mode 100644
index 0000000..2868eb5
--- /dev/null
+++ b/test cases/unit/135 lang regression/subprojects/pcre2/meson.build
@@ -0,0 +1,7 @@
+project('pcre2', 'c')
+
+pcre2_lib = shared_library('pcre2', 'pcre.c')
+
+pcre2_dep = declare_dependency(link_with: pcre2_lib)
+
+meson.override_dependency('pcre2', pcre2_dep)
diff --git a/test cases/unit/135 lang regression/subprojects/pcre2/pcre.c b/test cases/unit/135 lang regression/subprojects/pcre2/pcre.c
new file mode 100644
index 0000000..8acf747
--- /dev/null
+++ b/test cases/unit/135 lang regression/subprojects/pcre2/pcre.c
@@ -0,0 +1,11 @@
+#include<stdlib.h>
+
+#ifdef _WIN32
+
+int __declspec(dllexport) pcre2_function();
+
+#endif
+
+int pcre2_function() {
+    return 0;
+}
diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py
index 13cf964..98d8aa6 100644
--- a/unittests/allplatformstests.py
+++ b/unittests/allplatformstests.py
@@ -5597,3 +5597,6 @@
         output = entry['output']
 
         self.build(output, extra_args=['-j1'])
+
+    def test_link_language_in_subproject(self) -> None:
+        self.init(os.path.join(self.unit_test_dir, '135 lang regression'), extra_args=['-Dforce_fallback_for=pcre2'])