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

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 7 17:31:48 PDT 2017


MatzeB added a comment.

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
- 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