4967a710c84587c654b56c828382219c3937dacb |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master Clang for rebase to r275480 Bug: http://b/31320715 This merges commit ac9cc4764cf47a6c3f031687d8592e080c9f5001 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Ic2875e5c3673c83448cd7d1013861e42947b1b55
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
87d948ecccffea9e9e37d0d053b246e2d6d6c47b |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r256229 http://b/26987366 Change-Id: I5d349c9843ea5c24d6e455956f8a446393b6873d
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
f72bc468e54819393c1805f19cbf353061b4c0ec |
|
15-Nov-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Don't reject dependent range-based for loops in constexpr functions. The loop variable isn't really uninitialized, it's just not initialized yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
9aebdc94d819e8a537030efc70567d585382ecf9 |
|
07-Nov-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR17615: A delegating constructor initializer is a full-expression. Don't forget to clean up temporaries at the end of it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
9a9ca98d6463530384aa12685034899c4cc8733d |
|
06-Nov-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
More constant evaluation cleanup, and fix an issue where we'd override an earlier 'non-constant' diagnostic with a later one if the earlier one was from a side-effect we thought we could evaluate past. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
3835a4ef050da466038844274d79f1fc9d77c0f1 |
|
06-Aug-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR16755: When initializing or modifying a bitfield member in a constant expression, truncate the stored value to the size of the bitfield. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
03ce5f8c68f55405db6001e82bdb18581d0dadce |
|
24-Jul-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: track object lifetime during constexpr evaluation, and don't allow objects to be used once their lifetimes end. This completes the C++1y constexpr extensions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
db2fe739e5aac227d85d149efc9036696997a26f |
|
25-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
More of N3652: don't add an implicit 'const' to 'constexpr' member functions when checking for overloads in C++1y. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
37a84f653c196aa0b73fad96707175a62dcb6a12 |
|
20-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR16377: Allow evaluation of statement expressions in constant evaluation, why not. Apparently GCC supports this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
7c3e615f01e8f9f587315800fdaf2305ed824568 |
|
13-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR12086, PR15117 Introduce CXXStdInitializerListExpr node, representing the implicit construction of a std::initializer_list<T> object from its underlying array. The AST representation of such an expression goes from an InitListExpr with a flag set, to a CXXStdInitializerListExpr containing a MaterializeTemporaryExpr containing an InitListExpr (possibly wrapped in a CXXBindTemporaryExpr). This more detailed representation has several advantages, the most important of which is that the new MaterializeTemporaryExpr allows us to directly model lifetime extension of the underlying temporary array. Using that, this patch *drastically* simplifies the IR generation of this construct, provides IR generation support for nested global initializer_list objects, fixes several bugs where the destructors for the underlying array would accidentally not get invoked, and provides constant expression evaluation support for std::initializer_list objects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
211c8ddb5b500ed84833751363d0cfe1115f4dd3 |
|
05-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Model temporary lifetime-extension explicitly in the AST. Use this model to handle temporaries which have been lifetime-extended to static storage duration within constant expressions. This correctly handles nested lifetime extension (through reference members of aggregates in aggregate initializers) but non-constant-expression emission hasn't yet been updated to do the same. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
bdaeaed3e3293f1915cdf336f406d4d391331039 |
|
22-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR16090: C++1y: treat undeduced 'auto' as a literal type, so that constexpr function templates can use it as a return type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
7247c88d1e41514a41085f83ebf03dd5220e054a |
|
15-May-2013 |
David Blaikie <dblaikie@gmail.com> |
Use only explicit bool conversion operator The most common (non-buggy) case are where such objects are used as return expressions in bool-returning functions or as boolean function arguments. In those cases I've used (& added if necessary) a named function to provide the equivalent (or sometimes negative, depending on convenient wording) test. DiagnosticBuilder kept its implicit conversion operator owing to the prevalent use of it in return statements. One bug was found in ExprConstant.cpp involving a comparison of two PointerUnions (PointerUnion did not previously have an operator==, so instead both operands were converted to bool & then compared). A test is included in test/SemaCXX/constant-expression-cxx1y.cpp for the fix (adding operator== to PointerUnion in LLVM). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
284b3cbfd1cd5b6585437fbb8b95fe136f273efb |
|
12-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: support for 'switch' statements in constexpr functions. This is somewhat inefficient; we perform a linear scan of switch labels to find the one matching the condition, and then walk the body looking for that label. Both parts should be straightforward to optimize. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
a49a7fe2a7c1881402be25ca9124d3883637198f |
|
08-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y constant expression evaluation: compound assignment support for floating-point and pointer types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
d20afcbe94f0daed15d040d98d2aa8ef8ed368e4 |
|
07-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y constant expression evaluation: support for compound assignments on integers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
a8942d7686dde6d221a176c502ce857bdc409dab |
|
07-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: an assignment operator is implicitly 'constexpr' if it would only call 'constexpr' assignment operators for a literal class type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
692eafd2052fb6ca581530d6f3569eea9520a508 |
|
06-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: support range-based for loops in constant expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
ce61715606b5f55ccc023720cdf9c1a796b0d526 |
|
06-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: support 'for', 'while', and 'do ... while' in constant expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
5528ac9f40ec6cb54e7096908bf2beeed511bce4 |
|
06-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: support for increment and decrement in constant expression evaluation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
b476a14e9b35ef2448b42b033e1f0cceaa3f2778 |
|
05-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Factor out duplication between lvalue-to-rvalue conversions and variable assignments in constant expressions. No significant functionality changes (slight improvement to potential constant expression checking). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
bebf5b1bcfbf591dd3cd80c4aebd6486bb34f41c |
|
26-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y: support simple variable assignments in constexpr functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|
a10b97898ee6339c3110e6ca33f178ff52f05238 |
|
22-Apr-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y constexpr extensions, round 1: Allow most forms of declaration and statement in constexpr functions. Everything which doesn't require variable mutation is also allowed as an extension in C++11. 'void' becomes a literal type to support constexpr functions which return 'void'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/constant-expression-cxx1y.cpp
|