Commit Graph
13 Commits
Author SHA1 Message Date
Jon Meow a9a726bc3e Switch std::count CHECK to DCHECK, adding DCHECK (#1107) 2022-02-25 15:14:34 -08:00
Jon Meow 2e5fa7c453 Split CHECK internals to their own files for clean namespacing. (#915) 2021-10-26 12:04:18 -07:00
Jon Meow 44154c8663 Clean up common dir clang-tidy warnings (#907) 2021-10-21 14:39:11 -07:00
Jon Meow ffa4e76ede Add underscores to private data members (#898)
This is the last PR I plan to have focused on #720
2021-10-19 14:27:10 -07:00
Chandler CarruthandGeoff Romer a2c91eae89 Rework exiting system to have better backtraces. (#863)
Previously, the program exit was triggered by the destructor.
Unfortunately, C++ doesn't make it precisely clear where the destructor
is run, and Clang doesn't generate reliable debug information for that
to give good backtraces. Among other things, when combining separate
cleanup regions in Clang there may be no single canonical location.

Instead, move the ExitingStream system to use an explicit
low-precedence operator overload to flush the output and exit. This
ensures the stream and other actions are completed first but then
immediately exits the program in a way that has a definitive source
location and produces reliable backtraces.

I've tried to add comments and helpers to make this as clear as possible
given that it is a subtle and surprising issue.

Co-authored-by: Geoff Romer <gromer@google.com>
2021-10-05 00:30:43 -07:00
Geoff Romer c37521fdc3 Log C++ file/line number in CHECK and FATAL (#862) 2021-09-30 11:56:19 -07:00
Chandler Carruth fbb0aa729b Update LLVM and switch to upstreamed Bazel BUILD. (#838)
Also removes the legacy llvm-bazel submodule that is no longer needed.
2021-09-20 13:15:08 -07:00
Geoff RomerandJon Meow 33dd9a873d Debugging quality-of-life improvements (#810)
* Debugging quality-of-life improvements

- Use std::abort for `CHECK`/`FATAL` failures, which acts as a debugger breakpoint as well as automatically printing a stack trace.
- Re-enable printing continuations in `--trace` mode.
- Log the source location of each step in `--trace` mode.

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>
2021-09-08 09:25:16 -07:00
Jon Meow 7c03858b55 Explanatory FATAL comment (#716)
Oversight from #704, I'd had this change in the client but missed it because I ran git add in the wrong spot.
2021-08-06 14:57:21 -07:00
Jon Meow 2e9e4f4cb3 Migrate remaining exits to FATAL_*_ERROR calls (#704)
Adds FATAL for things that are most likely programming errors in executable_semantics.
2021-08-06 13:06:25 -07:00
Jon Meow 034f3600e3 Add a FatalUserError macro to help print user-caused errors. (#668) 2021-07-21 12:38:56 -07:00
Jon Meow 1ddb1a264a Restructure CHECK to provide a stream (#660) 2021-07-20 11:52:24 -07:00
Jon Meow 6c259dd5de Switch from assert to a CHECK macro to run in all build modes. (#595) 2021-06-24 12:32:01 -07:00