| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 94925
|
|
|
|
| |
llvm-svn: 94922
|
|
|
|
| |
llvm-svn: 94921
|
|
|
|
| |
llvm-svn: 94918
|
|
|
|
| |
llvm-svn: 94361
|
|
|
|
| |
llvm-svn: 92526
|
|
|
|
|
|
| |
into garbage values.
llvm-svn: 92115
|
|
|
|
|
|
| |
returned by ForStmt to include the initializer of the condition variable.
llvm-svn: 92112
|
|
|
|
|
|
| |
the condition variable.
llvm-svn: 92104
|
|
|
|
|
|
| |
the condition variable.
llvm-svn: 92100
|
|
|
|
|
|
|
|
|
|
| |
variable initializer and the other expressions in an IfStmt.
This change required adding a 'DoDestroy()' method for IfStmt that did
not include destroying the initializer (since that is owned by the
VarDecl).
llvm-svn: 92089
|
|
|
|
|
|
| |
expressions (via StmtIterator), as those expressions are owned by the Decls and Types (which are destroyed elsewhere). This fixes a crasher reported in <rdar://problem/7487294>.
llvm-svn: 91990
|
|
|
|
| |
llvm-svn: 90153
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 90078
|
|
|
|
| |
llvm-svn: 84436
|
|
|
|
| |
llvm-svn: 81346
|
|
|
|
| |
llvm-svn: 79916
|
|
|
|
| |
llvm-svn: 78452
|
|
|
|
|
|
|
| |
to allow sharing of nodes. Simplifies some aspects of template
instantiation, and fixes both PR3444 and <rdar://problem/6757457>.
llvm-svn: 78450
|
|
|
|
|
|
|
| |
or expression (Destroy) from the virtual function used to actually
destroy a given expression (DoDestroy).
llvm-svn: 78375
|
|
|
|
| |
llvm-svn: 72415
|
|
|
|
| |
llvm-svn: 72035
|
|
|
|
| |
llvm-svn: 71903
|
|
|
|
| |
llvm-svn: 71823
|
|
|
|
| |
llvm-svn: 70105
|
|
|
|
|
|
|
| |
This completes support for all of C (+ extensions). We can (again)
build a PCH file for Carbon.h.
llvm-svn: 69385
|
|
|
|
|
|
| |
compound, case, default, if, switch, and break statements.
llvm-svn: 69329
|
|
|
|
|
|
| |
operand. This matches llvm-gcc and fixes PR3908.
llvm-svn: 68371
|
|
|
|
| |
llvm-svn: 66738
|
|
|
|
| |
llvm-svn: 66732
|
|
|
|
| |
llvm-svn: 66618
|
|
|
|
| |
llvm-svn: 66614
|
|
|
|
|
|
|
|
| |
Sema/asm.c:64:9: error: invalid % escape in inline assembly string
asm("%!" : ); // expected-error {{invalid % escape in inline assembly string}}
~~^~
llvm-svn: 66606
|
|
|
|
| |
llvm-svn: 66605
|
|
|
|
| |
llvm-svn: 66598
|
|
|
|
|
|
| |
code where Sema can get to it. No functionality change.
llvm-svn: 66596
|
|
|
|
|
|
|
| |
time handle + operands in operand counting, fixing asm.c:t7 to
expand into $2 instead of $1.
llvm-svn: 66531
|
|
|
|
| |
llvm-svn: 66521
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
multiple sequential case statements instead of doing it with recursion. This
fixes a problem where we run out of stack space parsing 100K directly nested
cases.
There are a couple other problems that prevent this from being useful in
practice (right now the example only parses correctly with -disable-free and
doesn't work with -emit-llvm), but this is a start.
I'm not including a testcase because it is large and uninteresting for
regtesting.
Sebastian, I would appreciate it if you could scrutinize the smart pointer
gymnastics I do.
llvm-svn: 66011
|
|
|
|
|
|
|
|
|
|
|
| |
(Daniel, please verify).
Also necessary to fix:
<rdar://problem/6632061> [sema] non object types should not be allowed in @catch statements
<rdar://problem/6252237> [sema] qualified id should be disallowed in @catch statements
llvm-svn: 65964
|
|
|
|
| |
llvm-svn: 65759
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Made allocation of Stmt objects using vanilla new/delete a *compiler
error* by making this new/delete "protected" within class Stmt.
- Now the only way to allocate Stmt objects is by using the new
operator that takes ASTContext& as an argument. This ensures that
all Stmt nodes are allocated from the same (pool) allocator.
- Naturally, these two changes required that *all* creation sites for
AST nodes use new (ASTContext&). This is a large patch, but the
majority of the changes are just this mechanical adjustment.
- The above changes also mean that AST nodes can no longer be
deallocated using 'delete'. Instead, one most do
StmtObject->Destroy(ASTContext&) or do
ASTContextObject.Deallocate(StmtObject) (the latter not running the
'Destroy' method).
Along the way I also...
- Made CompoundStmt allocate its array of Stmt* using the allocator in
ASTContext (previously it used std::vector). There are a whole
bunch of other Stmt classes that need to be similarly changed to
ensure that all memory allocated for ASTs comes from the allocator
in ASTContext.
- Added a new smart pointer ExprOwningPtr to Sema.h. This replaces
the uses of llvm::OwningPtr within Sema, as llvm::OwningPtr used
'delete' to free memory instead of a Stmt's 'Destroy' method.
Big thanks to Doug Gregor for helping with the acrobatics of making
'new/delete' private and the new smart pointer ExprOwningPtr!
llvm-svn: 63997
|
|
|
|
|
|
| |
'delete'. This fixes <rdar://problem/6561143>.
llvm-svn: 63905
|
|
|
|
| |
llvm-svn: 62306
|
|
|
|
| |
llvm-svn: 61346
|
|
|
|
| |
llvm-svn: 61337
|
|
|
|
|
|
| |
StmtNodes.def. We don't need stable numbers yet, renumbering is a pain, and LAST_STMT had the wrong value anyway.
llvm-svn: 59300
|
|
|
|
|
|
|
|
|
| |
Stmt.h
- Implement child_begin() and child_end() for AsmStmt. Previously these had stub implementations that did not iterate over the input/output operands of an inline assembly statement.
- Use ExprIterator for performing iteration over input/output operands.
llvm-svn: 58261
|
|
|
|
|
|
|
|
| |
ScopedDecl*.
This also removes the ugly hack needed in CFG.cpp for subclassing DeclStmt to create a DeclStmt with one Decl*.
llvm-svn: 57275
|