Normally people won't see warnings in libc++ headers, but if they compile with "-Wsystem-headers -Wnon-virtual-dtor" they will likely see issues in <locale>.
In the libc++ implementation time_get' has a private base class, __time_get_c_storage`, with virtual methods but a non-virtual destructor.
time_get itself can safely be used as a polymorphic base class because it inherits a virtual destructor from locale::facet. To placate the compiler we change __time_get_c_storage's destructor from public to protected, ensuring that it will never be deleted polymorphically.