diff --git a/cpp/ql/src/semmle/code/cpp/ir/internal/Opcode.qll b/cpp/ql/src/semmle/code/cpp/ir/internal/Opcode.qll index e419f7ad46a..922c2a0d95c 100644 --- a/cpp/ql/src/semmle/code/cpp/ir/internal/Opcode.qll +++ b/cpp/ql/src/semmle/code/cpp/ir/internal/Opcode.qll @@ -33,7 +33,6 @@ private newtype TOpcode = TPointerSub() or TPointerDiff() or TConvert() or - TConvertToVoid() or TConvertToBase() or TConvertToVirtualBase() or TConvertToDerived() or @@ -126,7 +125,6 @@ module Opcode { class PointerSub extends PointerOffsetOpcode, TPointerSub { override final string toString() { result = "PointerSub" } } class PointerDiff extends PointerArithmeticOpcode, TPointerDiff { override final string toString() { result = "PointerDiff" } } class Convert extends UnaryOpcode, TConvert { override final string toString() { result = "Convert" } } - class ConvertToVoid extends UnaryOpcode, TConvertToVoid { override final string toString() { result = "ConvertToVoid" } } class ConvertToBase extends UnaryOpcode, TConvertToBase { override final string toString() { result = "ConvertToBase" } } class ConvertToVirtualBase extends UnaryOpcode, TConvertToVirtualBase { override final string toString() { result = "ConvertToVirtualBase" } } class ConvertToDerived extends UnaryOpcode, TConvertToDerived { override final string toString() { result = "ConvertToDerived" } } diff --git a/cpp/ql/src/semmle/code/cpp/ir/internal/TranslatedExpr.qll b/cpp/ql/src/semmle/code/cpp/ir/internal/TranslatedExpr.qll index 52ff72b9f3f..cf21665a28d 100644 --- a/cpp/ql/src/semmle/code/cpp/ir/internal/TranslatedExpr.qll +++ b/cpp/ql/src/semmle/code/cpp/ir/internal/TranslatedExpr.qll @@ -1126,19 +1126,6 @@ abstract class TranslatedSingleInstructionConversion extends TranslatedConversio abstract Opcode getOpcode(); } -/** - * The translation of an explicit cast to `void`. - */ -class TranslatedVoidConversion extends TranslatedSingleInstructionConversion { - TranslatedVoidConversion() { - conv instanceof VoidConversion - } - - override Opcode getOpcode() { - result instanceof Opcode::ConvertToVoid - } -} - /** * Represents the translation of a conversion expression that generates a * `Convert` instruction. @@ -1152,7 +1139,8 @@ class TranslatedSimpleConversion extends TranslatedSingleInstructionConversion { conv instanceof IntegralToPointerConversion or conv instanceof GlvalueConversion or conv instanceof ArrayToPointerConversion or - conv instanceof PrvalueAdjustmentConversion + conv instanceof PrvalueAdjustmentConversion or + conv instanceof VoidConversion } override Opcode getOpcode() { diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_ir.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_ir.expected index d055009b527..66a577ae332 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_ir.expected @@ -3855,7 +3855,7 @@ ir.cpp: # 900| r0_3(glval) = VariableAddress[x] : # 900| mu0_4(int) = Store : r0_3, r0_2 # 901| r0_5(glval) = VariableAddress[x] : -# 901| v0_6(void) = ConvertToVoid : r0_5 +# 901| v0_6(void) = Convert : r0_5 # 902| v0_7(void) = NoOp : # 900| v0_8(void) = ReturnVoid : # 900| v0_9(void) = UnmodeledUse : mu* diff --git a/cpp/ql/test/library-tests/ir/ir/ir.expected b/cpp/ql/test/library-tests/ir/ir/ir.expected index 9fc08cb6e52..4c7a7ad1746 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/ir.expected @@ -3835,7 +3835,7 @@ ir.cpp: # 900| r0_3(glval) = VariableAddress[x] : # 900| mu0_4(int) = Store : r0_3, r0_2 # 901| r0_5(glval) = VariableAddress[x] : -# 901| v0_6(void) = ConvertToVoid : r0_5 +# 901| v0_6(void) = Convert : r0_5 # 902| v0_7(void) = NoOp : # 900| v0_8(void) = ReturnVoid : # 900| v0_9(void) = UnmodeledUse : mu* diff --git a/cpp/ql/test/library-tests/ir/ir/ssa_ir.expected b/cpp/ql/test/library-tests/ir/ir/ssa_ir.expected index 7b52191a0a8..d1d2b50495f 100644 --- a/cpp/ql/test/library-tests/ir/ir/ssa_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/ssa_ir.expected @@ -3855,7 +3855,7 @@ ir.cpp: # 900| r0_3(glval) = VariableAddress[x] : # 900| mu0_4(int) = Store : r0_3, r0_2 # 901| r0_5(glval) = VariableAddress[x] : -# 901| v0_6(void) = ConvertToVoid : r0_5 +# 901| v0_6(void) = Convert : r0_5 # 902| v0_7(void) = NoOp : # 900| v0_8(void) = ReturnVoid : # 900| v0_9(void) = UnmodeledUse : mu*