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