| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Again, I tried to update cmake but it is untested.
llvm-svn: 67605
|
|
|
|
| |
llvm-svn: 66696
|
|
|
|
| |
llvm-svn: 66344
|
|
|
|
|
|
| |
driver taking lib/Driver.
llvm-svn: 65811
|
|
|
|
| |
llvm-svn: 65671
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
interfaces more consistently.
llvm-svn: 65138
|
|
|
|
| |
llvm-svn: 65131
|
|
|
|
| |
llvm-svn: 65129
|
|
|
|
|
|
|
|
| |
they are used indirectly by cast/dyn_cast.
All Decl <-> DeclContext casting should be done through cast/dyn_cast.
llvm-svn: 64631
|
|
|
|
| |
llvm-svn: 64501
|
|
|
|
| |
llvm-svn: 64258
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We handle indentation of decls better.
We Indent extern "C" { } stuff better.
We print out structure contents more often.
We handle pass indentation information into the statement printer, so that
nested things come out more indented.
We print out FieldDecls.
We print out Vars.
We print out namespaces.
We indent functions better.
llvm-svn: 64232
|
|
|
|
| |
llvm-svn: 63750
|
|
|
|
|
|
| |
Objective-C declarations!) again. Fixes <rdar://problem/6517155>
llvm-svn: 62826
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
DeclContext::CastTo (causes compilation error on MSVC).
Add DeclContext::getDeclKind() and use that instead of DeclContext::KindTrait.
llvm-svn: 62164
|
|
|
|
| |
llvm-svn: 62153
|
|
|
|
| |
llvm-svn: 62143
|
|
|
|
| |
llvm-svn: 62140
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
its Decls in indented format. An Example:
$ cat t.cpp
class A {
int a;
void f();
};
void A::f() {
a = 3;
}
$ clang -print-decl-contexts t.cpp
[translation unit] 0x9754d7c
<typedef> __builtin_va_list
[class] A 0x9753310
<class> A 0x975ce20
<field> a
<c++ method> f
<c++ ctor> A
<c++ ctor> A
<c++ method> operator=
<c++ dtor> ~A
[c++ method] f [[0x9753310]]
Some comments: '<>' indicates a declaration, '[]' indicates a definition, '[[
]]' displays the semantic DeclContext which is different from the lexical
DeclContext. The symbols printed can definitely be changed in the future.
llvm-svn: 62136
|
|
|
|
|
|
|
|
|
| |
filters the decls seen by decl_iterator with two criteria: the dynamic
type of the declaration and a run-time predicate described by a member
function. This simplifies EnumDecl, RecordDecl, and ObjCContainerDecl
considerably. It has no measurable performance impact.
llvm-svn: 61994
|
|
|
|
|
|
|
|
|
| |
Add isa/cast/dyncast support for ObjCContainerDecl.
Renamed classprop_iterator/begin/end to prop_iterator/begin/end (the class prefix was confusing).
More simplifications to Sema::ActOnAtEnd()...
Added/changed some FIXME's as a result of the above work.
llvm-svn: 61988
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DeclContexts whose members are visible from enclosing DeclContexts up
to (and including) the innermost enclosing non-transparent
DeclContexts. Transparent DeclContexts unify the mechanism to be used
for various language features, including C enumerations, anonymous
unions, C++0x inline namespaces, and C++ linkage
specifications. Please refer to the documentation in the Clang
internals manual for more information.
Only enumerations and linkage specifications currently use transparent
DeclContexts.
Still to do: use transparent DeclContexts to implement anonymous
unions and GCC's anonymous structs extension, and, later, the C++0x
features. We also need to tighten up the DeclContext/ScopedDecl link
to ensure that every ScopedDecl is in a single DeclContext, which
will ensure that we can then enforce ownership and reduce the memory
footprint of DeclContext.
llvm-svn: 61735
|
|
|
|
|
|
| |
Fixes. PR clang/3220
llvm-svn: 61116
|
|
|
|
| |
llvm-svn: 61110
|
|
|
|
| |
llvm-svn: 61108
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 58646
|
|
|
|
|
|
| |
mode, too
llvm-svn: 58105
|
|
|
|
|
|
| |
a class in GraphViz.
llvm-svn: 58051
|
|
|
|
| |
llvm-svn: 57938
|
|
|
|
|
|
|
|
|
|
|
| |
- Split backend related consumer out into Backend.cpp, replaces
LLVMCodeGenWriter.
- Structure follows llvm-gcc to some extent.
- Still need to implement all the options which impact code
generation and the optimization passes which llvm-gcc uses at
various levels.
llvm-svn: 57936
|
|
|
|
| |
llvm-svn: 57087
|
|
|
|
|
|
|
| |
"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
|
|
|
|
|
|
|
|
|
| |
- Change enum name to Kind.
- Change enum constants to English strings.
Also, fix getPropertyImplementation (which probably should be renamed)
llvm-svn: 55354
|
|
|
|
| |
llvm-svn: 55274
|
|
|
|
|
|
|
|
| |
an APInt directly to an ostream now, so add some hacks. It would
be better to switch all of the bugreport (and friends) stuff over
to raw_ostream.
llvm-svn: 55264
|
|
|
|
|
|
| |
patch contributed by Benjamin Stiglitz!
llvm-svn: 55170
|
|
|
|
|
|
| |
This happened because seralization was done in the constructor, and at that time the TranslationUnit is no longer valid.
llvm-svn: 54618
|
|
|
|
| |
llvm-svn: 54590
|
|
|
|
|
|
| |
prevent unexpected surprises later on.
llvm-svn: 54469
|
|
|
|
|
|
| |
ASTConsumer layers on top of LLVMCodeGen (another existing ASTConsumer) to emit bitcode files to disk. This layering takes this logic out of clang.cpp and puts it directly into the ASTConsumer interface. The benefit is that now --emit-llvm works with both serialized ASTs and regular source files.
llvm-svn: 54364
|
|
|
|
|
|
|
| |
various objc lists over to it. First up, the protocol list
on ObjCInterfaceDecl.
llvm-svn: 53856
|
|
|
|
|
|
| |
Renamed -dump-cfg to -cfg-dump, and -view-cfg to -cfg-view. This naming better matches the same options for asts (e.g. -ast-dump).
llvm-svn: 53041
|
|
|
|
| |
llvm-svn: 53039
|
|
|
|
|
|
| |
Remove CheckerConsumer.
llvm-svn: 53029
|
|
|
|
| |
llvm-svn: 53028
|