History log of /llvm-project/clang/lib/AST/APValue.cpp (Results 76 – 100 of 109)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# e2f4a274 09-Jan-2014 Richard Smith <richard-llvm@metafoo.co.uk>

PR18427: Use an appropriately-aligned buffer in APValue, to avoid a crash on
SPARC, where uint64_t apparently requires higher alignment than void*.

llvm-svn: 198845


Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1, llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3
# d1b7cd77 03-Jun-2013 Benjamin Kramer <benny.kra@googlemail.com>

Pacify compilers that think you can drop off a fully covered switch.

llvm-svn: 183155


# a732899c 03-Jun-2013 Manuel Klimek <klimek@google.com>

Fix memory leak for APValues that do memory allocation.

This patch ensures that APValues are deallocated with the ASTContext by
registering a deallocation function for APValues to the ASTContext.

O

Fix memory leak for APValues that do memory allocation.

This patch ensures that APValues are deallocated with the ASTContext by
registering a deallocation function for APValues to the ASTContext.

Original version of the patch by James Dennett.

llvm-svn: 183101

show more ...


Revision tags: llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1
# 0b7bc7f9 29-Jan-2013 Douglas Gregor <dgregor@apple.com>

Don't crash while printing APValues that are lvalues casted to a
decidedly non-reference, non-pointer type. Fixes <rdar://problem/13090123>.

llvm-svn: 173747


Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3
# 3a02247d 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com>

Sort all of Clang's files under 'lib', and fix up the broken headers
uncovered.

This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/util

Sort all of Clang's files under 'lib', and fix up the broken headers
uncovered.

This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.

I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.

llvm-svn: 169237

show more ...


Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1
# 235341bc 16-Aug-2012 Richard Smith <richard-llvm@metafoo.co.uk>

Store SourceManager pointer on PrintingPolicy in the case where we're dumping,
and remove ASTContext reference (which was frequently bound to a dereferenced
null pointer) from the recursive lump of p

Store SourceManager pointer on PrintingPolicy in the case where we're dumping,
and remove ASTContext reference (which was frequently bound to a dereferenced
null pointer) from the recursive lump of printPretty functions. In so doing,
fix (at least) one case where we intended to use the 'dump' mode, but that
failed because a null ASTContext reference had been passed in.

llvm-svn: 162011

show more ...


Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2
# 2d7c57ec 30-Apr-2012 David Blaikie <dblaikie@gmail.com>

Remove the ref/value inconsistency in filter_decl_iterator.

filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
making it difficult to generalize this filtering behavior in

Remove the ref/value inconsistency in filter_decl_iterator.

filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
making it difficult to generalize this filtering behavior into a reusable
library of any kind.

This change errs on the side of value, making op-> return T* and op* return
T&.

(reviewed by Richard Smith)

llvm-svn: 155808

show more ...


Revision tags: llvmorg-3.1.0-rc1
# 5614ca77 23-Mar-2012 Richard Smith <richard-llvm@metafoo.co.uk>

Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix up
some calling code to actually pass in a non-null type, to avoid a crash.

llvm-svn: 153358


# 4e9e523f 10-Mar-2012 Richard Smith <richard-llvm@metafoo.co.uk>

Assign APValues by swapping from a temporary. Removes a bunch of unnecessary
copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on
403.gcc/combine.c. The performance differences

Assign APValues by swapping from a temporary. Removes a bunch of unnecessary
copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on
403.gcc/combine.c. The performance differences on my constexpr torture tests
are below the noise floor.

llvm-svn: 152455

show more ...


# b743157d 08-Mar-2012 Daniel Dunbar <daniel@zuster.org>

[AST] APValue: Split the fast path of MakeUninit to be inline.
- This change seems to be a tiny loss on 403.gcc/combine.c (.2%), but I think
it is the right thing to do.

llvm-svn: 152330


# b228a86f 15-Feb-2012 Richard Smith <richard-llvm@metafoo.co.uk>

Implement DR1454. This allows all intermediate results in constant expressions
to be core constant expressions (including pointers and references to
temporaries), and makes constexpr calculations Tur

Implement DR1454. This allows all intermediate results in constant expressions
to be core constant expressions (including pointers and references to
temporaries), and makes constexpr calculations Turing-complete. A Turing machine
simulator is included as a testcase.

This opens up the possibilty of removing CCValue entirely, and removing some
copies from the constant evaluator in the process, but that cleanup is not part
of this change.

llvm-svn: 150557

show more ...


# 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 ...


# 375f09f5 16-Dec-2011 Eli Friedman <eli.friedman@gmail.com>

Add missing flush call. This is an attempt to fix a broken Windows buildbot.

llvm-svn: 146760


# f6f003af 16-Dec-2011 Richard Smith <richard-llvm@metafoo.co.uk>

C++11 constexpr: Add note stacks containing backtraces if constant evaluation
fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit
argument to driver and frontend, to control

C++11 constexpr: Add note stacks containing backtraces if constant evaluation
fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit
argument to driver and frontend, to control the maximum number of notes so
produced (default 10). Fix APValue printing to be able to pretty-print all
APValue types, and move the testing for this functionality from a unittest to
a -verify test now that it's visible in clang's output.

llvm-svn: 146749

show more ...


# 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


# bcb4eb28 07-Nov-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Fix 32-bit build bots and remove some casting-away-const warnings.

llvm-svn: 143914


# 80815600 07-Nov-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Constant expression evaluation: preserve subobject designator when flattening a
core constant value down to an APValue.

llvm-svn: 143909


Revision tags: llvmorg-3.0.0-rc2
# 0b0a0b61 29-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk>

constexpr function substitution:
Track the function invocation where an lvalue referring to a constexpr function
parameter originated from, and use it to substitute the correct argument and to
determ

constexpr function substitution:
Track the function invocation where an lvalue referring to a constexpr function
parameter originated from, and use it to substitute the correct argument and to
determine whether such an argument's lifetime has ended.

llvm-svn: 143296

show more ...


Revision tags: llvmorg-3.0.0-rc1
# 76bd3c80 23-Sep-2011 David Blaikie <dblaikie@gmail.com>

Fix missing includes for llvm_unreachable

llvm-svn: 140368


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

Switch assert(0/false) llvm_unreachable.

llvm-svn: 140367


# 0e62c1cc 23-Jul-2011 Chris Lattner <sabre@nondot.org>

remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports
them into the clang namespace.

llvm-svn: 135852


# d2af962e 18-Jul-2011 Jeffrey Yasskin <jyasskin@google.com>

Define DiagnosticBuilder<<APValue so it's easy to include APValues in
diagnostics.

llvm-svn: 135398


12345