[clang] [CIR] Cleanup support for C functions (PR #136854)

Andy Kaylor via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 23 10:49:28 PDT 2025


================
@@ -13,20 +13,76 @@
 
 #include "CIRGenCall.h"
 #include "CIRGenFunction.h"
+#include "CIRGenFunctionInfo.h"
 #include "clang/CIR/MissingFeatures.h"
 
 using namespace clang;
 using namespace clang::CIRGen;
 
-CIRGenFunctionInfo *CIRGenFunctionInfo::create(CanQualType resultType) {
-  void *buffer = operator new(totalSizeToAlloc<ArgInfo>(1));
+CIRGenFunctionInfo *
+CIRGenFunctionInfo::create(CanQualType resultType,
+                           llvm::ArrayRef<CanQualType> argTypes,
+                           RequiredArgs required) {
+  void *buffer = operator new(totalSizeToAlloc<ArgInfo>(argTypes.size() + 1));
 
   CIRGenFunctionInfo *fi = new (buffer) CIRGenFunctionInfo();
+
----------------
andykaylor wrote:

Maybe add `assert(!cir::MissingFeatures::paramInfo());` and `assert(!cir::MissingFeatures::funcTypeExtInfo());`?

https://github.com/llvm/llvm-project/pull/136854


More information about the cfe-commits mailing list