36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/ADT/Optional.h
|
7fe65d691dcce550d53ec9310913aab67ab6d654 |
|
27-Mar-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Cleanup the simplify_type implementation. As far as simplify_type is concerned, there are 3 kinds of smart pointers: * const correct: A 'const MyPtr<int> &' produces a 'const int*'. A 'MyPtr<int> &' produces a 'int *'. * always const: Even a 'MyPtr<int> &' produces a 'const int*'. * no const: Even a 'const MyPtr<int> &' produces a 'int*'. This patch then does the following: * Removes the unused specializations. Since they are unused, it is hard to know which kind should be implemented. * Make sure we don't drop const. * Fix the default forwarding so that const correct pointer only need one specialization. * Simplifies the existing specializations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
70c808f5b7e1d9eaa3de872e162a25e956d4777e |
|
22-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
An Optional<T> is pod-like if the inner type is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
ea72255f5b0e8d92d5ae9feb5e92605d123888ca |
|
21-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Add move ctor/assignment to Optional<T> Code review feedback for r175580 by Jordan Rose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
2bbc19c1c6cd60b9c56750d7b03311c47a88b748 |
|
21-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Make Optional<T>'s operator bool 'explicit' in C++11 Provides a general way to add 'explicit' for conversion operators (a no-op when compiling as C++98). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
b8ebc9e2444c73126bdc812165f808f22af10cfa |
|
21-Feb-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
ADT/Optional.h: Appease msvc. It reapplies r175626. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
5c43245bf459c77077b607e1b55e6928cfbe464e |
|
21-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Provide a "None" value for convenience when using Optional<T>() This implementation of NoneType/None does have some holes but I haven't found one that doesn't - open to improvement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
6139b55222851e9fabde5c91de9e50ed8739c6c6 |
|
20-Feb-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r175626, "ADT/Optional.h: Appease msvc." Sorry, I didn't cover +Asserts, by accident. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
94e9d0d491f76aaab13f8bc7764ad73de11fa2bf |
|
20-Feb-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
767ad1c808c798191cf9470e7a0e546d3b472472 |
|
20-Feb-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
ADT/Optional.h: Appease msvc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
4318fc5e1e44f355ae117dcac385f1718d971e90 |
|
20-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Rename llvm::Optional<T>::Reset to 'reset' as per LLVM naming conventions. Code review feedback on r175580 from Jordan Rose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
a28eda7e401f37a2fe42ca9bba96b6e662b60cf0 |
|
20-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Allow llvm::Optional to work with types without default constructors. This generalizes Optional to require less from the T type by using aligned storage for backing & placement new/deleting the T into it when necessary. Also includes unit tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
674be02d525d4e24bc6943ed9274958c580bcfbc |
|
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix include guards so they exactly match file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
23203faf0b36c263248f5b265530c56974d93c98 |
|
02-Jan-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Use a bool instead of a bitfield in llvm/ADT/Optional. Fixes Valgrind failures and removes bitwise operations that don't provide any benefit. Valgrind failures reported by NAKAMURA Takumi. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
4334dd96a9e622fdcf2825a8f73a2d941d67be72 |
|
30-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES. Rationale: 1) This was the name in the comment block. ;] 2) It matches Clang's __has_feature naming convention. 3) It matches other compiler-feature-test conventions. Sorry for the noise. =] I've also switch the comment block to use a \brief tag and not duplicate the name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
a5bf44b0b396e8b9ae0db5c62c05ac6618aab5d3 |
|
30-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Separate out the tests for whether the compiler suports R-value references from whether it supports an R-value reference *this. No version of GCC today supports the latter, which breaks GCC C++11 compiles of LLVM and Clang now. Also add doxygen comments clarifying what's going on here, and update the usage in Optional. I'll update the usages in Clang next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
adf0c3d82dbff1480c63f1ebe68c7c1e6bb5828c |
|
30-Nov-2012 |
Jordan Rose <jordan_rose@apple.com> |
Add a new C++11 compatibility macro, LLVM_LVALUE_FUNCTION. This expands to '&', and is intended to be used when an /optional/ rvalue override is available. Before: void foo() const { ... } After: void foo() const LLVM_LVALUE_FUNCTION { ... } void foo() && { ... } This is used to allow moving the contents of an Optional. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
5ce10521a0986e9626530c19e3247431dbb5f2ca |
|
19-Oct-2012 |
Jordan Rose <jordan_rose@apple.com> |
Fix case for include of Compiler.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
9d9a6128feb6e2251eb3bacdf2d1083a8b2f5b83 |
|
19-Oct-2012 |
Jordan Rose <jordan_rose@apple.com> |
Add a T&& constructor to llvm::Optional. This allows llvm::Optional to be used with movable-but-not-copyable types. While LLVM itself is still C++03, there's no reason why tools built on top of it can't use C++11 features. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
78b9649d46c91f377cfc799aecb74cb017f72c36 |
|
11-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Poison the relational operators ==, !=, <, <=, >=, > on llvm::Optional objects, since they'll end up using the implicit conversion to "bool" and causing some very "fun" surprises. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|
76e94e541c867a1d61d9be6555d3c17cd09b3914 |
|
09-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Move 'Optional' class from Clang to LLVM/ADT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/Optional.h
|