Mercurial > hg > Document > Growi
view user/soto/log/untitled.md @ 49:fae0d5b27a2d
backup 2021-03-24
author | autobackup |
---|---|
date | Wed, 24 Mar 2021 00:10:03 +0900 |
parents | e9ba3f9d64c9 |
children | c52930976228 |
line wrap: on
line source
# 研究目的 - # 今週やった事 - kono先生とCbCからset jumpを消そうとしていました ## set jmpを消す 現在のCbCには、set jumpが使われている部分がある。 これを消したい。 型が`jmp_buf`であるものを`int`64個の配列で受け取れるようにする。 ` innerRes = CreateDeclStmt(bufII, false, false, DeclSpec::TST_typename, CreateIdentifierInfo("jmp_buf", Loc));`を `innerRes = CreateDeclStmt(bufII, false, false, 64, DeclSpec::TST_typename, CreateIdentifierInfo("int", Loc));` で できるようにする `StmtResult Parser::CreateDeclStmt(IdentifierInfo *II, bool isRetCS, bool copyType, DeclSpec::TST valueType, IdentifierInfo* Name, DeclSpec::TQ TQ){`を `StmtResult Parser::CreateDeclStmt(IdentifierInfo *II, bool isRetCS, bool copyType, int array, DeclSpec::TST valueType, IdentifierInfo* Name, DeclSpec::TQ TQ){` これにする。arrayが追加されただけ そして`CreateDeclStmt()`に以下を追加。 ```CbC if (array) { DeclSpec FDS(AttrFactory); D.AddTypeInfo(DeclaratorChunk::getArray(0,false,false,Actions.ActOnIntegerConstant(Loc,array).get(),Loc, FDS.getConstSpecLoc() ), std::move(FDS.getAttributes()), SourceLocation()); } ``` `AddTypeInfo`を直接書いて解決させよう # 余談 - 卒業式でした