On Wed, Feb 23, 2022 at 11:47 PM Alexandre Oliva via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
>
> This problem was already fixed as part of PR104263: the abnormal edge
> that remained from before inlining didn't make sense after inlining.
> So this patch adds only the testcase.
>
> Regstrapped on x86_64-linux-gnu.  Ok to install?

OK.

>
> for  gcc/testsuite/ChangeLog
>
>         PR tree-optimization/103845
>         PR tree-optimization/104263
>         * gcc.dg/pr103845.c: New.
> ---
>  gcc/testsuite/gcc.dg/pr103845.c |   29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>  create mode 100644 gcc/testsuite/gcc.dg/pr103845.c
>
> diff --git a/gcc/testsuite/gcc.dg/pr103845.c b/gcc/testsuite/gcc.dg/pr103845.c
> new file mode 100644
> index 0000000000000..45ab518d07c9a
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/pr103845.c
> @@ -0,0 +1,29 @@
> +/* { dg-do compile } */
> +/* { dg-options "-O1 -fharden-compares -fno-ipa-pure-const" } */
> +
> +int
> +baz (void);
> +
> +__attribute__ ((returns_twice)) void
> +bar (void)
> +{
> +}
> +
> +int
> +quux (int y, int z)
> +{
> +  return (y || z >= 0) ? y : z;
> +}
> +
> +int
> +foo (int x)
> +{
> +  int a = 0, b = x == a;
> +
> +  bar ();
> +
> +  if (!!baz () < quux (b, a))
> +    ++x;
> +
> +  return x;
> +}
>
> --
> Alexandre Oliva, happy hacker                https://FSFLA.org/blogs/lxo/
>    Free Software Activist                       GNU Toolchain Engineer
> Disinformation flourishes because many people care deeply about injustice
> but very few check the facts.  Ask me about <https://stallmansupport.org>

Reply via email to