| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 62609
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 62465
|
|
|
|
| |
llvm-svn: 62464
|
|
|
|
| |
llvm-svn: 62463
|
|
|
|
|
|
| |
instead of the number of outputs. No functionality change.
llvm-svn: 62433
|
|
|
|
|
|
| |
Fix a type error; parser wanted to pass the third part of a for-statement as a statement; should be expression.
llvm-svn: 62380
|
|
|
|
|
|
|
| |
No performance regression in my basic test.
Also fixed a type error in ActOnFinishSwitchStmt's arguments (body is a stmt).
llvm-svn: 62032
|
|
|
|
|
|
| |
statements if the input expr can be a memory operand
llvm-svn: 61515
|
|
|
|
| |
llvm-svn: 61456
|
|
|
|
| |
llvm-svn: 61346
|
|
|
|
| |
llvm-svn: 61337
|
|
|
|
| |
llvm-svn: 61309
|
|
|
|
|
|
| |
void foo() { return foo(); }
llvm-svn: 61188
|
|
|
|
|
|
|
| |
Fix PR2790 by making a warning an EXTWARN instead of EXTENSION.
Add a new EXTENSION warning for "return (some void expression);"
llvm-svn: 61187
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
the containing block. Introduce a new getCurFunctionOrMethodDecl
method to check to see if we're in a function or objc method.
Minor cleanups to other related places. This fixes rdar://6405429.
llvm-svn: 60564
|
|
|
|
| |
llvm-svn: 60317
|
|
|
|
|
|
|
|
| |
instead of converting them to strings first. This also fixes a
bunch of minor inconsistencies in the diagnostics emitted by clang
and adds a bunch of FIXME's to DiagnosticKinds.def.
llvm-svn: 59948
|
|
|
|
|
|
| |
"previously defined here" diagnostics all notes.
llvm-svn: 59920
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with implicit quotes around them. This has a bunch of follow-on
effects and requires tweaking to a whole lot of code. This causes
a regression in two tests (xfailed) by causing it to emit things like:
Line 10: duplicate interface declaration for category 'MyClass1' ('Category1')
instead of:
Line 10: duplicate interface declaration for category 'MyClass1(Category1)'
I will fix this in a follow-up commit.
As part of this, I had to start switching stuff to use ->getDeclName() instead
of Decl::getName() for consistency. This is good, but I was planning to do this
as an independent patch. There will be several follow-on patches
to clean up some of the mess, but this patch is already too big.
llvm-svn: 59917
|
|
|
|
| |
llvm-svn: 59884
|
|
|
|
| |
llvm-svn: 59881
|
|
|
|
| |
llvm-svn: 59714
|
|
|
|
| |
llvm-svn: 59712
|
|
|
|
| |
llvm-svn: 59609
|
|
|
|
| |
llvm-svn: 59589
|
|
|
|
|
|
|
|
| |
__builtin_prefetch code to only emit one diagnostic per builtin_prefetch.
While this has nothing to do with the rest of the patch, the code seemed
like overkill when I was updating it.
llvm-svn: 59588
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of copy initialization. Other pieces of the puzzle:
- Try/Perform-ImplicitConversion now handles implicit conversions
that don't involve references.
- Try/Perform-CopyInitialization uses
CheckSingleAssignmentConstraints for C. PerformCopyInitialization
is now used for all argument passing and returning values from a
function.
- Diagnose errors with declaring references and const values without
an initializer. (Uses a new Action callback, ActOnUninitializedDecl).
We do not yet have implicit conversion sequences for reference
binding, which means that we don't have any overloading support for
reference parameters yet.
llvm-svn: 58353
|
|
|
|
|
|
|
|
| |
ScopedDecl*.
This also removes the ugly hack needed in CFG.cpp for subclassing DeclStmt to create a DeclStmt with one Decl*.
llvm-svn: 57275
|
|
|
|
|
|
| |
statement has a DeclStmt with a single Decl. Afterwards, use DeclStmt::getSolitaryDecl() to access that Decl (thus avoiding an assertion being triggered). These changes remove an unneeded use of ScopedDecl::getNextDeclarator() and DeclStmt::getDecl().
llvm-svn: 57207
|
|
|
|
|
|
| |
of using DeclStmt::getDecl().
llvm-svn: 57196
|
|
|
|
| |
llvm-svn: 56590
|
|
|
|
|
|
|
|
|
| |
the return type.
Sema::CheckReturnStackAddr(): Make sure we skip over implicit casts.
Added some more test cases...
llvm-svn: 56254
|
|
|
|
| |
llvm-svn: 56096
|
|
|
|
|
|
| |
and iteration-statements (if/switch/while/for).
llvm-svn: 56044
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Highlights...
- 4 new AST nodes, BlockExpr, BlockStmtExpr, BlockExprExpr, BlockDeclRefExpr.
- Sema::ActOnBlockStart(), ActOnBlockError(), ActOnBlockStmtExpr(), ActOnBlockExprExpr(), ActOnBlockReturnStmt().
Next steps...
- hack Sema::ActOnIdentifierExpr() to deal with block decl refs.
- add attribute handler for byref decls.
- add test cases.
llvm-svn: 55710
|
|
|
|
| |
llvm-svn: 55316
|
|
|
|
|
|
| |
no other functionality change.
llvm-svn: 54941
|
|
|
|
| |
llvm-svn: 54874
|
|
|
|
|
|
| |
getIntegerConstantExprValue where appropriate.
llvm-svn: 54771
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
- Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h
- Moved Sema::getCurMethodDecl() out of line (dependent on
ObjCMethodDecl via dyn_cast).
llvm-svn: 54629
|
|
|
|
| |
llvm-svn: 54501
|
|
|
|
|
|
| |
of doing it directly. This is required for PR2189.
llvm-svn: 54102
|
|
|
|
| |
llvm-svn: 54074
|
|
|
|
| |
llvm-svn: 53998
|
|
|
|
| |
llvm-svn: 53947
|
|
|
|
|
|
| |
and getCurMethodDecl() that return the appropriate Decl through CurContext.
llvm-svn: 52852
|
|
|
|
|
|
|
|
| |
VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl().
This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it).
llvm-svn: 49748
|