[PATCH] D33960: ErrorHandling: report_fatal_error: call abort() instead of exit()

Alex Lorenz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 8 01:36:23 PDT 2017


arphaman added a comment.

In https://reviews.llvm.org/D33960#864273, @MatzeB wrote:

> Did a quick ad-hoc and incomplete survey of report_fatal_error usage in LLVM.
>
> Abort Worthy:
>
> - Situations where IR/MI violated assumptions: IR/Verifier, MachineVerifier, WinEHPrepare, LiveRangeCalc, TargetLoweringObjFile, Coro*, Analysis,
> - Unimplemented functionality: Support/YAMLParser,
> - Out of resources/memory: MachineOutliner
> - Internal compiler problems: Expected passes not in pipeline, target callbacks mibehaving: SafeStack, SplitKit, TargetInstrInfo
>
>   User/Input errors:
> - Wrong options: TargetPassConfig
> - Parse Errors: Bitcode/Reader, IR/DataLayout


I would like to work on getting rid of report_fatal_error from the Bitstream reader sometime this year / next year as it's used for Clang's serialized diagnostics and report_fatal_error can bring down Xcode if the diagnostics are malformed.

> - Impossible to allocate registers for function: RegAllocBase
> - Target doesn't support a feature/calling convention/address space/...: TargetLoweringObjectFile, various target files
> 
>   So far I'd say the ones in the second category really shouldn't be use report_fatal_error.


Repository:
  rL LLVM

https://reviews.llvm.org/D33960





More information about the llvm-commits mailing list