================
@@ -36,6 +37,76 @@ template <typename ToTest> constexpr bool isCombinedType = 
false;
 template <typename T>
 constexpr bool isCombinedType<CombinedConstructClauseInfo<T>> = true;
 
+namespace {
+struct DataOperandInfo {
+  mlir::Location beginLoc;
+  mlir::Value varValue;
+  llvm::StringRef name;
+  mlir::ValueRange bounds;
+
+  DataOperandInfo(mlir::Location beginLoc, mlir::Value varValue,
+                  llvm::StringRef name, mlir::ValueRange bounds)
+      : beginLoc(beginLoc), varValue(varValue), name(name), bounds(bounds) {}
+};
+
+inline mlir::Value createIntExpr(CIRGen::CIRGenFunction &cgf,
----------------
bcardosolopes wrote:

I understand this is necessary because of templates, but the amount of code in 
the header file is a bit scary, any chance we can move some of this to 
implementation files? If not, perhaps use a more specific name for things 
living inside this namespace? `createIntExpr` for instance is a bit misleading 
(sounds simple but ends up doing an unrealized cast).

https://github.com/llvm/llvm-project/pull/140304
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to