http://llvm.org/bugs/show_bug.cgi?id=18969
Richard Smith <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |[email protected] Resolution|--- |INVALID --- Comment #1 from Richard Smith <[email protected]> --- std::make_shared is found by argument-dependent name lookup here, and when libc++ and boost are in C++98 mode, the libc++ overload happens to be more specialized. (Ironically, using -std=c++11 reverses this and will cause us to pick the boost version.) One way to deal with this is to move your using-declaration for make_shared into 'main': int main() { using boost::make_shared; std::string a; shared_ptr<Z> z = make_shared<Z>(a); // ok, use boost::make_shared, suppresses ADL } Another is to use 'boost::make_shared<Z>(a)' instead of 'make_shared<Z>(a)'. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
