| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by DeclContexts (always) rather than by statements.
DeclContext currently goes out of its way to avoid destroying any
Decls that might be owned by a DeclGroupOwningRef. However, in an
error-recovery situation, a failure in a declaration statement can
cause all of the decls in a DeclGroupOwningRef to be destroyed after
they've already be added into the DeclContext. Hence, DeclContext is
left with already-destroyed declarations, and bad things happen. This
problem was causing failures that showed up as assertions on x86 Linux
in test/Parser/objc-forcollection-neg-2.m.
llvm-svn: 64474
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that every declaration lives inside a DeclContext.
Moved several things that don't have names but were ScopedDecls (and,
therefore, NamedDecls) to inherit from Decl rather than NamedDecl,
including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't
store empty DeclarationNames for these things, nor do we try to insert
them into DeclContext's lookup structure.
The serialization tests are temporarily disabled. We'll re-enable them
once we've sorted out the remaining ownership/serialiazation issues
between DeclContexts and TranslationUnion, DeclGroups, etc.
llvm-svn: 62562
|
| |
|
|
|
|
| |
statement.
llvm-svn: 60790
|
| |
|
|
|
|
|
|
|
|
|
|
| |
expressions, and value-dependent expressions. This permits us to parse
some template definitions.
This is not a complete solution; we're missing type- and
value-dependent computations for most of the expression types, and
we're missing checks for dependent types and type-dependent
expressions throughout Sema.
llvm-svn: 60615
|
| |
|
|
|
|
|
|
|
|
| |
properly reversed once constructed.
This fixes PR 3125:
http://llvm.org/bugs/show_bug.cgi?id=3125
llvm-svn: 59982
|
| |
|
|
|
|
| |
anything that evaluates to an lvalue
llvm-svn: 59289
|
| |
|
|
| |
llvm-svn: 59227
|
| |
|
|
|
|
| |
enumeration for blocks to the appropriate basic blocks.
llvm-svn: 59226
|
| |
|
|
|
|
| |
get expanded as a series of basic blocks.
llvm-svn: 59197
|
| |
|
|
| |
llvm-svn: 59160
|
| |
|
|
|
|
| |
expressions, both of values and types.
llvm-svn: 59057
|
| |
|
|
|
|
|
|
| |
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_7_section_2.html#//apple_ref/doc/uid/TP30001163-CH18-SW3
Need to modify GRExprEngine, LiveVariables, and UninitializedValues to understand this construct.
llvm-svn: 59049
|
| |
|
|
|
|
|
|
| |
ScopedDecl*.
This also removes the ugly hack needed in CFG.cpp for subclassing DeclStmt to create a DeclStmt with one Decl*.
llvm-svn: 57275
|
| |
|
|
|
|
| |
ScopedDecl chain.
llvm-svn: 57206
|
| |
|
|
| |
llvm-svn: 57041
|
| |
|
|
|
|
| |
SizeOfAlignOfTypeExpr.
llvm-svn: 56706
|
| |
|
|
|
|
| |
control-flow).
llvm-svn: 56672
|
| |
|
|
|
|
| |
all dataflow analyses "see" the VLA size expressions.
llvm-svn: 56655
|
| |
|
|
|
|
|
|
|
| |
motivated because it became clear that the number of subclasses of ProgramPoint
would expand and we ran out of bits to represent a pointer variant. As a plus of
this change, BlockEdge program points can now be represented explicitly without
using a cache of CFGBlock* pairs in CFG.
llvm-svn: 56245
|
| |
|
|
|
|
|
| |
"Here is a patch what replaces std::ostream with llvm::raw_ostream. This patch
covers the AST library, but ignores Analysis lib."
llvm-svn: 56185
|
| |
|
|
|
|
|
| |
- Within for loops, 'continue' should jump to a basic block containing the
increment code
llvm-svn: 55800
|
| |
|
|
|
|
|
|
|
|
|
| |
- Kill unnecessary #includes in .cpp files. This is an automatic
sweep so some things removed are actually used, but happen to be
included by a previous header. I tried to get rid of the obvious
examples and this was the easiest way to trim the #includes in one
fell swoop.
- We now return to regularly scheduled development.
llvm-svn: 54632
|
| |
|
|
|
|
| |
internal BumpPtrAllocator to allocator more of CFG's data structures.
llvm-svn: 54433
|
| |
|
|
| |
llvm-svn: 54429
|
| |
|
|
|
|
| |
"the attached patch fixes some typos, 80 cols violations, etc. in comments."
llvm-svn: 54328
|
| |
|
|
| |
llvm-svn: 51707
|
| |
|
|
|
|
| |
- #include ExprObjC.h in many places
llvm-svn: 51703
|
| |
|
|
| |
llvm-svn: 51190
|
| |
|
|
|
|
|
|
|
| |
std::pair<CFGBlock*, CFGBlock*> that have an 8-byte alignment for use with
ProgramPoint. This fixes a bug reported by Argiris where using std::set<> on
Windows would result in a 4-byte alignment, not an 8-byte alignment.
Fixes: <rdar://problem/5892265>
llvm-svn: 50364
|
| |
|
|
|
|
|
|
|
|
|
| |
block's terminator.
Refactored LiveVariables to use getTerminatorCondition() in VisitTerminator().
Bug fix: CFG now computes Block-level expression numbers using information
from block terminators. This fixes <rdar://problem/5868189>.
llvm-svn: 49818
|
| |
|
|
|
|
| |
created block.
llvm-svn: 48460
|
|
|
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402
|