-
Clang seems to be slightly stricter than gcc.
-
Have classes contain only a single private member of type PointerHolder<Members>. This makes it safe to change the structure of the Members class without breaking binary compatibility. Many of the classes already follow this pattern quite successfully. This brings in the rest of the class that are part of the public API.
-
Based on sizeof(size_t). Assumes 64 if not 32.
-
Since autogenerated files are now committed, we no longer need to rerun ./autogen.sh and actually shouldn't because it could mask errors.
-
gcc already warns for undefined variables, but this is in preparation for Google's oss-fuzz, which builds in this way.
-
The Azure pipeline does all the artifact creation now.
-
Since the files autogen.sh creates are now controlled, you only have to run autogen.sh when you modify the source files, not when you build from a clean checkout.
-
Update documentation to reflect that automatically generated files are committed. Detect when they are outdated if we have the ability to regenerate them.
-
Update this to be a more accurate reflection of what I actually do and to make it a better and more usable checklist.
-
This is how I work with the file, so this format is most convenient for me.