Default global operator new(), like malloc(), should return heap pointers, which in the analyzer are represented by SymbolicRegions with HeapSpaceRegion as their parent.
In the -analyzer-config c++-allocator-inlining mode, this was broken, and regular SymbolicRegions were returned instead, which have UnknownSpaceRegion as their parent.
This patch fixes this straightforwardly on ExprEngine side. We may want to delegate this job to the checkers though evalCall, but for now this mode doesn't support evalCall for operator new(), and i'm not sure if it'd be used much.
With this patch going on top of previous patches, enabling c++-allocator-inlining by default causes no regressions on tests (causes some improvements though). It doesn't mean it works (we still have callbacks broken, path diagnostic pieces unsupported, and i've just noticed one more void element region crash), just a psychological checkpoint.
I realize this isn't your code, but could we use FunctionDecl::isReplaceableGlobalAllocationFunction() here?