History log of /llvm-project/clang/lib/CodeGen/CGExprConstant.cpp (Results 251 – 275 of 538)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c4b251dc 10-Jan-2012 Eli Friedman <eli.friedman@gmail.com>

Implement the missing pieces of Evaluate for _Complex types. With that complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex

Implement the missing pieces of Evaluate for _Complex types. With that complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.)

llvm-svn: 147840

show more ...


# b1bc368c 05-Jan-2012 Eli Friedman <eli.friedman@gmail.com>

Address Richard's review comments on r147561 (Evaluate support for address-of-label differences).

llvm-svn: 147631


# fd5e54da 04-Jan-2012 Eli Friedman <eli.friedman@gmail.com>

Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such

Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer.

With that done, remove a bunch of buggy code from CGExprConstant for handling scalar expressions which is no longer necessary.

Fixes PR11705.

llvm-svn: 147561

show more ...


# 6e52514c 27-Dec-2011 Richard Smith <richard-llvm@metafoo.co.uk>

constexpr: support for evaluation and codegen of typeid constants.

llvm-svn: 147290


# 5c9cd7a8 22-Dec-2011 Eli Friedman <eli.friedman@gmail.com>

Fix a failure (which led to a crash) in constant emission code with vector compound literals.

llvm-svn: 147111


# dae858ac 07-Dec-2011 Eli Friedman <eli.friedman@gmail.com>

Make sure we correctly zero-initialize unions containing a pointer to data member as the first field. PR11487.

llvm-svn: 146009


# 2d988f0f 22-Nov-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Use static storage duration for file-scope compound literals, even when they
appear in non-constant initializers in C++.

llvm-svn: 145087


# 027bf11e 17-Nov-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Constant expression evaluation: add support for evaluation of member pointers
and base-to-derived casts, and add proper handling of temporaries.

llvm-svn: 144926


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4
# ce40ad67 12-Nov-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Represent an APValue based on a Decl as that Decl, rather than a DeclRefExpr
or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to
static member functions and static data mem

Represent an APValue based on a Decl as that Decl, rather than a DeclRefExpr
or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to
static member functions and static data members are now emitted as constant
expressions.

llvm-svn: 144468

show more ...


# d62306a4 10-Nov-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Constant expression evaluation: support for evaluation of structs and unions of
literal types, as well as derived-to-base casts for lvalues and
derived-to-virtual-base casts.

llvm-svn: 144265


Revision tags: llvmorg-3.0.0-rc3
# f3e9e43d 07-Nov-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Constant expression evaluation: support for arrays.

llvm-svn: 143922


# ffc8ca2d 07-Nov-2011 John McCall <rjmccall@apple.com>

Rip out CK_GetObjCProperty.

llvm-svn: 143910


Revision tags: llvmorg-3.0.0-rc2
# fcec630a 01-Nov-2011 Eli Friedman <eli.friedman@gmail.com>

Fix the representation of wide strings in the AST and IR so that it uses the native representation of integers for the elements. This fixes a bunch of nastiness involving
treating wide strings as a

Fix the representation of wide strings in the AST and IR so that it uses the native representation of integers for the elements. This fixes a bunch of nastiness involving
treating wide strings as a series of bytes.

Patch by Seth Cantrell.

llvm-svn: 143417

show more ...


# 7b553f1b 29-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it will
implicitly perform an lvalue-to-rvalue conversion if used on an lvalue
expression. Also improve the documentation of Expr

Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it will
implicitly perform an lvalue-to-rvalue conversion if used on an lvalue
expression. Also improve the documentation of Expr::Evaluate* to indicate which
of them will accept expressions with side-effects.

llvm-svn: 143263

show more ...


# 9190e19b 24-Oct-2011 Eli Friedman <eli.friedman@gmail.com>

Don't try to emit CK_LValueBitCast casts as constants. PR9558.

llvm-svn: 142863


Revision tags: llvmorg-3.0.0-rc1
# f0c267e6 14-Oct-2011 Anton Korobeynikov <asl@math.spbu.ru>

Provide half floating point support as a storage only type.
Lack of half FP was a regression compared to llvm-gcc.

llvm-svn: 142016


# fde961db 14-Oct-2011 Eli Friedman <eli.friedman@gmail.com>

PR11124: Don't overwrite memory outside of a base class when performing zero-initialization before running its constructor.

llvm-svn: 141933


# caf3390d 10-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Constant expression evaluation refactoring:
- Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions,
and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert

Constant expression evaluation refactoring:
- Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions,
and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert
behaviour.
- Factor out evaluation of bitfield bit widths.
- Fix a few places which would evaluate an expression twice: once to determine
whether it is a constant expression, then again to get the value.

llvm-svn: 141561

show more ...


# aa347f93 23-Sep-2011 David Blaikie <dblaikie@gmail.com>

Removing a bunch of dead returns/breaks after llvm_unreachables.

llvm-svn: 140407


# 83d382b1 23-Sep-2011 David Blaikie <dblaikie@gmail.com>

Switch assert(0/false) llvm_unreachable.

llvm-svn: 140367


# 6b9c41ea 19-Sep-2011 Eli Friedman <eli.friedman@gmail.com>

Add list initialization for complex numbers in C. Essentially, this allows "_Complex float x = {1.0f, 2.0f};". See changes to docs/LanguageExtensions.html for a longer description.

<rdar://problem

Add list initialization for complex numbers in C. Essentially, this allows "_Complex float x = {1.0f, 2.0f};". See changes to docs/LanguageExtensions.html for a longer description.

<rdar://problem/9397672>.

llvm-svn: 140090

show more ...


# 2d637d2e 10-Sep-2011 John McCall <rjmccall@apple.com>

Rename the ARC cast kinds to start with "ARC".

llvm-svn: 139466


# cd78e805 10-Sep-2011 John McCall <rjmccall@apple.com>

When converting a block pointer to an Objective-C pointer type, extend
the lifetime of the block by copying it to the heap, or else we'll get
a dangling reference because the code working with the no

When converting a block pointer to an Objective-C pointer type, extend
the lifetime of the block by copying it to the heap, or else we'll get
a dangling reference because the code working with the non-block-typed
object will not know it needs to copy.

There is some danger here, e.g. with assigning a block literal to an
unsafe variable, but, well, it's an unsafe variable.

llvm-svn: 139451

show more ...


# 9320b87c 09-Sep-2011 John McCall <rjmccall@apple.com>

Give conversions of block pointers to ObjC pointers a different cast kind
than conversions of C pointers to ObjC pointers. In order to ensure that
we've caught every case, add asserts to CastExpr th

Give conversions of block pointers to ObjC pointers a different cast kind
than conversions of C pointers to ObjC pointers. In order to ensure that
we've caught every case, add asserts to CastExpr that strictly determine
which cast kind is used for which kind of bit cast.

llvm-svn: 139352

show more ...


# e8bbc121 02-Sep-2011 Douglas Gregor <dgregor@apple.com>

Extend the ASTContext constructor to delay the initialization of
builtin types (When requested). This is another step toward making
ASTUnit build the ASTContext as needed when loading an AST file,
ra

Extend the ASTContext constructor to delay the initialization of
builtin types (When requested). This is another step toward making
ASTUnit build the ASTContext as needed when loading an AST file,
rather than doing so after the fact. No actual functionality change (yet).

llvm-svn: 138985

show more ...


1...<<11121314151617181920>>...22