URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
// { dg-do compile }
|
// { dg-do compile }
|
|
|
// Origin: priesnit@math.uni-goettingen.de
|
// Origin: priesnit@math.uni-goettingen.de
|
|
|
// PR c++/5767: ICE parsing typename with invalid scope.
|
// PR c++/5767: ICE parsing typename with invalid scope.
|
|
|
template class TP>
|
template class TP>
|
struct A
|
struct A
|
{
|
{
|
template
|
template
|
struct Template
|
struct Template
|
{
|
{
|
typedef typename TP::Type Type;
|
typedef typename TP::Type Type;
|
};
|
};
|
};
|
};
|
template class TP>
|
template class TP>
|
struct B
|
struct B
|
{
|
{
|
template
|
template
|
struct Template
|
struct Template
|
{
|
{
|
typedef typename A::Template> // { dg-error "mismatch|class template" }
|
typedef typename A::Template> // { dg-error "mismatch|class template" }
|
::template Template::Type Type; // { dg-error "" }
|
::template Template::Type Type; // { dg-error "" }
|
};
|
};
|
};
|
};
|
template
|
template
|
struct C
|
struct C
|
{
|
{
|
typedef void Type;
|
typedef void Type;
|
};
|
};
|
int main()
|
int main()
|
{
|
{
|
typedef B::Template::Type Type; // { dg-error "does not name a type" }
|
typedef B::Template::Type Type; // { dg-error "does not name a type" }
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.