From 61a6acd78708860d5fee3113a0f584c5c3d02b60 Mon Sep 17 00:00:00 2001 From: Michael Tautschnig Date: Mon, 11 Jun 2018 19:39:03 +0000 Subject: [PATCH] Name resolution may require further template instantiation --- regression/cpp/Template_Instantiation3/test.desc | 2 +- regression/systemc/Array3/test.desc | 2 +- src/cpp/cpp_typecheck_resolve.cpp | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/regression/cpp/Template_Instantiation3/test.desc b/regression/cpp/Template_Instantiation3/test.desc index 5893356edf6..a003b07b93c 100644 --- a/regression/cpp/Template_Instantiation3/test.desc +++ b/regression/cpp/Template_Instantiation3/test.desc @@ -1,4 +1,4 @@ -KNOWNBUG +CORE main.cpp ^EXIT=0$ diff --git a/regression/systemc/Array3/test.desc b/regression/systemc/Array3/test.desc index 839148c295a..d091759e812 100644 --- a/regression/systemc/Array3/test.desc +++ b/regression/systemc/Array3/test.desc @@ -1,4 +1,4 @@ -KNOWNBUG +CORE main.cpp -DNO_IO -DNO_STRING ^EXIT=0$ diff --git a/src/cpp/cpp_typecheck_resolve.cpp b/src/cpp/cpp_typecheck_resolve.cpp index 8d3f5f4a5f1..0eba1d0765d 100644 --- a/src/cpp/cpp_typecheck_resolve.cpp +++ b/src/cpp/cpp_typecheck_resolve.cpp @@ -1545,6 +1545,9 @@ exprt cpp_typecheck_resolvet::resolve( { typet instance= disambiguate_template_classes(base_name, id_set, template_args); + + cpp_typecheck.elaborate_class_template(instance); + identifiers.push_back(exprt(ID_type, instance)); } else