[Bug libstdc++/91516] New: Please also export the base object constructor for __shared_ptr<filesystem::_Dir>;

rafael at espindo dot la gcc-bugzilla@gcc.gnu.org
Wed Aug 21 21:29:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91516

            Bug ID: 91516
           Summary: Please also export the base object constructor for
                    __shared_ptr<filesystem::_Dir>;
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rafael at espindo dot la
  Target Milestone: ---

Given 

#include <filesystem>
void foo() {
    for (auto& dev : std::filesystem::directory_iterator("slaves")) {
    }
}


gcc calls
_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC1EOS5_,
but clang calls
_ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_.

In the libstdc++.so, only the C1 variant is exported, so a program compiled
with clang and libstdc++ fails to link.


More information about the Gcc-bugs mailing list