Mercurial > hg > CbC > CbC_llvm
changeset 189:390e42bfd95a
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 06 Jun 2020 00:15:13 +0900 |
parents | dd01b8f82867 |
children | b1364f705114 |
files | clang/include/clang/Parse/Parser.h llvm/lib/CodeGen/Analysis.cpp |
diffstat | 2 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/clang/include/clang/Parse/Parser.h Fri Jun 05 20:19:07 2020 +0900 +++ b/clang/include/clang/Parse/Parser.h Sat Jun 06 00:15:13 2020 +0900 @@ -2350,7 +2350,6 @@ llvm::function_ref<void(ParsingFieldDeclarator &)> FieldsCallback); #ifndef noCbC void CreateRetCS(IdentifierInfo* csName); - void CreateRetCS1(IdentifierInfo *csName, const PrintingPolicy &Policy, QualType CurFuncResQT , TypeSourceInfo *CurFuncTI , Decl **BodyRes, StmtResult &FnBody); void Create__CbC_envStruct(SourceLocation Loc, AccessSpecifier AS); IdentifierInfo* CreateIdentifierInfo(const char* Name, SourceLocation Loc); IdentifierInfo* CreateAnonIdentifierInfo(const char* Name, SourceLocation Loc);
--- a/llvm/lib/CodeGen/Analysis.cpp Fri Jun 05 20:19:07 2020 +0900 +++ b/llvm/lib/CodeGen/Analysis.cpp Sat Jun 06 00:15:13 2020 +0900 @@ -515,6 +515,11 @@ const Instruction *Term = ExitBB->getTerminator(); const ReturnInst *Ret = dyn_cast<ReturnInst>(Term); +#ifndef noCbC + if (Call.getType()->is__CodeTy()) + return true; +#endif + // The block must end in a return statement or unreachable. // // FIXME: Decline tailcall if it's not guaranteed and if the block ends in