summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-05-03 21:30:18 +0000
committerEric Fiselier <eric@efcs.ca>2016-05-03 21:30:18 +0000
commit27cb2f12252776825f656997ec4ee8f552259f08 (patch)
treecb9840200089e78088ab71e172e96736d96be642 /llvm/lib/Transforms
parentc91e0b2fdefa47f0ffa539aa6352c2058d3ab133 (diff)
downloadbcm5719-llvm-27cb2f12252776825f656997ec4ee8f552259f08.tar.gz
bcm5719-llvm-27cb2f12252776825f656997ec4ee8f552259f08.zip
Create new library 'libc++experimental.a' for packaging TS symbols.
Summary: Out-of-line symbols for <experimental/...> headers are not ABI or API stable and cannot live in the 'libc++.dylib'. Currently they have nowhere to live. I would like to add a new library target `libc++experimental.a` to fix this. Previously I had suggested different libraries for different TS's (`libc++filesystem.a`, 'libc++LFTS.a`, ect). I no longer think this is the right approach. Instead `c++experimental` will hold *all* TS implementations as a single monolithic library. I see two main benefits to this: 1. Users only have to know about and manually link one library. 2. It makes it easy to implement TS's with one or two out-of-line symbols. (Ex. PMRs) `c++experimental` provides NO ABI compatibility. Symbols can freely be added/removed/changed without concern for ABI stability. I will add documentation for this after landing this patch (but before adding anything to it). `c++experimental` only builds as a static library. By default CMake will build/test this library but will *NOT* install it. This patch adds the CMake and LIT logic needed to build/test the new library. Once this lands I plan on using it to implement parts of `<experimental/memory_resource>`. Reviewers: mclow.lists Subscribers: cfe-commits, theraven, krememek, dexonsmith, bcraig, beanz, danalbert Differential Revision: http://reviews.llvm.org/D19856 llvm-svn: 268443
Diffstat (limited to 'llvm/lib/Transforms')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud