diff options
author | Benjamin Kosnik <bkoz@loony.cygnus.com> | 1998-09-22 12:05:50 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 1998-09-22 12:05:50 +0000 |
commit | 04ddee1bcff0bccd97a54dd9e52b948bca58e009 (patch) | |
tree | 4aac816bf3c6f958bf9f11de48b7ed59aebc6a6f | |
parent | 3ddfb0e62449e59f035da4fc651a58c1cc467e4b (diff) | |
download | gcc-04ddee1bcff0bccd97a54dd9e52b948bca58e009.zip gcc-04ddee1bcff0bccd97a54dd9e52b948bca58e009.tar.gz gcc-04ddee1bcff0bccd97a54dd9e52b948bca58e009.tar.bz2 |
decl.c (make_typename_type): Move error to point where name variable can be used by dump_type.
�
1998-09-22 Benjamin Kosnik <bkoz@loony.cygnus.com>
* decl.c (make_typename_type): Move error to point where name
variable can be used by dump_type.
From-SVN: r22550
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/decl.c | 18 |
2 files changed, 14 insertions, 9 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 360dcb0..ade6763 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +1998-09-22 Benjamin Kosnik <bkoz@loony.cygnus.com> + + * decl.c (make_typename_type): Move error to point where name + variable can be used by dump_type. + 1998-09-22 Mark Mitchell <mark@markmitchell.com> * decl.c (grokfndecl): Improve error-recovery. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 17078e0..a8317cc 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -4787,15 +4787,6 @@ make_typename_type (context, name) fullname = name; - if (TREE_CODE (context) == NAMESPACE_DECL) - { - /* We can get here from typename_sub0 in the explicit_template_type - expansion. Just fail. */ - cp_error ("no class template named `%#T' in `%#T'", - name, context); - return error_mark_node; - } - if (TREE_CODE (name) == TEMPLATE_ID_EXPR) { name = TREE_OPERAND (name, 0); @@ -4805,6 +4796,15 @@ make_typename_type (context, name) if (TREE_CODE (name) != IDENTIFIER_NODE) my_friendly_abort (2000); + if (TREE_CODE (context) == NAMESPACE_DECL) + { + /* We can get here from typename_sub0 in the explicit_template_type + expansion. Just fail. */ + cp_error ("no class template named `%#T' in `%#T'", + name, context); + return error_mark_node; + } + if (! uses_template_parms (context) || currently_open_class (context)) { |