[*] ive yet to see a single project of theirs beside gtest compile on a supported platform. v8 "clang on linux" where the fucking header does the wrong thing explicitly. v8 "msvc under windows". now this under msvc. fuck you, google. fuck you and your incompetent half-assed libraries. here's my contribution to a needlessly long commit log of fucking ungodly maintenance.

A challenge to anyone reading this:
> Scroll down this commit log
> Pick a random day
> Open all the commits
> Remind yourself this bullshit runs a $1,210 billion company.
> ....out of thousands of employees worth $1.65m/year (revenue per employee), they can barely muster +- 20 lines or even leave the configs/docs
> ...try not to kill yourself
This commit is contained in:
Reece Wilson 2022-06-23 16:20:23 +01:00
parent 9f58ee3f04
commit 2ca6abf87e
2 changed files with 67 additions and 20 deletions

29
Aurora.json Normal file
View File

@ -0,0 +1,29 @@
{
"name": "protobuf",
"type": "generic",
"sources": ["src/google/protobuf/**.cc",
"src/google/protobuf/**.h",
"src/google/protobuf/**.inc"],
"excludes": [
"**/*_test*.*",
"**/*test*.*",
"**/testing/**",
"**/*unittest.*",
"**/mock*.*"
],
"includes": "src/",
"actions": [
{
"filter": {
"platforms": "win32"
},
"then": {
"defines": [
"PROTOBUF_FUCK_GOOGLE_IVE_YET_TO_SEE_ONE_GOOGLE_PRODUCT_THAT_BUILDS_ON_THEIR_SUPPORED_PLATFORMS",
"PROTOBUF_CONSTINIT_FORCE=",
"PROTOBUF_CONSTEXPR_FORCE=constexpr"
]
}
}
]
}

View File

@ -640,27 +640,45 @@
// This experiment is purely for the purpose of gathering data. All code guarded
// by this flag is supposed to be removed after this experiment.
#define PROTOBUF_MESSAGE_OWNED_ARENA_EXPERIMENT
#ifdef PROTOBUF_CONSTINIT
#error PROTOBUF_CONSTINIT was previously defined
#if !defined(PROTOBUF_CONSTINIT)
#if defined(PROTOBUF_CONSTINIT_FORCE)
#define PROTOBUF_CONSTINIT PROTOBUF_CONSTINIT_FORCE
#elif defined(__cpp_constinit)
#define PROTOBUF_CONSTINIT constinit
// Some older Clang versions incorrectly raise an error about
// constant-initializing weak default instance pointers. Versions 12.0 and
// higher seem to work, except that XCode 12.5.1 shows the error even though it
// uses Clang 12.0.5.
#elif __has_cpp_attribute(clang::require_constant_initialization) && \
((defined(__APPLE__) && __clang_major__ >= 13) || \
(!defined(__APPLE__) && __clang_major__ >= 12))
#define PROTOBUF_CONSTINIT [[clang::require_constant_initialization]]
#elif PROTOBUF_GNUC_MIN(12, 2)
#define PROTOBUF_CONSTINIT __constinit
#else
#define PROTOBUF_CONSTINIT
#endif
#endif
#if defined(__cpp_constinit)
#define PROTOBUF_CONSTINIT constinit
#define PROTOBUF_CONSTEXPR constexpr
// Some older Clang versions incorrectly raise an error about
// constant-initializing weak default instance pointers. Versions 12.0 and
// higher seem to work, except that XCode 12.5.1 shows the error even though it
// uses Clang 12.0.5.
#elif __has_cpp_attribute(clang::require_constant_initialization) && \
((defined(__APPLE__) && __clang_major__ >= 13) || \
(!defined(__APPLE__) && __clang_major__ >= 12))
#define PROTOBUF_CONSTINIT [[clang::require_constant_initialization]]
#define PROTOBUF_CONSTEXPR constexpr
#elif PROTOBUF_GNUC_MIN(12, 2)
#define PROTOBUF_CONSTINIT __constinit
#define PROTOBUF_CONSTEXPR constexpr
#else
#define PROTOBUF_CONSTINIT
#define PROTOBUF_CONSTEXPR
#if !defined(PROTOBUF_CONSTEXPR)
#if defined(PROTOBUF_CONSTEXPR_FORCE)
#define PROTOBUF_CONSTEXPR PROTOBUF_CONSTEXPR_FORCE
#elif defined(__cpp_constinit)
#define PROTOBUF_CONSTEXPR constexpr
// Some older Clang versions incorrectly raise an error about
// constant-initializing weak default instance pointers. Versions 12.0 and
// higher seem to work, except that XCode 12.5.1 shows the error even though it
// uses Clang 12.0.5.
#elif __has_cpp_attribute(clang::require_constant_initialization) && \
((defined(__APPLE__) && __clang_major__ >= 13) || \
(!defined(__APPLE__) && __clang_major__ >= 12))
#define PROTOBUF_CONSTEXPR constexpr
#elif PROTOBUF_GNUC_MIN(12, 2)
#define PROTOBUF_CONSTEXPR constexpr
#else
#define PROTOBUF_CONSTEXPR
#endif
#endif
// Some globals with an empty non-trivial destructor are annotated with