sapling/eden/fs
Adam Simpkins e07f8bd7b6 refactor the EDEN_BUG() macro
Summary:
This splits `EDEN_BUG()` into three separate version.  All three crash in
debug mode builds, but in release builds they behave differently:

- `EDEN_BUG()` throws an exception
- `EDEN_BUG_FUTURE(Type)` returns a `folly::Future<Type>` that has been
  fulfilled with an exception.
- `EDEN_BUG_EXCEPTION()` returns a `folly::exception_wrapper`.

The main advantage of this is that this allows the compiler to detect that
`EDEN_BUG()` can never return.  Previously `EDEN_BUG()` was used for all 3 of
these different cases, and its behavior depended on whether `toException()`
was ever called.  As a result we could not easily get the compiler to identify
code paths where we know at compile time that it will never return.

Reviewed By: chadaustin

Differential Revision: D18652103

fbshipit-source-id: 070107c7520f51b05696905fa243de5f8df15958
2019-11-22 15:38:33 -08:00
..
benchharness Tidy up license headers 2019-10-11 05:28:23 -07:00
config refactor the EDEN_BUG() macro 2019-11-22 15:38:33 -08:00
fuse Replace Folly Format with fmt in logger to reduce binary size 2019-11-18 05:53:08 -08:00
inodes refactor the EDEN_BUG() macro 2019-11-22 15:38:33 -08:00
journal rename tracing to telemetry 2019-10-15 13:39:41 -07:00
model improve error message when invalid hashes are given 2019-11-07 17:26:09 -08:00
rocksdb Remove dead includes in eden 2019-10-11 16:45:01 -07:00
service refactor the EDEN_BUG() macro 2019-11-22 15:38:33 -08:00
sqlite fix a missing dependency in a CMakeLists.txt file 2019-11-21 21:43:54 -08:00
store cmake: always build support for the EdenSCM backing store 2019-11-22 13:00:07 -08:00
takeover refactor the EDEN_BUG() macro 2019-11-22 15:38:33 -08:00
telemetry report daemon starts to scuba 2019-11-13 20:16:37 -08:00
testharness add a StructuredLogger instance to ServerState 2019-11-13 15:23:38 -08:00
utils refactor the EDEN_BUG() macro 2019-11-22 15:38:33 -08:00
win Add template function to convert different string input types 2019-11-18 11:31:17 -08:00
CMakeLists.txt rename tracing to telemetry 2019-10-15 13:39:41 -07:00