From: Jakub Jelinek Date: Mon, 7 Nov 2016 13:07:32 +0000 (+0100) Subject: re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a98152285e49156026d0b70bacfe562a6f9d3ac2;p=gcc.git re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1) PR middle-end/71529 * gcc.target/i386/pr71529.C: Moved to ... * g++.dg/opt/pr71529.C: ... here. New test. Guard for i?86/x86_64. PR target/64411 * gcc.target/i386/pr64411.C: Moved to ... * g++.dg/opt/pr64411.C: ... here. New test. Guard for i?86/x86_64 lp64. PR target/65105 * gcc.target/i386/pr65105-4.C: Moved to ... * g++.dg/opt/pr65105-4.C: ... here. New test. Guard for i?86/x86_64. Run into compile test rather than execute test. From-SVN: r241903 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 06798a9a176..716e6e23500 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,19 @@ +2016-11-07 Jakub Jelinek + + PR middle-end/71529 + * gcc.target/i386/pr71529.C: Moved to ... + * g++.dg/opt/pr71529.C: ... here. New test. Guard for i?86/x86_64. + + PR target/64411 + * gcc.target/i386/pr64411.C: Moved to ... + * g++.dg/opt/pr64411.C: ... here. New test. Guard for i?86/x86_64 + lp64. + + PR target/65105 + * gcc.target/i386/pr65105-4.C: Moved to ... + * g++.dg/opt/pr65105-4.C: ... here. New test. Guard for i?86/x86_64. + Run into compile test rather than execute test. + 2016-11-07 Richard Biener PR target/78229 diff --git a/gcc/testsuite/g++.dg/opt/pr64411.C b/gcc/testsuite/g++.dg/opt/pr64411.C new file mode 100644 index 00000000000..122b9eec414 --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/pr64411.C @@ -0,0 +1,28 @@ +// PR target/64411 +// { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } +// { dg-options "-Os -mcmodel=medium -fPIC -fschedule-insns -fselective-scheduling" } + +typedef __SIZE_TYPE__ size_t; + +extern "C" long strtol () + { return 0; } + +static struct { + void *sp[2]; +} info; + +union S813 +{ + void * c[5]; +} +s813; + +S813 a813[5]; +S813 check813 (S813, S813 *, S813); + +void checkx813 () +{ + __builtin_memset (&s813, '\0', sizeof (s813)); + __builtin_memset (&info, '\0', sizeof (info)); + check813 (s813, &a813[1], a813[2]); +} diff --git a/gcc/testsuite/g++.dg/opt/pr65105-4.C b/gcc/testsuite/g++.dg/opt/pr65105-4.C new file mode 100644 index 00000000000..d79ba1abab0 --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/pr65105-4.C @@ -0,0 +1,19 @@ +// PR target/65105 +// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } +// { dg-options "-O2 -march=slm" } + +struct s { + long long l1, l2, l3, l4, l5; +} *a; +long long b; +long long fn1() +{ + try + { + b = (a->l1 | a->l2 | a->l3 | a->l4 | a->l5); + return a->l1; + } + catch (int) + { + } +} diff --git a/gcc/testsuite/g++.dg/opt/pr71529.C b/gcc/testsuite/g++.dg/opt/pr71529.C new file mode 100644 index 00000000000..148527f00c4 --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/pr71529.C @@ -0,0 +1,22 @@ +// PR middle-end/71529 +// { dg-do compile { target { { i?86-*-* x86_64-*-* } && { ! x32 } } } } +// { dg-options "-fcheck-pointer-bounds -mmpx -O2" } + +class c1 +{ + public: + virtual ~c1 (); +}; + +class c2 +{ + public: + virtual ~c2 (); +}; + +class c3 : c1, c2 { }; + +int main (int, char **) +{ + c3 obj; +} diff --git a/gcc/testsuite/gcc.target/i386/pr64411.C b/gcc/testsuite/gcc.target/i386/pr64411.C deleted file mode 100644 index 55858fb48eb..00000000000 --- a/gcc/testsuite/gcc.target/i386/pr64411.C +++ /dev/null @@ -1,27 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Os -mcmodel=medium -fPIC -fschedule-insns -fselective-scheduling" } */ - -typedef __SIZE_TYPE__ size_t; - -extern "C" long strtol () - { return 0; } - -static struct { - void *sp[2]; -} info; - -union S813 -{ - void * c[5]; -} -s813; - -S813 a813[5]; -S813 check813 (S813, S813 *, S813); - -void checkx813 () -{ - __builtin_memset (&s813, '\0', sizeof (s813)); - __builtin_memset (&info, '\0', sizeof (info)); - check813 (s813, &a813[1], a813[2]); -} diff --git a/gcc/testsuite/gcc.target/i386/pr65105-4.C b/gcc/testsuite/gcc.target/i386/pr65105-4.C deleted file mode 100644 index 9acf368e1fc..00000000000 --- a/gcc/testsuite/gcc.target/i386/pr65105-4.C +++ /dev/null @@ -1,19 +0,0 @@ -/* PR target/pr65105 */ -/* { dg-do run { target { ia32 } } } */ -/* { dg-options "-O2 -march=slm" } */ - -struct s { - long long l1, l2, l3, l4, l5; -} *a; -long long b; -long long fn1() -{ - try - { - b = (a->l1 | a->l2 | a->l3 | a->l4 | a->l5); - return a->l1; - } - catch (int) - { - } -} diff --git a/gcc/testsuite/gcc.target/i386/pr71529.C b/gcc/testsuite/gcc.target/i386/pr71529.C deleted file mode 100644 index 3169101e1a7..00000000000 --- a/gcc/testsuite/gcc.target/i386/pr71529.C +++ /dev/null @@ -1,22 +0,0 @@ -/* PR71529 */ -/* { dg-do compile { target { ! x32 } } } */ -/* { dg-options "-fcheck-pointer-bounds -mmpx -O2" } */ - -class c1 -{ - public: - virtual ~c1 (); -}; - -class c2 -{ - public: - virtual ~c2 (); -}; - -class c3 : c1, c2 { }; - -int main (int, char **) -{ - c3 obj; -}