History log of /external/clang/test/CodeGenCXX/lambda-expressions.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
93ab6bf534fb6c26563c00f28a8fc5581bb71dfd 15-Aug-2013 Stephen Lin <stephenwlin@gmail.com> CHECK-LABEL-ify some code gen tests to improve diagnostic experience when tests fail.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
c0dcc2d7beaeb6a80c0c7d69086b4c8894b662a0 15-Feb-2013 Bill Wendling <isanbard@gmail.com> Add the 'target-cpu' and 'target-features' attributes to functions.

The back-end will use these values to reconfigure code generation for different
features.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
5e31474b9c8348e8d0404264ae6a8775e34df6ac 01-Feb-2013 Bill Wendling <isanbard@gmail.com> Update the tests.

This update coincides with r174110. That change ordered the attributes
alphabetically.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
f0f7fa022414cc58c8def9fed3c73d0464afe559 29-Jan-2013 Bill Wendling <isanbard@gmail.com> Modify the tests for the (sorted) order that the attributes come out as now.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
89e19b43b81a6b5d092a81d2ebf6ec9a4097a48d 03-Jan-2013 Eli Friedman <eli.friedman@gmail.com> Don't assert/crash on reference variables in lambdas bound to a
static local variable from the parent scope. PR14773.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
457d65ae105110c66e5d45b5fbb1e90dda7ad148 14-Dec-2012 NAKAMURA Takumi <geek4civic@gmail.com> clang/test/CodeGenCXX/lambda-expressions.cpp: Relax expression for -Asserts.

"entry:" is not met in -Asserts build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
50f089a6e1837cb81f8d1830bda6db619e422a2e 14-Dec-2012 Eli Friedman <eli.friedman@gmail.com> Make sure the __invoke function for lambdas returns properly. Per bug report on IRC>



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
464a01a67c2cf7c42c4d15f687f6b9a622468783 01-Dec-2012 Douglas Gregor <dgregor@apple.com> Fix the determination of whether a capture refers to an enclosing
scope when dealing with nested blocks. Fixes <rdar://problem/12778708>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
5016a70c183a50845a0421802d161093dd0643f6 20-Oct-2012 Richard Smith <richard-llvm@metafoo.co.uk> DR1472: A reference isn't odr-used if it has preceding initialization,
initialized by a reference constant expression.

Our odr-use modeling still needs work here: we don't yet implement the 'set of
potential results of an expression' DR.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
8ae4ec28451a16a57718286da3e476fc2f495c3f 07-Aug-2012 Richard Smith <richard-llvm@metafoo.co.uk> Teach Expr::HasSideEffects about all the Expr types, and fix a bug where it
was mistakenly classifying dynamic_casts which might throw as having no side
effects.

Switch it from a visitor to a switch, so it is kept up-to-date as future Expr
nodes are added. Move it from ExprConstant.cpp to Expr.cpp, since it's not
really related to constant expression evaluation.

Since we use HasSideEffect to determine whether to emit an unused global with
internal linkage, this has the effect of suppressing emission of globals in
some cases.

I've left many of the Objective-C cases conservatively assuming that the
expression has side-effects. I'll leave it to someone with better knowledge
of Objective-C than mine to improve them.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
5878cbcfaa90b8515550db86033fd5a0efab971d 21-Feb-2012 Douglas Gregor <dgregor@apple.com> Implement non-internal linkage for lambda closure types that need a
stable mangling, since these lambdas can end up in multiple
translation units. Sema is responsible for deciding when this is the
case, because it's already responsible for choosing the mangling
number.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
fa07ab57eb565b4a00712adcefb29d96b445bfcd 20-Feb-2012 Douglas Gregor <dgregor@apple.com> Make sure that we set up the right declaration contexts when creating
and introducing the lambda closure type and its function call
operator. Previously, we assumed that the lambda closure type would
land directly in the current context, and not some parent context (as
occurs with linkage specifications). Thanks to Richard for the test case.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
ee18803f163c4ffcbc8f55a1aae48514d4f80521 20-Feb-2012 Douglas Gregor <dgregor@apple.com> When we resolve the type of an 'auto' variable, clear out the linkage
of that variable; it will need to be recomputed with the resolved
type.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
9e8c92a9c9b949bbb0408fbbd9a58e34894b6efc 20-Feb-2012 Douglas Gregor <dgregor@apple.com> Basic support for name mangling of C++11 lambda expressions. Because
name mangling in the Itanium C++ ABI for lambda expressions is so
dependent on context, we encode the number used to encode each lambda
as part of the lambda closure type, and maintain this value within
Sema.

Note that there are a several pieces still missing:
- We still get the linkage of lambda expressions wrong
- We aren't properly numbering or mangling lambda expressions that
occur in default function arguments or in data member initializers.
- We aren't (de-)serializing the lambda numbering tables




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
27dd7d962bbf774988bc5e59d04a7743ed503514 17-Feb-2012 Douglas Gregor <dgregor@apple.com> Rework the Sema/AST/IRgen dance for the lambda closure type's
conversion to function pointer. Rather than having IRgen synthesize
the body of this function, we instead introduce a static member
function "__invoke" with the same signature as the lambda's
operator() in the AST. Sema then generates a body for the conversion
to function pointer which simply returns the address of __invoke. This
approach makes it easier to evaluate a call to the conversion function
as a constant, makes the linkage of the __invoke function follow the
normal rules for member functions, and may make life easier down the
road if we ever want to constexpr'ify some of lambdas.

Note that IR generation is responsible for filling in the body of
__invoke (Sema just adds a dummy body), because the body can't
generally be expressed in C++.

Eli, please review!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp
8656855efba1b45cf4be3bb5264212dee5206cb1 14-Feb-2012 Eli Friedman <eli.friedman@gmail.com> Add a coverage test for lambda expression IRGen.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/lambda-expressions.cpp