[cfe-dev] [llvm-dev] Upcoming removal of std::auto_ptr (in C++1z)

Martin J. O'Riordan via cfe-dev cfe-dev at lists.llvm.org
Thu Feb 9 01:31:30 PST 2017


Hi Eric, 

 

Yes I have incorporated this, and I can happily say that we now have LibC++ building and testing fine.  We don’t use ‘libc++abi’ as it happens, though I do pull in elements for RTTI support (‘private_typeinfo’).

 

You don’t even want to think about our multicore linking without taking a big sedative first ;-)

 

Thanks again you your help, and sorry about the long delay responding,

 

            MartinO

 

From: Eric Fiselier [mailto:eric at efcs.ca] 
Sent: 04 February 2017 20:30
To: Martin J. O'Riordan <Martin.ORiordan at movidius.com>
Cc: Marshall Clow <mclow.lists at gmail.com>; cfe-dev <cfe-dev at lists.llvm.org>
Subject: Re: [cfe-dev] [llvm-dev] Upcoming removal of std::auto_ptr (in C++1z)

 

 

 

On Mon, Jan 30, 2017 at 3:35 PM, Martin J. O'Riordan <martin.oriordan at movidius.com <mailto:martin.oriordan at movidius.com> > wrote:

Thanks Eric, the assurance that there will never be a need for a MultiLib build is more comforting than you might guess :), and to me, it is further weight against the incumbent.

 

It would be really unfortunate if different dylibs were needed for different dialects. :-)

 

 

So from that, I would like to expand - with an out-of-tree - CMake “incompatible” library cross-compiler, what flags should I pass while building LibC++?  Usually I follow whatever ‘buildit’ recommends, but ‘buildit’ looks likely to be removed soon.

 

That's unfortunate that you can't use the CMake build. The reason buildit is getting removed is it is unmaintained, so it's "recommendations" are way out of date. I would suggest configuring CMake with a "compatible compiler" as closely as possible to your real build, and then simply inspect the flags it passes. Off the top of my head the important compile flags are:

 

-nostdinc++

-D_LIBCPP_BUILDING_LIBRARY

-DLIBCXX_BUILDING_LIBCXXABI (Assuming your building against libc++abi).

 

The linker flags are much more complex, so I won't attempt to enumerate the possibilities here.

 

/Eric

 

Thanks,

 

            MartinO

 

 

From: Eric Fiselier [mailto:eric at efcs.ca <mailto:eric at efcs.ca> ] 
Sent: 30 January 2017 17:20
To: Martin J. O'Riordan <martin.oriordan at movidius.com <mailto:martin.oriordan at movidius.com> >
Cc: Marshall Clow <mclow.lists at gmail.com <mailto:mclow.lists at gmail.com> >; cfe-dev <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org> >
Subject: Re: [cfe-dev] [llvm-dev] Upcoming removal of std::auto_ptr (in C++1z)

 

 

 

On Wed, Jan 25, 2017 at 2:11 AM, Martin J. O'Riordan via cfe-dev <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org> > wrote:

Will LibC++ still enable ‘auto_ptr’ when ‘-std=c++[98|11|15]’ are chosen?  I assume that it will.  If ‘auto_ptr’ is entirely in the headers, I don’t see any problems, but if some support is in the library, how should the library itself be built so that a single library build supports all of the Standards?  Will we need to provide Multilib builds of the libraries for C++17 versus its predecessors?

 

 

There will never be a need for multilib builds of Libc++ for different dialects.

 

/Eric

 

 

 

Thanks,

 

            MartinO

 

From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org <mailto:llvm-dev-bounces at lists.llvm.org> ] On Behalf Of Marshall Clow via llvm-dev
Sent: 24 January 2017 22:34
To: llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> 
Subject: Re: [llvm-dev] Upcoming removal of std::auto_ptr (in C++1z)

 

 

 

On Mon, Jan 23, 2017 at 1:32 PM, Marshall Clow <mclow.lists at gmail.com <mailto:mclow.lists at gmail.com> > wrote:

The upcoming C++1z (probably C++17) standard will not contain several things - most notably auto_ptr.

 

Soon, libc++ will not be providing auto_ptr by default when building in C++1z mode.

You'll be able to get it back with a 

"-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR" on your command line, or "#define _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR" before including any libc++ header files.

 

 

Landed as revision 292986.

 

-- Marshall 

 


_______________________________________________
cfe-dev mailing list
cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org> 
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170209/297703e8/attachment.html>


More information about the cfe-dev mailing list