Forráskód Böngészése

Refine report_fatal_error guidance after post-commit review

Use text suggested by Justin Bogner in post-commit review of r311146 
<http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170814/479898.html>, 
which makes it clear that report_fatal_error shouldn't be used when there is a 
practicable alternative. Also make this clearer in CodingStandards.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311147 91177308-0d34-0410-b5e6-96231b3b80d8
Alex Bradbury 8 éve
szülő
commit
b24452bf84
2 módosított fájl, 10 hozzáadás és 8 törlés
  1. 4 3
      docs/CodingStandards.rst
  2. 6 5
      docs/ProgrammersManual.rst

+ 4 - 3
docs/CodingStandards.rst

@@ -1233,9 +1233,10 @@ code for this branch. If the compiler does not support this, it will fall back
 to the "abort" implementation.
 to the "abort" implementation.
 
 
 Neither assertions or ``llvm_unreachable`` will abort the program on a release
 Neither assertions or ``llvm_unreachable`` will abort the program on a release
-build. If the error condition can be triggered by user input, then the
-recoverable error mechanism described in :doc:`ProgrammersManual` or
-``report_fatal_error`` should be used instead.
+build. If the error condition can be triggered by user input then the
+recoverable error mechanism described in :doc:`ProgrammersManual` should be
+used instead. In cases where this is not practical, ``report_fatal_error`` may
+be used.
 
 
 Another issue is that values used only by assertions will produce an "unused
 Another issue is that values used only by assertions will produce an "unused
 value" warning when assertions are disabled.  For example, this code will warn:
 value" warning when assertions are disabled.  For example, this code will warn:

+ 6 - 5
docs/ProgrammersManual.rst

@@ -443,11 +443,12 @@ recovery.
 
 
 .. note::
 .. note::
 
 
-   Ideally, the error handling approach described in this section would be
-   used throughout LLVM. However, this is not yet the case. For
-   non-programmatic errors where the ``Error`` scheme cannot easily be
-   applied, ``report_fatal_error`` should be used to call any installed error
-   handler and then terminate the program.
+   While it would be ideal to use this error handling scheme throughout
+   LLVM, there are places where this hasn't been practical to apply. In
+   situations where you absolutely must emit a non-programmatic error and
+   the ``Error`` model isn't workable you can call ``report_fatal_error``,
+   which will call installed error handlers, print a message, and exit the
+   program.
 
 
 Recoverable errors are modeled using LLVM's ``Error`` scheme. This scheme
 Recoverable errors are modeled using LLVM's ``Error`` scheme. This scheme
 represents errors using function return values, similar to classic C integer
 represents errors using function return values, similar to classic C integer