[flang-commits] [flang] [flang][runtime][NFC] Allow different memmove function in assign (PR #114301)

Peter Klausler via flang-commits flang-commits at lists.llvm.org
Fri Nov 1 14:32:33 PDT 2024


Valentin Clement =?utf-8?b?KOODkOODrOODsw==?=,
Valentin Clement =?utf-8?b?KOODkOODrOODsw==?=
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/114301 at github.com>


================
@@ -24,11 +24,35 @@
 #define FORTRAN_RUNTIME_ASSIGN_H_
 
 #include "flang/Runtime/entry-names.h"
+#include "flang/Runtime/freestanding-tools.h"
 
 namespace Fortran::runtime {
 class Descriptor;
+class Terminator;
+
+enum AssignFlags {
+  NoAssignFlags = 0,
+  MaybeReallocate = 1 << 0,
+  NeedFinalization = 1 << 1,
+  CanBeDefinedAssignment = 1 << 2,
+  ComponentCanBeDefinedAssignment = 1 << 3,
+  ExplicitLengthCharacterLHS = 1 << 4,
+  PolymorphicLHS = 1 << 5,
+  DeallocateLHS = 1 << 6
+};
+
+using MemmoveFct = void *(*)(void *, const void *, std::size_t);
+
+static RT_API_ATTRS void *MemmoveWrapper(
----------------
klausler wrote:

Why is the wrapper necessary?

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


More information about the flang-commits mailing list