OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [g++.dg/] [tree-ssa/] [pr20963.C] - Diff between revs 301 and 384

Only display areas with differences | Details | Blame | View Log

Rev 301 Rev 384
/* { dg-do compile } */
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-options "-O2" } */
/* This was causing PRE to insert the value of the ADDR variable, to
/* This was causing PRE to insert the value of the ADDR variable, to
   remove the invariant cast but in doing so, it was creating a
   remove the invariant cast but in doing so, it was creating a
   non-invariant expression out of the invariant one, causing a later
   non-invariant expression out of the invariant one, causing a later
   failure in PRE.  */
   failure in PRE.  */
struct sMCB {
struct sMCB {
  unsigned char type;
  unsigned char type;
};
};
extern void foo (void);
extern void foo (void);
unsigned char mem_readb(char *pt) __attribute__((nothrow));
unsigned char mem_readb(char *pt) __attribute__((nothrow));
void DOS_FreeProcessMemory(unsigned short pspseg) {
void DOS_FreeProcessMemory(unsigned short pspseg) {
        while (1) {
        while (1) {
                if (pspseg)
                if (pspseg)
                        foo ();
                        foo ();
                char *addr = (char*)(&((sMCB*)0)->type);
                char *addr = (char*)(&((sMCB*)0)->type);
                if (mem_readb(addr)==0x5a) break;
                if (mem_readb(addr)==0x5a) break;
        }
        }
};
};
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.