From: Toma Tabacu Date: Thu, 9 Mar 2017 15:04:31 +0000 (+0000) Subject: Add check_effective_target_rdynamic and use it in g++.dg/lto/pr69589_0.C. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1f1fd3e2721cf68b2fe8b9516f260aee89872f60;p=gcc.git Add check_effective_target_rdynamic and use it in g++.dg/lto/pr69589_0.C. gcc/ * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): Document rdynamic. gcc/testsuite/ * g++.dg/lto/pr69589_0.C: Add dg-require-effective-target for rdynamic. Remove dg-skip-if for targets which don't support -rdynamic. * lib/target-supports.exp (check_effective_target_rdynamic): New proc. From-SVN: r246004 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7c0bb715984..901d0a45033 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-03-09 Toma Tabacu + + * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): + Document rdynamic. + 2017-03-09 Vladimir Makarov PR rtl-optimization/79949 diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index da17ff67591..84d9a22ccf7 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -2068,6 +2068,9 @@ Target supports @option{-mpe-aligned-commons}. @item pie Target supports @option{-pie}, @option{-fpie} and @option{-fPIE}. +@item rdynamic +Target supports @option{-rdynamic}. + @item section_anchors Target supports section anchors. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3e7e15760b7..deb6f639259 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2017-03-09 Toma Tabacu + + * g++.dg/lto/pr69589_0.C: Add dg-require-effective-target for + rdynamic. Remove dg-skip-if for targets which don't support -rdynamic. + * lib/target-supports.exp (check_effective_target_rdynamic): + New proc. + 2017-03-09 Richard Biener PR middle-end/79971 diff --git a/gcc/testsuite/g++.dg/lto/pr69589_0.C b/gcc/testsuite/g++.dg/lto/pr69589_0.C index 11766f1fe07..599d5d44960 100644 --- a/gcc/testsuite/g++.dg/lto/pr69589_0.C +++ b/gcc/testsuite/g++.dg/lto/pr69589_0.C @@ -1,7 +1,7 @@ // { dg-lto-do link } // { dg-lto-options "-O2 -rdynamic" } // { dg-extra-ld-options "-r -nostdlib" } -// { dg-skip-if "Skip targets without -rdynamic support" { arm*-none-eabi aarch64*-*-elf nios2-*-elf } { "*" } { "" } } +// { dg-require-effective-target rdynamic } #pragma GCC visibility push(hidden) struct A { int &operator[] (long); }; diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index d1639dc6701..43e497b4a8c 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1489,6 +1489,14 @@ proc check_effective_target_static_libgfortran { } { } "-static"] } +# Return 1 if we can use the -rdynamic option, 0 otherwise. + +proc check_effective_target_rdynamic { } { + return [check_no_compiler_messages rdynamic executable { + int main() { return 0; } + } "-rdynamic"] +} + # Return 1 if cilk-plus is supported by the target, 0 otherwise. proc check_effective_target_cilkplus { } {