diff mbox

[testsuite] Skip tail call tests on Thumb-1 targets

Message ID 2601986.QZc99cPl7b@e108577-lin
State New
Headers show

Commit Message

Thomas Preudhomme May 25, 2016, 5:20 p.m. UTC
Hi,

The sibcall_epilogue expand in arm.md is only defined for TARGET_32BIT targets 
and thus is not defined for TARGET_THUMB1 targets. As a result, tail call 
plugin tests fail with "cannot tail-call: machine description does not have a 
sibcall_epilogue instruction pattern". This patch skip these tests on Thumb-1 
since these are expected to fail.

ChangeLog entry is as follows:

*** gcc/testsuite/ChangeLog ***

2016-05-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        * gcc.dg/plugin/plugin.exp: skip tail call tests for Thumb-1.




Is this ok for trunk?

Best regards,

Thomas

Comments

Mike Stump May 25, 2016, 6:38 p.m. UTC | #1
On May 25, 2016, at 10:20 AM, Thomas Preudhomme <thomas.preudhomme@foss.arm.com> wrote:
> 
> 2016-05-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
> 
>        * gcc.dg/plugin/plugin.exp: skip tail call tests for Thumb-1.


> Is this ok for trunk?

Ok.  Normally I'd just punt to the arm folks. Better to Cc them on the patch.  I watch all the changes to the .exp files, and will scream if something seems to be going wrong.
diff mbox

Patch

diff --git a/gcc/testsuite/gcc.dg/plugin/plugin.exp 
b/gcc/testsuite/gcc.dg/plugin/plugin.exp
index 62f6797..321b4ba 100644
--- a/gcc/testsuite/gcc.dg/plugin/plugin.exp
+++ b/gcc/testsuite/gcc.dg/plugin/plugin.exp
@@ -90,6 +90,12 @@  foreach plugin_test $plugin_test_list {
     if ![runtest_file_p $runtests $plugin_src] then {
         continue
     }
+    # Skip tail call tests on targets that do not have sibcall_epilogue.
+    if {[regexp ".*must_tail_call_plugin.c" $plugin_src]
+	&& [istarget arm*-*-*]
+	&& [check_effective_target_arm_thumb1]} then {
+	continue
+    }
     set plugin_input_tests [lreplace $plugin_test 0 0]
     plugin-test-execute $plugin_src $plugin_input_tests
 }