|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 142835 | 
| | 
| 
| 
| 
| 
| 
| | floating-point literals if they are the immediate operands of casts.
ImplicitCastExpr is not a cast in the language-standards sense.
llvm-svn: 142832 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | This commit removes the major functional dependency on the ExprEngine::Builder
member variable.
In some cases the code became more verbose. Particularly, we call takeNodes()
and addNodes() to move responsibility for the nodes from one builder to another.
This will get simplified later on.
llvm-svn: 142831 | 
| | 
| 
| 
| | llvm-svn: 142830 | 
| | 
| 
| 
| | llvm-svn: 142829 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | To convert iteratively, we take the nodes the local builder will
process from the from the global builder and add the generated nodes
after the short lived builder is done. PureStmtNodeBuilder is the
one we should eventually use everywhere. Added Stmt index and Builder
context as ExprEngine globals. To avoid passing them around.
llvm-svn: 142828 | 
| | 
| 
| 
| 
| 
| 
| | First step toward removing the global Stmt builder. Added several transitional methods (like takeNodes/addNodes).
+ Stop early if the set of exploded nodes for the next iteration is empty.
llvm-svn: 142827 | 
| | 
| 
| 
| 
| 
| 
| 
| | This moves the responsibility for storing the output node set from the
builder to the clients. The builder is just responsible for transforming
an input set into the output set: {SrcSet/SrcNode} -> {Frontier}.
llvm-svn: 142826 | 
| | 
| 
| 
| | llvm-svn: 142814 | 
| | 
| 
| 
| 
| 
| | caching.
llvm-svn: 142812 | 
| | 
| 
| 
| | llvm-svn: 142807 | 
| | 
| 
| 
| 
| 
| | Ted came upon the bug but I couldn't make a test out of it.
llvm-svn: 142805 | 
| | 
| 
| 
| | llvm-svn: 142803 | 
| | 
| 
| 
| | llvm-svn: 142798 | 
| | 
| 
| 
| | llvm-svn: 142797 | 
| | 
| 
| 
| | llvm-svn: 142796 | 
| | 
| 
| 
| | llvm-svn: 142795 | 
| | 
| 
| 
| 
| 
| 
| | to match the CMakeLists.txt change in r142782; this should fix the CMake
build.
llvm-svn: 142784 | 
| | 
| 
| 
| 
| 
| | accurate, but it frees up the name AnalysisContext for other uses.
llvm-svn: 142782 | 
| | 
| 
| 
| | llvm-svn: 142760 | 
| | 
| 
| 
| 
| 
| | in-class member initialisers).
llvm-svn: 142758 | 
| | 
| 
| 
| | llvm-svn: 142757 | 
| | 
| 
| 
| | llvm-svn: 142756 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | instead of silently discarding them.
As a side effect, this improves diagnostics for constexpr class
templates slightly.
llvm-svn: 142755 | 
| | 
| 
| 
| 
| 
| 
| 
| | change clients to use AnalysisContext instead.
WIP to remove/reduce ExprEngine's usage of AnalysisManager.
llvm-svn: 142739 | 
| | 
| 
| 
| | llvm-svn: 142734 | 
| | 
| 
| 
| 
| 
| 
| | const expression evaluation subclasses, and remove some APValue copying and
malloc traffic in the process.
llvm-svn: 142733 | 
| | 
| 
| 
| | llvm-svn: 142730 | 
| | 
| 
| 
| | llvm-svn: 142725 | 
| | 
| 
| 
| 
| 
| | -fdebug-compilation-dir. pwd[0] might not be '/' on Win32 hosts.
llvm-svn: 142720 | 
| | 
| 
| 
| 
| 
| | code.  Apparently this is what GCC does, and some code depends on this.  Fixes <rdar://problem/10321089>.
llvm-svn: 142716 | 
| | 
| 
| 
| 
| 
| | TopologicallySortedCFG).
llvm-svn: 142714 | 
| | 
| 
| 
| 
| 
| | PostOrderCFGView.
llvm-svn: 142713 | 
| | 
| 
| 
| | llvm-svn: 142711 | 
| | 
| 
| 
| 
| 
| 
| | None private methods if their implementation have attribute, they must exactly 
match those in their declarations. // rdar://10271563
llvm-svn: 142709 | 
| | 
| 
| 
| 
| 
| 
| | - Size of long double is 16 bytes for both N32 and N64.
- Size of pointers and long is 8 bytes for N64.
llvm-svn: 142705 | 
| | 
| 
| 
| 
| 
| 
| 
| | for the function type. Update a testcase accordingly.
Patch initially by Anders Waldenborg!
llvm-svn: 142700 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | referenced again and
in such a case just write out a reference of a previously serialized Stmt, instead
of serializing it all over again.
This saves memory + space + [de]serializing time, and avoids blowing up memory
with pathological cases. rdar://10293911
llvm-svn: 142696 | 
| | 
| 
| 
| | llvm-svn: 142695 | 
| | 
| 
| 
| | llvm-svn: 142694 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | class declaration which forces any such class and any 
class that inherits from such a class to have their 
typeinfo symbols be marked as weak.
// rdar://10246395
A    test/CodeGenCXX/weak-extern-typeinfo.cpp
M    lib/Sema/SemaDeclCXX.cpp
M    lib/Sema/SemaDeclAttr.cpp
M    lib/CodeGen/CGRTTI.cpp
llvm-svn: 142693 | 
| | 
| 
| 
| | llvm-svn: 142685 | 
| | 
| 
| 
| | llvm-svn: 142666 | 
| | 
| 
| 
| | llvm-svn: 142665 | 
| | 
| 
| 
| 
| 
| | ivars in class extensions. // rdar://10309454
llvm-svn: 142664 | 
| | 
| 
| 
| | llvm-svn: 142654 | 
| | 
| 
| 
| 
| 
| 
| 
| | be sure to consider all of the possible lookup results. We were
assert()'ing (but behaving correctly) for unresolved values. Fixes
PR11134 / <rdar://problem/10290422>.
llvm-svn: 142652 | 
| | 
| 
| 
| | llvm-svn: 142649 | 
| | 
| 
| 
| 
| 
| 
| | keyword, because both libstdc++ and libc++ use "__except" as an
identifier. Fixes <rdar://problem/10322555>.
llvm-svn: 142636 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | addDeclInternal().  This function suppresses any
calls to FindExternalVisibleDeclsByName() while
a Decl is added to a DeclContext.  This behavior
is required for the ASTImporter, because in the
case of the LLDB client the ASTImporter would be
called recursively to import the visible decls,
which leads to assertions because the recursive
call is seeing partially-formed types.
I also modified the ASTImporter to use
addDeclInternal() in all places where it would
otherwise use addDecl().  This fix should not
affect the rest of Clang, passes Clang's
testsuite, and fixes several serious LLDB bugs.
llvm-svn: 142634 |