summaryrefslogtreecommitdiff
path: root/contrib/libc++/src/iostream.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric2019-12-201-144/+0
| | | | | | | | | | | | | This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. Notes: svn path=/head/; revision=355940
* Merge libc++ trunk r366426, resolve conflicts, and add FREEBSD-Xlist.Dimitry Andric2019-08-221-4/+24
| | | | Notes: svn path=/projects/clang900-import/; revision=351402
* Merge libc++ trunk r351319, and resolve conflicts.Dimitry Andric2019-01-221-10/+10
| | | | Notes: svn path=/projects/clang800-import/; revision=343309
* Merge libc++ trunk r321017 to contrib/libc++.Dimitry Andric2017-12-201-8/+12
| | | | Notes: svn path=/projects/clang600-import/; revision=327039
* Merge libc++ trunk r300890, and update build glue.Dimitry Andric2017-04-221-8/+8
| | | | Notes: svn path=/projects/clang500-import/; revision=317287
* Merge libc++ trunk r291476, update Makefile, ObsoleteFiles.inc andDimitry Andric2017-01-091-10/+42
| | | | | | | OptionalObsoleteFiles.inc. Notes: svn path=/projects/clang400-import/; revision=311834
* Remove empty line again from libc++'s iostream.cpp. This was used toDimitry Andric2015-10-091-1/+0
| | | | | | | | force updates to this file, so it will be rebuilt by the fixed clang from r289072. Notes: svn path=/head/; revision=289073
* Temporarily revert upstream llvm trunk r240144 (by Michael Zolotukhin):Dimitry Andric2015-10-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | [SLP] Vectorize for all-constant entries. This should fix libc++'s iostream initialization SIGBUSing on amd64, whenever the global cout symbol is not aligned to 16 bytes. Some further explanation: libc++'s iostream.cpp contains the definitions of std::cout, std::cerr and so on. These global objects are effectively declared with an alignment of 8 bytes. When an executable is linked against libc++.so, it can sometimes get a copy of the global object, which is then at the same alignment. However, with clang 3.7.0, the initialization of these global objects will incorrectly use SSE instructions (e.g. movdqa), whenever the optimization level is high enough, and SSE is enabled, such as on amd64. When any of these objects is not aligned to 16 bytes, this will result in a SIGBUS during iostream initialization. In contrast, clang 3.6.x and earlier took the 8 byte alignment into consideration, and avoided SSE for those particular operations. After bisecting of upstream changes, I found that the above revision caused the change of this behavior, so I am reverting it now as a workaround, while a discussion and test case is being prepared for upstream. Notes: svn path=/head/; revision=289072
* Update libc++ to 3.7.0 release.Dimitry Andric2015-09-161-24/+44
| | | | Notes: svn path=/projects/clang370-import/; revision=287877
* Import libc++ 3.4 release. This contains a lot of bugfixes, and someDimitry Andric2014-01-301-8/+8
| | | | | | | | | preliminary support for C++1y. MFC after: 3 weeks Notes: svn path=/head/; revision=261283
* Import new libcxxrt / libc++. This brings some bug fixes, including a ↵David Chisnall2013-07-101-4/+4
| | | | | | | potential race condition for static initialisers. Notes: svn path=/head/; revision=253159
* Merge libc++ trunk r180598. Contains several minor cleanups and bugDimitry Andric2013-04-271-6/+8
| | | | | | | | | fixes, no major changes. MFC after: 2 weeks Notes: svn path=/head/; revision=249998
* Import libc++ trunk r165949. Among other improvements and bug fixes,Dimitry Andric2012-10-221-14/+14
| | | | | | | | | | | | | this has many visibility problems fixed, which should help with compiling certain ports that exercise C++11 mode (i.e. Firefox). Also, belatedly add the LICENSE.TXT and accompanying CREDITS.TXT files, which are referred to in all the source files. MFC after: 1 month Notes: svn path=/head/; revision=241903
* Import new version of libc++. Among other improvements, this comes with anDavid Chisnall2012-05-031-25/+38
| | | | | | | | <atomic> header that works with clang 3.1 (and, importantly, the pre-3.1 snapshot currently in head) Notes: svn path=/head/; revision=234976
* Import libc++ / libcxxrt into base. Not build by default yet (useDavid Chisnall2011-11-251-0/+53
MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog. To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags. Bug reports welcome, bug fixes even more welcome... Approved by: dim (mentor) Notes: svn path=/head/; revision=227983