Massive clang-format of every C or C++ source file (*.h, *.c, *.cpp), except for:
- third_party/
- ext/drsysm/libelftc/include/
- ext/drsyms/demangle.cc
This is a single, large commit by design to present a single history disruption point and bring the code base into a consistent format. clang-format version 6.0 was used.
Tweaks the clang-format rules to indent 4 after pre-processor hashes, to allow single-line case labels, and align trailing comments.
Disables the pp_indent vera style check as we changed the indent rule and clang-format now covers it. Leaves the other checks, even though some are redundant (they found clang-format errors).
Moves C++ token defines from globals_shared.h and globals.h to a new header, core/lib/c_defines.h, to avoid a clang-format parsing error where it fails to identify the include guard.
Adds genapi.pl removal of extra indentation inside API_EXPORT_ONLY and CLIENT_INTERFACE regions.
Adds exclusions around large regions we don't want to format, in these files:
- core/win32/syscallx.h
- core/arch/x86/decode_table.c
- core/arch/arm/table_a32_pred.c
- core/arch/arm/table_a32_unpred.c
- core/arch/arm/table_t32_16.c
- core/arch/arm/table_t32_16_it.c
- core/arch/arm/table_t32_base.c
- core/arch/arm/table_t32_coproc.c
- core/arch/arm/table_encode.c
Adds smaller exclusions to work around clang-format bugs:
- Several missing break-after-return-type
- Several >90-char lines
- Misc scattered issues, all listed in #2876 (closed)
Issue: #2876 (closed)