OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [pr27531-1.c] - Rev 801

Go to most recent revision | Compare with Previous | Blame | View Log

/* PR target/27531 */
/* This test case stressed the register allocator into reloading a LABEL_REF
   on sparc, but didn't add a REG_LABEL note, ultimately causing the assembly
   output to reference a label that had been eliminated.  */
/* { dg-do link } */
/* { dg-options "-O2" } */
typedef struct _IO_FILE FILE;
char const *RCSname;
void *Locks;
void * Head;
struct Revpairs{
    struct Revpairs * rnext;
};
extern char *strchr(const char *s, int c);
extern int fprintf(FILE *, const char *format, ...);
static void getrevpairs (char*);
static int branchflag;
static struct Revpairs *revlist, *Revlst;
 
extern int warn(const char *msg, char *argv);
extern int error(const char *msg, int c, char *argv);
extern int recentdate(void *foo, void *bar);
 
char *t;
int main (int argc, char **argv)
{
    FILE *out;
    char *a, **newargv;
    void *currdate;
    int descflag, selectflag;
    int onlylockflag;
    int onlyRCSflag;
    int shownames;
    descflag = selectflag = shownames = 1;
    onlylockflag = onlyRCSflag = 0;
    while (a = *++argv, 0<--argc)
    {
        switch (*a++)
        {
            case 'L':
                onlylockflag = 1;
            case 'N':
                shownames = 0;
            case 'R':
                t = a;
            case 'b':
                branchflag = 1;
            case 'r':
                getrevpairs(a);
        }
        if (onlylockflag && !Locks)
            fprintf(out, "%s\n", RCSname);
        if (shownames) 
            while( currdate)
                recentdate(Head, currdate);
    }
}
void getrevpairs(char *argv)
{
    char c;
    struct Revpairs * nextrevpair;
    int separator;
    if (strchr(argv,':'))
        separator = ':';
    else
    {
        if (strchr(argv,'-') )
            warn("`-' is obsolete in `-r%s'; use `:' instead", argv);
        separator = '-';
    }
    for (;;)
    {
        nextrevpair->rnext = revlist;
        for (;; c = *++argv)
        {
            switch (c)
            {
                default:
                    continue;
                case ' ':
                case '\t':
                case '\n':
                    break;
                case ':':
                case '-':
                    if (c == separator)
                        continue;
            }
            break;
        }
        if (!c)
            break;
        error("missing `,' near `%c%s'", c, argv+1);
    }
}
 
int warn(const char *msg, char *argv)
{
  t = 0;  /* this function needs side-effects.  */
  return 0;
}
 
int error(const char *msg, int c, char *argv)
{
  t = 0; /* this function needs side-effects.  */
  return 0;
}
 
int recentdate(void *foo, void *bar)
{
  t = 0; /* this function needs side-effects.  */
  return 0;
}
 
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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