https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115243

            Bug ID: 115243
           Summary: error: stmt with wrong VUSE
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

This reduced C code:

int g_6, func_11;
void func_8();
void func_39( int * p_41, long p_42)
{
        char trans_9;   
        func_11 = trans_9 >= 32 ? p_42 : p_42 >> trans_9;
        if (func_11)
                *p_41 = 0;
        int l_59 = g_6;
        func_39( &l_59, 10);
        func_8(&l_59);
}

does this with recent gcc:

[dcb38@fedora ~]$ ~/gcc/results/bin/gcc -c -w -O1 bug1030.c
[dcb38@fedora ~]$ ~/gcc/results/bin/gcc -c -w -O2 bug1030.c
bug1030.c: In function ‘func_39’:
bug1030.c:4:6: error: stmt with wrong VUSE
    4 | void func_39( int * p_41, long p_42)
      |      ^~~~~~~
# .MEM_74 = VDEF <.MEM_6>
l_59 = 0;
expected .MEM_13

Reply via email to