diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2022-07-19 15:42:17 +0200 |
---|---|---|
committer | Thomas Schwinge <tschwinge@baylibre.com> | 2025-03-26 14:20:20 +0100 |
commit | 3b36e96b575b493a21510c877b273608113108ed (patch) | |
tree | 90aa85184da86d3e019b45835a7c69959999db79 /gcc | |
parent | bf1aca4a2a5b68ac731d2a0c966f335e7bc0df2c (diff) | |
download | gcc-3b36e96b575b493a21510c877b273608113108ed.zip gcc-3b36e96b575b493a21510c877b273608113108ed.tar.gz gcc-3b36e96b575b493a21510c877b273608113108ed.tar.bz2 |
driver: Forward '-lstdc++' to offloading compilation [PR101544]
..., so that users don't manually need to specify '-foffload-options=-lstdc++'
in addition to '-lstdc++' (specified manually, or implicitly by the driver).
Do like commit 4bcb46b3ade1796c5a57b294f5cca25f00671cac
"driver: Forward '-lgfortran', '-lm' to offloading compilation".
PR driver/101544
gcc/
* gcc.cc (driver_handle_option): Forward host '-lstdc++' to
offloading compilation.
* config/gcn/mkoffload.cc (main): Adjust.
* config/nvptx/mkoffload.cc (main): Likewise.
libgomp/
* testsuite/libgomp.c++/pr101544-1-O0.C: Remove
'-foffload-options=-lstdc++'.
* testsuite/libgomp.c++/pr101544-1.C: Likewise.
* testsuite/libgomp.oacc-c++/pr101544-1.C: Likewise.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/gcn/mkoffload.cc | 3 | ||||
-rw-r--r-- | gcc/config/nvptx/mkoffload.cc | 3 | ||||
-rw-r--r-- | gcc/gcc.cc | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/gcn/mkoffload.cc b/gcc/config/gcn/mkoffload.cc index fbd68a6..f5b89c9 100644 --- a/gcc/config/gcn/mkoffload.cc +++ b/gcc/config/gcn/mkoffload.cc @@ -1070,7 +1070,8 @@ main (int argc, char **argv) #undef STR /* Translate host into offloading libraries. */ else if (strcmp (argv[i], "-l_GCC_gfortran") == 0 - || strcmp (argv[i], "-l_GCC_m") == 0) + || strcmp (argv[i], "-l_GCC_m") == 0 + || strcmp (argv[i], "-l_GCC_stdc++") == 0) { /* Elide '_GCC_'. */ size_t i_dst = strlen ("-l"); diff --git a/gcc/config/nvptx/mkoffload.cc b/gcc/config/nvptx/mkoffload.cc index 958e16f..bdfe7f5 100644 --- a/gcc/config/nvptx/mkoffload.cc +++ b/gcc/config/nvptx/mkoffload.cc @@ -741,7 +741,8 @@ main (int argc, char **argv) dumppfx = argv[++i]; /* Translate host into offloading libraries. */ else if (strcmp (argv[i], "-l_GCC_gfortran") == 0 - || strcmp (argv[i], "-l_GCC_m") == 0) + || strcmp (argv[i], "-l_GCC_m") == 0 + || strcmp (argv[i], "-l_GCC_stdc++") == 0) { /* Elide '_GCC_'. */ size_t i_dst = strlen ("-l"); @@ -4154,7 +4154,8 @@ forward_offload_option (size_t opt_index, const char *arg, bool validated) are injected by default in offloading compilation, and therefore not forwarded here. */ /* GCC libraries. */ - if (/* '-lgfortran' */ strcmp (arg, "gfortran") == 0 ) + if (/* '-lgfortran' */ strcmp (arg, "gfortran") == 0 + || /* '-lstdc++' */ strcmp (arg, "stdc++") == 0) save_switch (concat ("-foffload-options=-l_GCC_", arg, NULL), 0, NULL, validated, true); /* Other libraries. */ |