]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/14250 (switch() does not seem to see operator int() in template class)
authorGiovanni Bajo <giovannibajo@gcc.gnu.org>
Mon, 23 Feb 2004 12:50:50 +0000 (12:50 +0000)
committerGiovanni Bajo <giovannibajo@gcc.gnu.org>
Mon, 23 Feb 2004 12:50:50 +0000 (12:50 +0000)
PR c++/14250
* cvt.c (build_expr_type_conversion): Type must be complete before
looking up for conversions.

From-SVN: r78300

gcc/cp/ChangeLog
gcc/cp/cvt.c

index 9d6b96913cf2fc790ae47b167bf8c09a6ae61be7..90c15299c05d4fa999245926ca1b8c14b960028c 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-23  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/14250
+       * cvt.c (build_expr_type_conversion): Type must be complete before
+       looking up for conversions.
+
 2004-02-22  Jakub Jelinek  <jakub@redhat.com>
 
        * decl.c (reshape_init): Convert array designator to sizetype.
index 75a6a3a689d22818b2a7d85ae80812d648b73310..d49c76a805e0e07decd9e1b835fe8ffed211a4cd 100644 (file)
@@ -1073,8 +1073,9 @@ build_expr_type_conversion (desires, expr, complain)
 
   /* The code for conversions from class type is currently only used for
      delete expressions.  Other expressions are handled by build_new_op.  */
-
-  if (! TYPE_HAS_CONVERSION (basetype))
+  if (!complete_type_or_else (basetype, expr))
+    return error_mark_node;
+  if (!TYPE_HAS_CONVERSION (basetype))
     return NULL_TREE;
 
   for (conv = lookup_conversions (basetype); conv; conv = TREE_CHAIN (conv))