aboutsummaryrefslogtreecommitdiff
path: root/backend/include/rcc/CodeGen/GlobalObject.h
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-13 06:52:15 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-13 06:52:15 +0800
commitaa7c85ca71859aab15bdf1e6dc1ea3a5aa5d1e28 (patch)
tree20d94c4debfe4900e362c6c7f8443bcfbd58ec28 /backend/include/rcc/CodeGen/GlobalObject.h
parentd62f022c92fcc3ebe2269273628943a0089683fd (diff)
downloadrcc-project-aa7c85ca71859aab15bdf1e6dc1ea3a5aa5d1e28.tar.gz
rcc-project-aa7c85ca71859aab15bdf1e6dc1ea3a5aa5d1e28.tar.xz
[Support] Split APInt and APFloat ownership
Diffstat (limited to 'backend/include/rcc/CodeGen/GlobalObject.h')
-rw-r--r--backend/include/rcc/CodeGen/GlobalObject.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/backend/include/rcc/CodeGen/GlobalObject.h b/backend/include/rcc/CodeGen/GlobalObject.h
index 49f1f42..798dcd8 100644
--- a/backend/include/rcc/CodeGen/GlobalObject.h
+++ b/backend/include/rcc/CodeGen/GlobalObject.h
@@ -82,8 +82,8 @@ public:
GlobalInitializer &operator=(GlobalInitializer &&) noexcept = default;
~GlobalInitializer() = default;
- [[nodiscard]] static GlobalInitializer integer(IntegerImmediate Value);
- [[nodiscard]] static GlobalInitializer floating(FloatingPointBits Value);
+ [[nodiscard]] static GlobalInitializer integer(APInt Value);
+ [[nodiscard]] static GlobalInitializer floating(APFloat Value);
[[nodiscard]] static Expected<GlobalInitializer> bytes(std::vector<std::byte> Value);
[[nodiscard]] static Expected<GlobalInitializer> zeroFill(std::uint64_t Size);
[[nodiscard]] static Expected<GlobalInitializer> repeated(std::uint64_t Count,
@@ -108,10 +108,10 @@ public:
private:
using StorageT =
- std::variant<std::monostate, IntegerImmediate, FloatingPointBits, std::vector<std::byte>,
- GlobalZeroFill, GlobalRepeatedInitializer, GlobalAggregateInitializer,
- GlobalSymbolAddress, GlobalSymbolDifference, TargetConstant,
- GlobalAlignmentPadding, GlobalUndefinedStorage>;
+ std::variant<std::monostate, APInt, APFloat, std::vector<std::byte>, GlobalZeroFill,
+ GlobalRepeatedInitializer, GlobalAggregateInitializer, GlobalSymbolAddress,
+ GlobalSymbolDifference, TargetConstant, GlobalAlignmentPadding,
+ GlobalUndefinedStorage>;
explicit GlobalInitializer(StorageT Storage) : Storage(std::move(Storage)) {}