Timm =?utf-8?q?Bäder?= <[email protected]>,
Timm =?utf-8?q?Bäder?= <[email protected]>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/[email protected]>
================
@@ -17,63 +17,80 @@
#include "clang/AST/APValue.h"
#include "llvm/ADT/APFloat.h"
+// XXX This is just a debugging help. Setting this to 1 will heap-allocate ALL
+// floating values.
+#define ALLOCATE_ALL 0
+
namespace clang {
namespace interp {
using APFloat = llvm::APFloat;
using APSInt = llvm::APSInt;
+using APInt = llvm::APInt;
+/// If a Floating is constructed from Memory, it DOES NOT OWN THAT MEMORY.
+/// It will NOT copy the memory (unless, of course, copy() is called) an it
+/// won't alllocate anything. The allocation should happen via InterpState or
+/// Program.
class Floating final {
private:
- // The underlying value storage.
- APFloat F;
+ union {
+ uint64_t Val = 0;
+ uint64_t *Memory;
+ };
+ llvm::APFloatBase::Semantics Semantics =
----------------
tbaederr wrote:
Sure, removed it.
https://github.com/llvm/llvm-project/pull/144246
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits