@@ -56,6 +56,7 @@ class SSACFG
5656
5757 struct BlockId
5858 {
59+ using ValueType = std::uint32_t ;
5960 std::uint32_t value = std::numeric_limits<std::uint32_t >::max();
6061 auto operator <=>(BlockId const &) const = default ;
6162 };
@@ -169,7 +170,7 @@ class SSACFG
169170 };
170171 BlockId makeBlock (langutil::DebugData::ConstPtr _debugData)
171172 {
172- BlockId blockId { m_blocks.size () };
173+ BlockId blockId { static_cast <BlockId::ValueType>( m_blocks.size () ) };
173174 m_blocks.emplace_back (BasicBlock{std::move (_debugData), {}, {}, {}, BasicBlock::Terminated{}});
174175 return blockId;
175176 }
@@ -217,14 +218,14 @@ class SSACFG
217218 }
218219 ValueId newPhi (BlockId const _definingBlock)
219220 {
220- ValueId id { m_valueInfos.size () };
221+ ValueId id { static_cast <ValueId::ValueType>( m_valueInfos.size () ) };
221222 auto block = m_blocks.at (_definingBlock.value );
222223 m_valueInfos.emplace_back (PhiValue{debugDataOf (block), _definingBlock, {}});
223224 return id;
224225 }
225226 ValueId newVariable (BlockId const _definingBlock)
226227 {
227- ValueId id { m_valueInfos.size () };
228+ ValueId id { static_cast <ValueId::ValueType>( m_valueInfos.size () ) };
228229 auto block = m_blocks.at (_definingBlock.value );
229230 m_valueInfos.emplace_back (VariableValue{debugDataOf (block), _definingBlock});
230231 return id;
@@ -233,14 +234,14 @@ class SSACFG
233234 {
234235 if (!m_unreachableValue)
235236 {
236- m_unreachableValue = ValueId { m_valueInfos.size () };
237+ m_unreachableValue = ValueId { static_cast <ValueId::ValueType>( m_valueInfos.size () ) };
237238 m_valueInfos.emplace_back (UnreachableValue{});
238239 }
239240 return *m_unreachableValue;
240241 }
241242 ValueId newLiteral (langutil::DebugData::ConstPtr _debugData, u256 _value)
242243 {
243- auto [it, inserted] = m_literals.emplace (_value, ValueId{m_valueInfos.size ()});
244+ auto [it, inserted] = m_literals.emplace (_value, ValueId{static_cast <ValueId::ValueType>( m_valueInfos.size () )});
244245 if (inserted)
245246 m_valueInfos.emplace_back (LiteralValue{std::move (_debugData), _value});
246247 else
0 commit comments