[PATCH] D70183: Detect source location overflow due includes

Diogo N. Sampaio via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 13 08:39:06 PST 2019


dnsampaio added inline comments.


================
Comment at: clang/lib/Basic/SourceManager.cpp:587
+    Diag.Report(IncludePos, diag::err_include_too_large);
+    exit(1);
+  }
----------------
miyuki wrote:
> dnsampaio wrote:
> > For debug builds, I could not find any other way to not reach an assert failure other than exiting here. Perhaps there is a more llvm specific way to die? llvm_unreachable() ?
> There is a similar error `err_file_too_large`. How is it handled? `llvm_unreachable` is intended for code that is unreachable: it causes an assertion failure in debug builds and undefined behavior in release builds.
The `err_file_too_large` above in this file allows the function to finish and return further on. Here, we assert false before the message being printed.
If `llvm_unreachable` is undefined behavior, then I should stick to exit(1) ?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70183/new/

https://reviews.llvm.org/D70183





More information about the cfe-commits mailing list