| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402
|
|
|
|
|
|
| |
-Wrap objc runtime calls with "extern "C"" (for now).
llvm-svn: 48284
|
|
|
|
| |
llvm-svn: 47769
|
|
|
|
|
|
|
| |
some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715
|
|
|
|
|
|
| |
discussion of this change.
llvm-svn: 45410
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://llvm.org/viewvc/llvm-project?rev=44920&view=rev
Putting VisitDeclStmt() was motivated because it called DumpDeclarator(),
which printed out a little bit more information than just using the
child_iterator interface to visit the subexpressions of DeclStmt. To avoid
printing the initializers twice, DumpSubTree() now specially checks for
DeclStmts; in such cases it calls VisitDeclStmt() without using the
child_iterators to visit the subexpressions.
llvm-svn: 44924
|
|
|
|
|
|
|
| |
printed out by DumpSubTree() via the child_iterator interface. This fixes a
bug where the initializers were being dumped twice.
llvm-svn: 44920
|
|
|
|
|
|
|
|
| |
works like -ast-print.
Also added a cast to be safe...
llvm-svn: 44209
|
|
|
|
|
|
|
| |
filesystems (was "#include "clang/AST/DeclObjc.h", which worked fine
on a case-insensitive HFS+ volume on the Mac).
llvm-svn: 43080
|
|
|
|
| |
llvm-svn: 43075
|
|
|
|
|
|
|
|
| |
Rename SourceRange::Begin()/End() to getBegin()/getEnd() for
consistency with other code.
Start building the rewriter towards handling @encode.
llvm-svn: 43047
|
|
|
|
|
|
| |
smaller, thanks.
llvm-svn: 43042
|
|
|
|
| |
llvm-svn: 43039
|
|
|
|
| |
llvm-svn: 43038
|
|
|
|
|
|
|
|
|
| |
likewise block and param. Reorder the layout of the Decl kind enum
so that the inheritance tree is reflected in the ordering. This allows
trivial range comparisons to determine whether something is an instance
of some abstract class, making classof faster.
llvm-svn: 42772
|
|
|
|
| |
llvm-svn: 42730
|
|
|
|
|
|
| |
APFloat straight through to LLVM now.
llvm-svn: 42236
|
|
|
|
|
|
| |
Decl is now svelte:-)
llvm-svn: 41935
|
|
|
|
| |
llvm-svn: 41796
|
|
|
|
|
|
|
|
|
|
| |
Move DumpSourceRange() to DumpStmt().
Now -parse-ast-dump will display source range info for all stmts/exprs.
One day we should implement the source range protocol for Decls.
llvm-svn: 41670
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example, -parse-ast-dump now prints:
static inline int __inline_isinff(float __x)
(CompoundStmt 0x2409a20
(ReturnStmt 0x2409a10
(BinaryOperator 0x24099f0 'int' <///usr/include/architecture/i386/math.h:183:63, col:102> '=='
(CallExpr 0x24098f0 'float' <col:63, col:82>
(ImplicitCastExpr 0x24098e0 'float (*)(float)' <col:63>
(DeclRefExpr 0x2409880 'float (float)' <col:63> Decl='__builtin_fabsf' 0x2409840))
(DeclRefExpr 0x24098a0 'float' <col:79> Decl='__x' 0x2409810))
(CallExpr 0x24099c0 'float' <col:87, col:102>
(ImplicitCastExpr 0x2409870 'float (*)(void)' <col:87>
(DeclRefExpr 0x2409980 'float (void)' <col:87> Decl='__builtin_inff' 0x2409940))))))
where it only prints filename/line# if it changes from the previous value. We
really need loc info on stmts though, like we have on exprs.
llvm-svn: 41602
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use Ted's child walking interface to allow the dumper to walk the tree
in one place and only have node-specific callbacks worry about
formatting the nodes (instead of formatting the nodes plus walking the
tree).
This commit eliminates now default cases by letting them fall through with
the normal visitor stuff.
llvm-svn: 41591
|
|
|
|
| |
llvm-svn: 41589
|
|
|
|
| |
llvm-svn: 41588
|
|
|
|
| |
llvm-svn: 41415
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
represent imaginary literals:
float _Complex A;
void foo() {
A = 1.0iF;
}
generates:
(BinaryOperator 0x2305ec0 '_Complex float' '='
(DeclRefExpr 0x2305e60 '_Complex float' Decl='A' 0x2305cf0)
(ImaginaryLiteral 0x2305f40 '_Complex float'
(FloatingLiteral 0x2305ea0 'float' 1.000000))))
llvm-svn: 41413
|
|
|
|
|
|
| |
they show up in dumps etc.
llvm-svn: 41393
|
|
|
|
| |
llvm-svn: 41361
|
|
|
|
| |
llvm-svn: 41273
|
|
|
|
| |
llvm-svn: 41238
|
|
|
|
|
|
|
| |
significantly faster and actually reduces the amount of code in the system.
This also allows for future visitor changes.
llvm-svn: 41211
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to getBase and getIdx. getBase and getIdx now return a "normalized" view
of the expression (e.g., always "A[4]" instead of possibly "4[A]"). getLHS
and getRHS return the expressions with syntactic fidelity to the original
source code.
Also modified client code of ArraySubscriptExpr, including the AST dumper
and pretty printer, the return-stack value checker, and the LLVM code
generator.
llvm-svn: 41180
|
|
|
|
| |
llvm-svn: 41011
|
|
|
|
| |
llvm-svn: 40969
|
|
|
|
| |
llvm-svn: 40968
|
|
|
|
| |
llvm-svn: 40964
|
|
|
|
| |
llvm-svn: 40959
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to dump:
typedef short S;
int test(S X, long long Y) {
return X < ((100));
}
as:
typedef short S;
int test(S X, long long Y)
(CompoundStmt 0x2905d40
(ReturnStmt 0x2905d30
(BinaryOperator 0x2905d10 'int' '<'
(ImplicitCastExpr 0x2905d00 'int'
(DeclRefExpr 0x2905c80 'S':'short' Decl='X' 0x2905c20))
(ParenExpr 0x2905ce0 'int'
(ParenExpr 0x2905cc0 'int'
(IntegerLiteral 0x2905ca0 'int' 100))))))
llvm-svn: 40956
|
|
the AST in a structural, non-pretty, form useful for understanding
the AST. It isn't quite done yet, but is already somewhat useful.
For this example:
int test(short X, long long Y) {
return X < ((100));
}
we get (with -parse-ast-dump):
int test(short X, long long Y)
(CompoundStmt 0x2905ce0
(ReturnStmt 0x2905cd0
(BinaryOperator 0x2905cb0 '<'
(ImplicitCastExpr 0x2905ca0
(DeclRefExpr 0x2905c20 Decl='X' 0x2905bb0))
(ParenExpr 0x2905c80
(ParenExpr 0x2905c60
(IntegerLiteral 0x2905c40 100))))))
llvm-svn: 40954
|