| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 140367
|
|
|
|
| |
llvm-svn: 136306
|
|
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- New isDefined() function checks for deletedness
- isThisDeclarationADefinition checks for deletedness
- New doesThisDeclarationHaveABody() does what
isThisDeclarationADefinition() used to do
- The IsDeleted bit is not propagated across redeclarations
- isDeleted() now checks the canoncial declaration
- New isDeletedAsWritten() does what it says on the tin.
- isUserProvided() now correct (thanks Richard!)
This fixes the bug that we weren't catching
void foo() = delete;
void foo() {}
as being a redefinition.
llvm-svn: 131013
|
|
|
|
| |
llvm-svn: 129567
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
too low-level to actually be useful but is just interesting enough for
people to try to use it (which won't actually work beyond toy examples).
To bring back the AST printer, it needs to be:
- Complete, covering all of C/C++/Objective-C
- Documented, with appropriate Schema against which we can validate
the output
- Designed for C/C++/Objective-C, not Clang's specific ASTs
- Stable across Clang versions
- Well-tested
llvm-svn: 127141
|
|
|
|
| |
llvm-svn: 125806
|
|
|
|
|
|
| |
classes, since it's only really worked for the trivial cases anyway due to lame pseudo-parsing of the class name. The viewInheritance() function is still available for use in the debugger, where this is far more useful
llvm-svn: 125762
|
|
|
|
|
|
| |
Fix PR8832.
llvm-svn: 122311
|
|
|
|
| |
llvm-svn: 120297
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the ASTs. Only available in assertions builds. No stability guarantee.
This is intended solely as a debugging tool. I'm not sure if the goals
are sufficiently aligned with the XML printer to allow a common
implementation.
Currently just falls back on the StmtDumper to display statements,
which means it doesn't produce valid XML in those cases.
llvm-svn: 120088
|
|
|
|
| |
llvm-svn: 110123
|
|
|
|
| |
llvm-svn: 107769
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
library configuration
Currently, all AST consumers are located in the Frontend library,
meaning that in a shared library configuration, Frontend has a
dependency on Rewrite, Checker and CodeGen. This is suboptimal for
clients which only wish to make use of the frontend. CodeGen in
particular introduces a large number of unwanted dependencies.
This patch breaks the dependency by moving all AST consumers with
dependencies on Rewrite, Checker and/or CodeGen to their respective
libraries. The patch therefore introduces dependencies in the other
direction (i.e. from Rewrite, Checker and CodeGen to Frontend).
After applying this patch, Clang builds correctly using CMake and
shared libraries ("cmake -DBUILD_SHARED_LIBS=ON").
N.B. This patch includes file renames which are indicated in the
patch body.
Changes in this revision of the patch:
- Fixed some copy-paste mistakes in the header files
- Modified certain aspects of the coding to comply with the LLVM
Coding Standards
llvm-svn: 106010
|
|
|
|
|
|
|
|
| |
users of getNameAsString on a stream.
The next step is to print the name directly into the stream, avoiding a temporary std::string copy.
llvm-svn: 101632
|
|
|
|
|
|
| |
-dump-record-layouts a bit that Sema honors.
llvm-svn: 100747
|
|
|
|
| |
llvm-svn: 100746
|
|
|
|
|
|
|
| |
and CXXRecordDecl::getDefinition(); it's totally unnecessary. No
functionality change.
llvm-svn: 95836
|
|
|
|
| |
llvm-svn: 93973
|
|
|
|
| |
llvm-svn: 92441
|
|
|
|
| |
llvm-svn: 90838
|
|
|
|
| |
llvm-svn: 90441
|
|
|
|
|
|
| |
refers to a RecordType. Add assertions or conditions as appropriate. This fixes another crash in the Apache stdlib vector.
llvm-svn: 85055
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the DeclaratorInfo, if one is present.
Preserve source information through template instantiation. This is made
more complicated by the possibility that ParmVarDecls don't have DIs, which
is possibly worth fixing in the future.
Also preserve source information for function parameters in ObjC method
declarations.
llvm-svn: 84971
|
|
|
|
| |
llvm-svn: 82827
|
|
|
|
|
|
| |
an empty virtual base class needs to be moved aside because it conflicts with the first field.
llvm-svn: 82746
|
|
|
|
| |
llvm-svn: 82733
|
|
|
|
| |
llvm-svn: 82703
|
|
|
|
| |
llvm-svn: 81588
|
|
|
|
| |
llvm-svn: 81346
|
|
|
|
| |
llvm-svn: 79916
|
|
|
|
| |
llvm-svn: 79854
|
|
|
|
| |
llvm-svn: 74517
|
|
|
|
|
|
|
| |
Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.
llvm-svn: 74506
|
|
|
|
| |
llvm-svn: 74503
|
|
|
|
| |
llvm-svn: 73651
|
|
|
|
|
|
|
|
|
| |
walks through DeclContexts properly, and prints more of the
information available in the AST. The functionality is still available
via -ast-print, -ast-dump, etc., and also via the new member functions
Decl::dump() and Decl::print().
llvm-svn: 72597
|
|
|
|
|
|
|
|
|
| |
printing logic to help customize the output. For now, we use this
rather than a special flag to suppress the "struct" when printing
"struct X" and to print the Boolean type as "bool" in C++ but "_Bool"
in C.
llvm-svn: 72590
|
|
|
|
| |
llvm-svn: 72224
|
|
.cpp files to lib/Frontend. (As proposed on cfe-dev.)
llvm-svn: 72060
|