@ -954,6 +954,12 @@ private:
Expression Visit ( const Node & node ) {
if ( const auto operation = std : : get_if < OperationNode > ( & * node ) ) {
auto amend_index = operation - > GetAmendIndex ( ) ;
if ( amend_index ) {
const Node & amend_node = ir . GetAmendNode ( * amend_index ) ;
[[maybe_unused]] const Type type = Visit ( amend_node ) . type ;
ASSERT ( type = = Type : : Void ) ;
}
const auto operation_index = static_cast < std : : size_t > ( operation - > GetCode ( ) ) ;
const auto decompiler = operation_decompilers [ operation_index ] ;
if ( decompiler = = nullptr ) {
@ -1142,6 +1148,12 @@ private:
}
if ( const auto conditional = std : : get_if < ConditionalNode > ( & * node ) ) {
auto amend_index = conditional - > GetAmendIndex ( ) ;
if ( amend_index ) {
const Node & amend_node = ir . GetAmendNode ( * amend_index ) ;
[[maybe_unused]] const Type type = Visit ( amend_node ) . type ;
ASSERT ( type = = Type : : Void ) ;
}
// It's invalid to call conditional on nested nodes, use an operation instead
const Id true_label = OpLabel ( ) ;
const Id skip_label = OpLabel ( ) ;
@ -1164,6 +1176,12 @@ private:
}
if ( const auto comment = std : : get_if < CommentNode > ( & * node ) ) {
auto amend_index = comment - > GetAmendIndex ( ) ;
if ( amend_index ) {
const Node & amend_node = ir . GetAmendNode ( * amend_index ) ;
[[maybe_unused]] const Type type = Visit ( amend_node ) . type ;
ASSERT ( type = = Type : : Void ) ;
}
Name ( OpUndef ( t_void ) , comment - > GetText ( ) ) ;
return { } ;
}