URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 301 |
Rev 338 |
// PR c++/20206
|
// PR c++/20206
|
// { dg-do run }
|
// { dg-do run }
|
// { dg-options "-O0" }
|
// { dg-options "-O0" }
|
|
|
void
|
void
|
bar (int x)
|
bar (int x)
|
{
|
{
|
asm ("" : : "g" (x));
|
asm ("" : : "g" (x));
|
}
|
}
|
|
|
struct S { S () {}; virtual ~S () {}; };
|
struct S { S () {}; virtual ~S () {}; };
|
struct T { virtual void foo (int) = 0; };
|
struct T { virtual void foo (int) = 0; };
|
struct U : public S, public T
|
struct U : public S, public T
|
{
|
{
|
bool a;
|
bool a;
|
U () {}
|
U () {}
|
virtual ~U () {}
|
virtual ~U () {}
|
virtual void foo (int x)
|
virtual void foo (int x)
|
{
|
{
|
switch (x)
|
switch (x)
|
{
|
{
|
case 12:
|
case 12:
|
break;
|
break;
|
case 9:
|
case 9:
|
bar (7);
|
bar (7);
|
break;
|
break;
|
case 10:
|
case 10:
|
bar (12);
|
bar (12);
|
break;
|
break;
|
case 4:
|
case 4:
|
bar (18);
|
bar (18);
|
break;
|
break;
|
case 2:
|
case 2:
|
bar (26);
|
bar (26);
|
break;
|
break;
|
}
|
}
|
}
|
}
|
};
|
};
|
U u;
|
U u;
|
|
|
int
|
int
|
main ()
|
main ()
|
{
|
{
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.