From 7f050a11fc6a20db7afdd3986dbd8669f3ddb68d Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Sun, 20 Sep 2015 20:07:58 +0200 Subject: [PATCH] re PR middle-end/67619 (ICE at -O1 and above on x86_64-linux-gnu in int_mode_for_mode, at stor-layout.c:425) PR middle-end/67619 * lib/target-supports.exp (check_effective_target_builtin_eh_return): New procedure. From-SVN: r227952 --- gcc/testsuite/ChangeLog | 2 ++ gcc/testsuite/gcc.dg/torture/pr67619.c | 1 + gcc/testsuite/lib/target-supports.exp | 10 ++++++++++ 3 files changed, 13 insertions(+) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 305d6a8e476..5fd91c111ce 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -121,6 +121,8 @@ PR middle-end/67619 * gcc.dg/torture/pr67619.c: New test. + * lib/target-supports.exp (check_effective_target_builtin_eh_return): + New procedure. 2015-09-18 Alan Lawrence diff --git a/gcc/testsuite/gcc.dg/torture/pr67619.c b/gcc/testsuite/gcc.dg/torture/pr67619.c index e441ee97dac..9c6bb6e3171 100644 --- a/gcc/testsuite/gcc.dg/torture/pr67619.c +++ b/gcc/testsuite/gcc.dg/torture/pr67619.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target builtin_eh_return } */ void foo () diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index a465eb153c2..3088369ff0b 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -6449,3 +6449,13 @@ proc check_effective_target_comdat_group {} { int (*fn) () = foo; }] } + +# Return 1 if target supports __builtin_eh_return +proc check_effective_target_builtin_eh_return { } { + return [check_no_compiler_messages builtin_eh_return object { + void test (long l, void *p) + { + __builtin_eh_return (l, p); + } + } "" ] +} -- 2.30.2