rocksdb/memory
Peter Dillinger bda8d93ba9 Fix and detect headers with missing dependencies (#8893)
Summary:
It's always annoying to find a header does not include its own
dependencies and only works when included after other includes. This
change adds `make check-headers` which validates that each header can
be included at the top of a file. Some headers are excluded e.g. because
of platform or external dependencies.

rocksdb_namespace.h had to be re-worked slightly to enable checking for
failure to include it. (ROCKSDB_NAMESPACE is a valid namespace name.)

Fixes mostly involve adding and cleaning up #includes, but for
FileTraceWriter, a constructor was out-of-lined to make a forward
declaration sufficient.

This check is not currently run with `make check` but is added to
CircleCI build-linux-unity since that one is already relatively fast.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8893

Test Plan: existing tests and resolving issues detected by new check

Reviewed By: mrambacher

Differential Revision: D30823300

Pulled By: pdillinger

fbshipit-source-id: 9fff223944994c83c105e2e6496d24845dc8e572
2021-09-10 10:00:26 -07:00
..
allocator.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
arena.cc Use thread-safe `strerror_r()` to get error message (#8087) 2021-03-24 23:07:27 -07:00
arena.h Replace most typedef with using= (#8751) 2021-09-07 11:31:59 -07:00
arena_test.cc Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
concurrent_arena.cc Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
concurrent_arena.h C++20 compatibility (#6697) 2020-04-20 13:24:25 -07:00
jemalloc_nodump_allocator.cc slightly improve jemalloc allocator API header (#7592) 2020-10-28 13:47:12 -07:00
jemalloc_nodump_allocator.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
memkind_kmem_allocator.cc Add (& fix) some simple source code checks (#8821) 2021-09-07 21:19:27 -07:00
memkind_kmem_allocator.h Add (& fix) some simple source code checks (#8821) 2021-09-07 21:19:27 -07:00
memkind_kmem_allocator_test.cc Add (& fix) some simple source code checks (#8821) 2021-09-07 21:19:27 -07:00
memory_allocator.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
memory_usage.h Fix and detect headers with missing dependencies (#8893) 2021-09-10 10:00:26 -07:00