@@ -15038,19 +15038,23 @@ namespace BinaryNinja {
1503815038
1503915039 /*! Returns the unimplemented expression. This should be used for instructions which aren't implemented
1504015040
15041+ \param intentional If true, renders as "unknown" to indicate the value is genuinely unknowable at
15042+ analysis time (not a missing implementation). Default is false.
1504115043 \param loc Optional IL Location this expression was added from.
1504215044 \return The unimplemented expression
1504315045 */
15044- ExprId Unimplemented(const ILSourceLocation& loc = ILSourceLocation());
15046+ ExprId Unimplemented(bool intentional = false, const ILSourceLocation& loc = ILSourceLocation());
1504515047
1504615048 /*! A memory reference to expression \c addr of size \c size with unimplemented operation.
1504715049
1504815050 \param size Size in bytes of the memory reference
1504915051 \param addr Expression to reference memory
15052+ \param intentional If true, renders as "unknown" to indicate the value is genuinely unknowable at
15053+ analysis time (not a missing implementation). Default is false.
1505015054 \param loc Optional IL Location this expression was added from.
1505115055 \return The unimplemented memory reference expression.
1505215056 */
15053- ExprId UnimplementedMemoryRef(size_t size, ExprId addr, const ILSourceLocation& loc = ILSourceLocation());
15057+ ExprId UnimplementedMemoryRef(size_t size, ExprId addr, bool intentional = false, const ILSourceLocation& loc = ILSourceLocation());
1505415058 ExprId RegisterPhi(const SSARegister& dest, const std::vector<SSARegister>& sources,
1505515059 const ILSourceLocation& loc = ILSourceLocation());
1505615060 ExprId RegisterStackPhi(const SSARegisterStack& dest, const std::vector<SSARegisterStack>& sources,
@@ -15695,8 +15699,8 @@ namespace BinaryNinja {
1569515699 ExprId FreeVarSlotSSA(const Variable& var, size_t newVersion, size_t prevVersion,
1569615700 const ILSourceLocation& loc = ILSourceLocation());
1569715701 ExprId Undefined(const ILSourceLocation& loc = ILSourceLocation());
15698- ExprId Unimplemented(const ILSourceLocation& loc = ILSourceLocation());
15699- ExprId UnimplementedMemoryRef(size_t size, ExprId target, const ILSourceLocation& loc = ILSourceLocation());
15702+ ExprId Unimplemented(bool intentional = false, const ILSourceLocation& loc = ILSourceLocation());
15703+ ExprId UnimplementedMemoryRef(size_t size, ExprId target, bool intentional = false, const ILSourceLocation& loc = ILSourceLocation());
1570015704 ExprId VarPhi(const SSAVariable& dest, const std::vector<SSAVariable>& sources,
1570115705 const ILSourceLocation& loc = ILSourceLocation());
1570215706 ExprId MemoryPhi(size_t destMemVersion, const std::vector<size_t>& sourceMemVersions,
@@ -16057,8 +16061,8 @@ namespace BinaryNinja {
1605716061 ExprId IntrinsicSSA(uint32_t intrinsic, const std::vector<ExprId>& params, size_t destMemVersion,
1605816062 size_t srcMemVersion, const ILSourceLocation& loc = ILSourceLocation());
1605916063 ExprId Undefined(const ILSourceLocation& loc = ILSourceLocation());
16060- ExprId Unimplemented(const ILSourceLocation& loc = ILSourceLocation());
16061- ExprId UnimplementedMemoryRef(size_t size, ExprId target, const ILSourceLocation& loc = ILSourceLocation());
16064+ ExprId Unimplemented(bool intentional = false, const ILSourceLocation& loc = ILSourceLocation());
16065+ ExprId UnimplementedMemoryRef(size_t size, ExprId target, bool intentional = false, const ILSourceLocation& loc = ILSourceLocation());
1606216066 ExprId FloatAdd(size_t size, ExprId a, ExprId b, const ILSourceLocation& loc = ILSourceLocation());
1606316067 ExprId FloatSub(size_t size, ExprId a, ExprId b, const ILSourceLocation& loc = ILSourceLocation());
1606416068 ExprId FloatMult(size_t size, ExprId a, ExprId b, const ILSourceLocation& loc = ILSourceLocation());
0 commit comments