| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This was put in to get libc++ building without libcxxabi. We now have
macros that show that we are building against libcxxabi so use that
instead. This guards against existing but broken cxxabi.h headers on the
system.
llvm-svn: 250507
|
|
|
|
| |
llvm-svn: 245539
|
|
|
|
| |
llvm-svn: 237592
|
|
|
|
|
|
| |
r229281, this adds version guards and test cases.
llvm-svn: 229968
|
|
|
|
|
|
| |
implicitly defined by clang, as of r229241.
llvm-svn: 229281
|
|
|
|
| |
llvm-svn: 221029
|
|
|
|
|
|
| |
conditional compilation block
llvm-svn: 221025
|
|
|
|
|
|
| |
multiple defines. Patch from Baptiste Daroussin.
llvm-svn: 220882
|
|
|
|
| |
llvm-svn: 198505
|
|
|
|
|
|
| |
change. PR17843
llvm-svn: 194432
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linking against libstdc++, rather than libsupc++, is probably better
for people who need to link against clients of libstdc++. Because
libsupc++ is provided only as a static library, its globals are not
shared between the static library and the copy linked into libstdc++.
This has been found to cause at least one test failure.
This also removes a number of symbols which were multiply defined
between libstdc++ and libc++, only when linking with libstdc++.
Differential Revision: http://llvm-reviews.chandlerc.com/D1825
llvm-svn: 192075
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The remaining multiple definitions were flushed out by attempting to
link libsupc++ and libc++ into the same executable with --whole-archive,
e.g.
clang++ -I../llvm/projects/libcxx/include -nodefaultlibs -Wl,--whole-archive lib/libc++.a /usr/lib/gcc/x86_64-linux-gnu/4.6/libsupc++.a -Wl,--no-whole-archive -lgcc -lgcc_s -lc -lpthread -lrt
(The same technique was used to flush out multiple definitions in
libstdc++.)
Differential Revision: http://llvm-reviews.chandlerc.com/D1824
llvm-svn: 192074
|
|
|
|
| |
llvm-svn: 192071
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
patch's intent is to make new.cpp compile using MS's cl.exe compiler without changing the meaning of anything for any other compiler.
The issue this patch seeks to address is that MS's compiler (cl.exe) doesn't support the __attribute__((__weak__)) or __atribute__((__visibility__("default")) syntax; so a solution must be found where cl.exe doesn't see this syntax.
This patch seeks to solve this problem by changing code patterned like this:
__attribute__((__weak__, __visibility__("default")))
void* operator new(size_t size, const std::nothrow_t&) _NOEXCEPT { /*snip*/; return p; }
to code like this:
_LIBCPP_WEAK
void* operator new(size_t size, const std::nothrow_t&) _NOEXCEPT { return p; }
Howard: Thanks for all the comments regarding the default visibility
tag on the definition. I agree it isn't needed, and that there are lots
of other places where it is missing. That being said, I'm not wanting
to rock the boat on that issue right now. So I've added it back to the
definition via _LIBCPP_FUNC_VIS. A later pass dedicated just to this
issue can bring things in to a consistent state one way or the other.
Note that we do not want to have the exact same attributes on the
declaration and defintion in this case. The declaration should not be
marked weak, whereas the definition should (which is what G M's patch
did). I've fully tested on OS X to ensure that the resultant attribute
syntax actually works.
llvm-svn: 192007
|
|
|
|
| |
llvm-svn: 190478
|
|
|
|
| |
llvm-svn: 177297
|
|
|
|
|
|
|
|
|
|
|
|
| |
typeinfo.cpp. Both new.cpp and typeinfo.cpp have code that is conditionally compiled
based on the LIBCXXRT and _LIBCPPABI_VERSION defines, but those files
do not currently include <cxxabi.h> in the non __APPLE__ case. The
attached patch updates those files so that for non __APPLE__ builds
<cxxabi.h> is included if available or if LIBCXXRT is set. I'm
modeling this on the recent updates to exception.cpp.
llvm-svn: 160790
|
|
|
|
| |
llvm-svn: 152718
|
|
|
|
| |
llvm-svn: 151717
|
|
|
|
|
|
| |
I'm having trouble reexporting it as a weak symbol.
llvm-svn: 151459
|
|
|
|
| |
llvm-svn: 149634
|
|
|
|
| |
llvm-svn: 145624
|
|
|
|
| |
llvm-svn: 135125
|
|
|
|
| |
llvm-svn: 132129
|
|
|
|
| |
llvm-svn: 120915
|
|
|
|
| |
llvm-svn: 120914
|
|
|
|
| |
llvm-svn: 120712
|
|
|
|
| |
llvm-svn: 119395
|
|
|
|
| |
llvm-svn: 111778
|
|
|
|
| |
llvm-svn: 111751
|
|
|
|
| |
llvm-svn: 110828
|
|
|
|
|
|
| |
accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.
llvm-svn: 104516
|
|
|
|
| |
llvm-svn: 104073
|
|
|
|
| |
llvm-svn: 103795
|
|
|
|
| |
llvm-svn: 103516
|
|
llvm-svn: 103490
|