7#include <unordered_map>
37 hNodep &h_info,
bool generate_initial_htype =
true);
40 hNodep addtype(
string typname, QualType qtyp, ASTContext &astcontext);
45 void print(llvm::raw_ostream & modelout=llvm::outs(),
unsigned int indnt=2) {
46 modelout <<
"Userrectypes follows\n";
48 modelout << entry.first <<
" " <<entry.second <<
"\n";
50 modelout <<
"Userrectypes end\n";
55 llvm::dbgs() <<
"Userrectypes follows\n";
57 llvm::dbgs() << entry.first <<
" " <<entry.second <<
"\n";
59 llvm::dbgs() <<
"Userrectypes end\n";
std::unordered_map< const clang::Type *, string > userrectype_map_t
hNodep addtype(string typname, QualType qtyp, ASTContext &astcontext)
void print(llvm::raw_ostream &modelout=llvm::outs(), unsigned int indnt=2)
usertype_info_t usertype_info
void SCtype2hcode(string prefix, Tree< TemplateType > *template_argtp, std::vector< llvm::APInt > *arr_sizes, hNode::hdlopsEnum h_op, hNodep &h_info)
void addfieldtype(const FieldDecl *fld, hNodep &h_typdef)
std::unordered_map< string, QualType > usertype_map_t
void generatetype(systemc_clang::TreeNode< systemc_clang::TemplateType > *const &node, systemc_clang::Tree< systemc_clang::TemplateType > *const &treehead, hNodep &h_info, bool generate_initial_htype=true)
bool checkusertype(systemc_clang::TreeNode< systemc_clang::TemplateType > *const &node, systemc_clang::Tree< systemc_clang::TemplateType > *const &treehead, string &tmps)
Clang forward declarations.
userrectype_map_t userrectypes