From 2ea726b2236eaa5e3f1eb95d97eb269a8e201680 Mon Sep 17 00:00:00 2001 From: Giovanni Bajo Date: Mon, 23 Feb 2004 12:50:50 +0000 Subject: [PATCH] re PR c++/14250 (switch() does not seem to see operator int() in template class) PR c++/14250 * cvt.c (build_expr_type_conversion): Type must be complete before looking up for conversions. From-SVN: r78300 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/cvt.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9d6b96913cf2..90c15299c05d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2004-02-23 Giovanni Bajo + + PR c++/14250 + * cvt.c (build_expr_type_conversion): Type must be complete before + looking up for conversions. + 2004-02-22 Jakub Jelinek * decl.c (reshape_init): Convert array designator to sizetype. diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index 75a6a3a689d2..d49c76a805e0 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -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)) -- 2.47.2