【问题标题】:GCC 9 ICE (internal compiler error) when using coverage使用覆盖时的 GCC 9 ICE(内部编译器错误)
【发布时间】:2021-11-22 10:29:04
【问题描述】:

使用 EDG 前端编译器生成 CPP 代码在 GCC 9/10/11 上开始崩溃,用于在 GCC 6.3.0 上工作。

   during IPA pass: profile
<file_name>.m4: In function 'void <function_name>(int)':
<file_name>.m4:4232:1: internal compiler error: in coverage_begin_function, at coverage.c:656
0x59a1fa coverage_begin_function(unsigned int, unsigned int)
                /tmp/gcc-v9.3.0p3/gcc.source/gcc/coverage.c:458
0xad549a branch_prob(bool)
    /tmp/gcc-v9.3.0p3/gcc.source/gcc/profile.c:1233
0xc10212 tree_profiling
    /tmp/gcc-v9.3.0p3/gcc.source/gcc/tree-profile.c:793
0xc10212 execute
/tmp/gcc-v9.3.0p3/gcc.source/gcc/tree-profile.c:898
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

任何帮助将不胜感激。

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 您可以在“Bugzilla Bug 100788”下方的链接中找到代码。

标签: gcc compiler-errors internals


【解决方案1】:

此问题已在 Bugzilla Bug 100788 解决

GCC 处理器存在一个问题,当它在覆盖编译期间尝试处理#line 指令时崩溃。

解决方案:从 GCC 10 向后移植一个补丁来解决这个问题

【讨论】:

  • 哦,我明白了。崩溃实际上并不是在预处理器本身中,而是预处理器生成了不正确的#line 指令,这会导致后面的配置文件传递崩溃。所以真的有两个错误,我猜。
猜你喜欢
  • 1970-01-01
  • 2014-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多