| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Again, I tried to update cmake but it is untested.
llvm-svn: 67605
|
|
|
|
|
|
|
|
| |
be CompoundStmts. I think this is a valid assumption, and felt that the API
should reflect it. Others please validate this assumption to make sure I didn't
break anything.
llvm-svn: 66814
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
giving them rough classifications (normal types, never-canonical
types, always-dependent types, abstract type representations) and
making it far easier to make sure that we've hit all of the cases when
decoding types.
Switched some switch() statements on the type class over to using this
mechanism, and filtering out those things we don't care about. For
example, CodeGen should never see always-dependent or non-canonical
types, while debug info generation should never see always-dependent
types. More switch() statements on the type class need to be moved
over to using this approach, so that we'll get warnings when we add a
new type then fail to account for it somewhere in the compiler.
As part of this, some types have been renamed:
TypeOfExpr -> TypeOfExprType
FunctionTypeProto -> FunctionProtoType
FunctionTypeNoProto -> FunctionNoProtoType
There shouldn't be any functionality change...
llvm-svn: 65591
|
|
|
|
| |
llvm-svn: 62974
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"FileID" a concept that is now enforced by the compiler's type checker
instead of yet-another-random-unsigned floating around.
This is an important distinction from the "FileID" currently tracked by
SourceLocation. *That* FileID may refer to the start of a file or to a
chunk within it. The new FileID *only* refers to the file (and its
#include stack and eventually #line data), it cannot refer to a chunk.
FileID is a completely opaque datatype to all clients, only SourceManager
is allowed to poke and prod it.
llvm-svn: 62407
|
|
|
|
|
|
| |
"logical" location, refer to the "instantiation" location.
llvm-svn: 62316
|
|
|
|
|
|
| |
RecordDecl::field_const_iterator, propagating the constness down to the FieldDecls.
llvm-svn: 60883
|
|
|
|
|
|
|
|
|
|
|
| |
uses of getName() with uses of getDeclName(). This upgrades a bunch of
diags to take DeclNames instead of std::strings.
This also tweaks a couple of diagnostics to be cleaner and changes
CheckInitializerTypes/PerformInitializationByConstructor to pass
around DeclarationNames instead of std::strings.
llvm-svn: 59947
|
|
|
|
|
|
|
|
|
| |
assert if the name is not an identifier. Update callers to do the right
thing and avoid this method in unsafe cases. This also fixes an objc
warning that was missing a space, and migrates a couple more to taking
IdentifierInfo and QualTypes instead of std::strings.
llvm-svn: 59936
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a new NamedDecl::getAsString() method.
Change uses of Selector::getName() to just pass in a Selector
where possible (e.g. to diagnostics) instead of going through
an std::string.
This also adds new formatters for objcinstance and objcclass
as described in the dox.
llvm-svn: 59933
|
|
|
|
|
|
|
|
| |
representing the names of declarations in the C family of
languages. DeclarationName is used in NamedDecl to store the name of
the declaration (naturally), and ObjCMethodDecl is now a NamedDecl.
llvm-svn: 59441
|
|
|
|
|
|
| |
Offset+NumBytes <= size() && "Invalid region to erase!", file c:\cygwin\home\Administrator\llvm\to ols\clang\include\clang/Rewrite/RewriteRope.h, line 219.
llvm-svn: 58607
|
|
|
|
| |
llvm-svn: 58011
|
|
|
|
|
|
| |
This fixes <rdar://problem/6289007> clang block rewriter: ^ in cast is not rewritten.
llvm-svn: 57591
|
|
|
|
|
|
| |
This completes the fix for <rdar://problem/6272905> clang block rewriter: parameter to function not imported into block?.
llvm-svn: 57350
|
|
|
|
| |
llvm-svn: 57299
|
|
|
|
|
|
|
|
|
|
| |
- Modify BlockExpr to reference the BlockDecl.
This is "cleanup" necessary to improve our lookup semantics for blocks (to fix <rdar://problem/6272905> clang block rewriter: parameter to function not imported into block?).
Still some follow-up work to finish this (forthcoming).
llvm-svn: 57298
|
|
|
|
|
|
|
| |
in a DeclStmt instead of using getDecl() to fetch the first Decl.
Steve: Please review this patch. 'make test' passes, and my cursory scan of the rewriter leads me to believe this doesn't break anything, but I'm not sure.
llvm-svn: 57195
|
|
|
|
| |
llvm-svn: 57086
|
|
|
|
|
|
| |
SynthesizeBlockInitExpr() and SynthesizeBlockLiterals().
llvm-svn: 57083
|
|
|
|
| |
llvm-svn: 57082
|
|
|
|
| |
llvm-svn: 57063
|
|
|
|
|
|
| |
This code was "lost" with my recent changes to SynthesizeBlockFunc.
llvm-svn: 57056
|
|
|
|
|
|
| |
(or other complex expressions that can embed a block pointer type)
llvm-svn: 57054
|
|
|
|
|
|
| |
BlockExpr.
llvm-svn: 57053
|
|
|
|
|
|
|
|
|
| |
Reworked control flow to:
- rewrite the block expr body "in place".
- used Chris's new rewriter hook "getRewritenText" to "lift" the text for later use.
- finally, we do the block expr text replacement.
llvm-svn: 57052
|
|
|
|
| |
llvm-svn: 57036
|
|
|
|
| |
llvm-svn: 57028
|
|
|
|
| |
llvm-svn: 57004
|
|
|
|
|
|
| |
- Many rewriter modifications.
llvm-svn: 57003
|
|
|
|
| |
llvm-svn: 57001
|
|
|
|
| |
llvm-svn: 56987
|
|
|
|
| |
llvm-svn: 56984
|
|
|
|
|
|
| |
This commit also includes some name changes in the blocks rewriter (no functionality change).
llvm-svn: 56955
|
|
|
|
|
|
| |
by mrs@apple.com).
llvm-svn: 56591
|
|
|
|
| |
llvm-svn: 56560
|
|
|
|
|
|
| |
uniformly.
llvm-svn: 56500
|
|
|
|
|
|
|
|
| |
Since we don't have DeclGroup's and location information for types, there is some fancy footwork to do this fairly reliably.
O.K...it's a kludge. One day, we can use this as motivation to do this more gracefully:-)
llvm-svn: 56499
|
|
|
|
|
|
| |
Also tweaked the create function to take an explicit output file.
llvm-svn: 56305
|
|
|
|
|
|
|
|
| |
Block literals are now represented by the concrete BlockExpr class.
This is cleanup (removes a FIXME).
No functionality change.
llvm-svn: 56288
|
|
llvm-svn: 56266
|