re PR c++/11149 (ICE on error when instantiation with call function of a base type)
PR c++/11149 * call.c (resolve_scoped_fn_name): Check that the qualifying scope is a class type. PR c++/11149 * g++.dg/lookup/scoped6.C: New test. From-SVN: r68782
This commit is contained in:
parent
f64f3e74b9
commit
62bfce90da
4 changed files with 30 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2003-07-01 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/11149
|
||||
* call.c (resolve_scoped_fn_name): Check that the qualifying scope
|
||||
is a class type.
|
||||
|
||||
2003-07-01 Giovanni Bajo <giovannibajo@libero.it>
|
||||
|
||||
PR c++/8046
|
||||
|
|
|
@ -2765,6 +2765,8 @@ resolve_scoped_fn_name (tree scope, tree name)
|
|||
|
||||
if (TREE_CODE (scope) == NAMESPACE_DECL)
|
||||
fn = lookup_namespace_name (scope, name);
|
||||
else if (!CLASS_TYPE_P (scope))
|
||||
error ("`%T' is not a class type", scope);
|
||||
else
|
||||
{
|
||||
if (!TYPE_BEING_DEFINED (scope)
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2003-07-01 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/11149
|
||||
* g++.dg/lookup/scoped6.C: New test.
|
||||
|
||||
2003-07-01 Giovanni Bajo <giovannibajo@libero.it>
|
||||
|
||||
PR c++/8046
|
||||
|
|
17
gcc/testsuite/g++.dg/lookup/scoped6.C
Normal file
17
gcc/testsuite/g++.dg/lookup/scoped6.C
Normal file
|
@ -0,0 +1,17 @@
|
|||
template <typename X>
|
||||
class Foo {
|
||||
int i;
|
||||
public:
|
||||
Foo() {
|
||||
X::explode(); // { dg-error "" }
|
||||
}
|
||||
};
|
||||
|
||||
class Bar {
|
||||
Foo<int> foo_;
|
||||
public:
|
||||
Bar() {} // { dg-error "instantiated" }
|
||||
};
|
||||
|
||||
template class Foo<int>;
|
||||
|
Loading…
Add table
Reference in a new issue