How to get gcc to skip errors, but still output them.

后端 未结 3 2024
长情又很酷
长情又很酷 2021-01-18 12:31

is it possible to force gcc to report errors, but keep compiling past them? Essentially I\'m trying to generate a list of errors in a .c file, but gcc always terminates at t

相关标签:
3条回答
  • 2021-01-18 12:54

    From gcc online doc:

    -fmax-errors=n

    Limits the maximum number of error messages to n, at which point GCC bails out rather than attempting to continue processing the source code. If n is 0 (the default), there is no limit on the number of error messages produced. If -Wfatal-errors is also specified, then -Wfatal-errors takes precedence over this option.

    0 讨论(0)
  • 2021-01-18 12:58

    Up-to-date versions of GCC will attempt to skip certain errors where possible.

    Say the body of foo(){... contains a const-violation. The translation unit will not produce an object file but any decent compiler will continue past this error into bar(){...

    Other errors are unrecoverable. If you miss out some curly braces there's no reasonable guess that can be mades as to how to proceed.

    0 讨论(0)
  • 2021-01-18 12:59

    GCC terminates when it can't go further.

    If a compiler encounters an error, it has to guess what the correct code should be and try to follow. Effectively that means that you always need to fix the first error and re-run the compilations, since the rest will be nonsense.

    Make sure that you haven't turned -Wfatal-errors on.

    0 讨论(0)
提交回复
热议问题