Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ LLVM错误:找到已损坏的函数,编译已中止!在移除父对象()之后_C++_C_Llvm_Llvm Clang_Llvm Ir - Fatal编程技术网

C++ LLVM错误:找到已损坏的函数,编译已中止!在移除父对象()之后

C++ LLVM错误:找到已损坏的函数,编译已中止!在移除父对象()之后,c++,c,llvm,llvm-clang,llvm-ir,C++,C,Llvm,Llvm Clang,Llvm Ir,我有一个test.c文件,其中包含以下函数调用: functiontest(2,x); 我想删除此函数调用(使用llvm过程),当我尝试使用removeFromParent()函数时,如下所示: calledFunction1->removeFromParent(); 这会导致LLVM产生以下错误: 引用其他模块中的函数 调用functiontest时无效(i32 2,浮点%tmp15) LLVM错误:找到已损坏的函数,编译已中止 我还尝试调用了橡皮擦fromParent(),但这会触

我有一个test.c文件,其中包含以下函数调用:

functiontest(2,x);
我想删除此函数调用(使用llvm过程),当我尝试使用removeFromParent()函数时,如下所示:

calledFunction1->removeFromParent();
这会导致LLVM产生以下错误:

引用其他模块中的函数
调用functiontest时无效(i32 2,浮点%tmp15)

LLVM错误:找到已损坏的函数,编译已中止

我还尝试调用了橡皮擦fromParent(),但这会触发断言:

断言'use_empty()&&“值销毁时保留使用!”“失败

我更喜欢使用removeFromParent()


有什么问题吗?

首先,如果您能发布一个最小的代码示例来演示您的问题,这将非常有帮助。否则,我们只能猜测。尽管有一些意见:

  • 为什么您更喜欢从父项中移除
    ?调用指令也必须被删除,这就是
    eraseFromParent
    所做的
  • 在擦除/删除之前,您是否调用了
    replaceAllosesWith
    ?否则,使用粘住
  • 是否删除了函数或调用指令?这可以解释第一条错误消息

  • 我只想删除此呼叫,不想删除function@strayrebel:是的,但我不确定你在那里做得对。来自LLVM验证器的错误消息表明所有权已断开。这就是为什么如果你能把你的问题减少到一个最小的代码样本,并向我展示它,那将是最好的选择。是的,当然,我可能没有做正确的事情。也许,我可以试着删除只调用函数的指令。