diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-20 11:42:45 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-20 11:42:45 +0000 |
| commit | a3335110dc4f1283cf1680e273cc9775b7e8c8ac (patch) | |
| tree | 15866ec0503d1edac9a1d9e11c04f7cdc7473d8d /lib/CodeGen | |
| parent | 52e0674c54d4b53b2132e750106cc9acb266ed39 (diff) | |
feat(lexer): add C_STRING literal suffix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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()); |
