Eric Fiselier
2d15f15f28
[libcxx] LWG2420 bits for bind<void> - Patch from K-Ballo
...
Implemented LWG2420 bits for bind<void>
Review: http://reviews.llvm.org/D10997
llvm-svn: 241967
2015-07-10 23:29:18 +00:00
Eric Fiselier
b11df184ad
Fix std::function allocator constructors in C++03.
...
The C++03 version of function tried to default construct the allocator
in the uses allocator constructors when no allocation was performed. These
constructors would fail to compile when used with allocators that had no
default constructor.
llvm-svn: 239708
2015-06-14 23:30:09 +00:00
Eric Fiselier
03d5dd2825
Add missing return statements in C++03 std::function
...
llvm-svn: 238803
2015-06-02 01:31:33 +00:00
Marshall Clow
1f508014df
In many places, there was an #ifdef/#else block that selected one of two implmentations of rebind_alloc based on whether or not we had template aliases. Create a helper struct to encapsulate that bit of logic, and replace all the ifdefs with uses of that struct. No functionality change intented.
...
llvm-svn: 234296
2015-04-07 05:21:38 +00:00
Eric Fiselier
54519a6be9
[libcxx] Fix PR 22468 - std::function<void()> does not accept non-void-returning functions
...
Summary:
The bug can be found here: http://llvm.org/bugs/show_bug.cgi?id=22468
`__invoke_void_return_wrapper` is needed to properly handle calling a function that returns a value but where the std::function return type is void. Without this '-Wsystem-headers' will cause `function::operator()(...)` to not compile.
Reviewers: eugenis, K-ballo, mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7444
llvm-svn: 228705
2015-02-10 16:48:45 +00:00
Marshall Clow
38cae6330b
Fix libc++ bug #20039 : 'Constructing std::function from empty compatible std::function results in half-empty state' Thanks to Agustin Berge for the report, and for his and Eric Fiselier's work on a fix.
...
llvm-svn: 212070
2014-06-30 21:27:51 +00:00
Marshall Clow
f9af6140ff
Some calls to get<>() were qualified. Some were not. Qualify them all. Fixes bug #20092 . Thanks to Agustín Bergé for the bug report and the fix.
...
llvm-svn: 211563
2014-06-24 00:46:19 +00:00
Peter Collingbourne
a5adf489b7
Const qualify __mem_fn call operator
...
QOI improvement.
Differential Revision: http://llvm-reviews.chandlerc.com/D2059
llvm-svn: 199848
2014-01-22 22:56:52 +00:00
Howard Hinnant
f0544c2086
Nico Rieck: this patch series fixes visibility issues on Windows as explained in < http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html >.
...
llvm-svn: 188192
2013-08-12 18:38:34 +00:00
Richard Smith
79c06417d1
Add some missing cv-qualifiers.
...
llvm-svn: 186909
2013-07-23 01:24:30 +00:00
Howard Hinnant
6e41256f68
No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute.
...
llvm-svn: 176593
2013-03-06 23:30:19 +00:00
Howard Hinnant
c003db1fca
Further macro protection by replacing _[A-Z] with _[A-Z]p
...
llvm-svn: 145410
2011-11-29 18:15:50 +00:00
Howard Hinnant
073458b1ab
Windows support by Ruben Van Boxem.
...
llvm-svn: 142235
2011-10-17 20:05:10 +00:00
Howard Hinnant
ce48a1137d
_STD -> _VSTD to avoid macro clash on windows
...
llvm-svn: 134190
2011-06-30 21:18:19 +00:00
Howard Hinnant
412dbebe1b
license change
...
llvm-svn: 119395
2010-11-16 22:09:02 +00:00
Howard Hinnant
43d9923860
visibility-decoration.
...
llvm-svn: 114451
2010-09-21 17:32:39 +00:00
Howard Hinnant
b3371f6f49
Fixing whitespace problems
...
llvm-svn: 111750
2010-08-22 00:02:43 +00:00
Howard Hinnant
9b0b6d45d2
Installed allocator into std::function
...
llvm-svn: 111672
2010-08-20 19:36:46 +00:00
Howard Hinnant
54b409fdb9
now works with -fno-exceptions and -fno-rtti
...
llvm-svn: 110828
2010-08-11 17:04:31 +00:00
Howard Hinnant
5b08a8a432
Wiped out some non-ascii characters that snuck into the copyright.
...
llvm-svn: 103516
2010-05-11 21:36:01 +00:00
Howard Hinnant
3e519524c1
libcxx initial import
...
llvm-svn: 103490
2010-05-11 19:42:16 +00:00