strip not stripping certain symbols

I'm a bit confused with a static library that I'm using...

Consider this code :

    static ContentManager& getInstance()
    {
        static ContentManager cm;
        return cm;
    }

Now I have told Xcode to strip "Non-Global Symbols." But if I run nm on the library (piped through c++filt) I'll see various versions of:

000000000001b900 D ContentManager::getInstance()::cm

...in files which call ContentManager::getInstance. cm should be non-global, so it should be stripped, right? Or am I missing something?

My only thought is that optimization may inlining that somehow, but if I turn off optimization (-O0) it still shows up.

This is in Xcode 14.1 but I believe we had a similar issue with Xcode 12-ish.

strip not stripping certain symbols
 
 
Q