diff options
Diffstat (limited to 'lib/CodeGen')
| -rw-r--r-- | lib/CodeGen/ValueTypeGen.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/ValueTypeGen.cc b/lib/CodeGen/ValueTypeGen.cc index e7a3f77..f2dafb1 100644 --- a/lib/CodeGen/ValueTypeGen.cc +++ b/lib/CodeGen/ValueTypeGen.cc @@ -15,7 +15,8 @@ const TypeInfo *CodeGen::getExprTypeInfo(ExprAST *Expr) { if (dynamic_cast<RealExprAST*>(Expr)) return resolveType("REAL"); if (dynamic_cast<BooleanExprAST*>(Expr)) return resolveType("BOOLEAN"); if (dynamic_cast<CharExprAST*>(Expr)) return resolveType("CHAR"); - if (dynamic_cast<StringExprAST*>(Expr)) return resolveType("STRING"); + if (auto *String = dynamic_cast<StringExprAST*>(Expr)) + return resolveType(String->isCString() ? "C_STRING" : "STRING"); if (auto *Cast = dynamic_cast<CastExprAST*>(Expr)) return resolveType(Cast->getTypeName()); |
