| 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
|
|
|
|
|
|
| |
Patch by Mike Stump!
llvm-svn: 47582
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The patch fixes some debug assertions that the msvcrt throws:
1)
- if (isprint(value) && value < 256) {
+ if (value < 256 && isprint(value)) {
isprint() does an assertion check of its own for value < 256; check value before calling it to prevent it.
2)
- Stmt->Names.push_back(std::string(&data[0], data.size()));
+ if (data.size() == 0)
+ Stmt->Names.push_back(std::string());
+ else
+ Stmt->Names.push_back(std::string(&data[0], data.size()));
If data.size() == 0 then data[0] throws "out of range" assertion.
llvm-svn: 47512
|
|
|
|
| |
llvm-svn: 46572
|
|
|
|
| |
llvm-svn: 46558
|
|
|
|
| |
llvm-svn: 46520
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__builtin_overload takes 2 or more arguments:
0) a non-zero constant-expr for the number of arguments the overloaded
functions will take
1) the arguments to pass to the matching overloaded function
2) a list of functions to match.
The return type of __builtin_overload is inferred from the function whose args
match the types of the arguments passed to the builtin. For example:
float a;
float sinf(float);
int sini(int);
float b = __builtin_overload(1, a, sini, sinf);
Says that we are overloading functions that take one argument, and trying to
pass an argument of the same type as 'a'. sini() does not match since it takes
and argument of type int. sinf does match, so at codegen time this will turn
into float b = sinf(a);
llvm-svn: 46132
|
|
|
|
|
|
|
| |
some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715
|
|
|
|
| |
llvm-svn: 45511
|
|
|
|
|
|
| |
discussion of this change.
llvm-svn: 45410
|
|
|
|
| |
llvm-svn: 44338
|
|
|
|
|
|
| |
the LHS subexpression can be NULL. Patch provided by Nuno Lopes!
llvm-svn: 44328
|
|
|
|
| |
llvm-svn: 44297
|
|
|
|
|
|
| |
AsmStmt. Ted, could you please review the serialization/deserialization code?
llvm-svn: 44266
|
|
|
|
| |
llvm-svn: 44255
|
|
|
|
|
|
|
|
| |
type.
Adding basic printing to StmtPrinter::PrintRawDecl().
llvm-svn: 44208
|
|
|
|
| |
llvm-svn: 44028
|
|
|
|
| |
llvm-svn: 44016
|
|
|
|
| |
llvm-svn: 43802
|
|
|
|
|
|
| |
faulted.
llvm-svn: 43798
|
|
|
|
| |
llvm-svn: 43649
|
|
|
|
| |
llvm-svn: 43623
|
|
|
|
|
|
|
| |
resolving a crash on a .i file in PR1750. We now generate 49 errors on the
.i file in that bug.
llvm-svn: 43433
|
|
|
|
| |
llvm-svn: 43110
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
smaller, thanks.
llvm-svn: 43042
|
|
|
|
| |
llvm-svn: 43039
|
|
|
|
| |
llvm-svn: 43038
|
|
|
|
| |
llvm-svn: 43006
|
|
|
|
| |
llvm-svn: 42974
|
|
|
|
| |
llvm-svn: 42730
|
|
|
|
|
|
|
|
| |
- Add ObjcMessageExpr::getSelector(), getClassName().
- Change Sema::getObjCInterfaceDecl() to simply take an IdentifierInfo (no Scope needed).
- Remove FIXME for printing ObjCMessageExpr's.
llvm-svn: 42543
|
|
|
|
|
|
| |
APFloat straight through to LLVM now.
llvm-svn: 42236
|
|
|
|
|
|
|
|
|
|
|
| |
- Add ObjcMessageExpr AST node and associated constructors.
- Add SourceLocation's to ActOnKeywordMessage/ActOnUnaryMessage API.
- Instantiate message expressions...
- Replace alloca usage with SmallString.
Next step, installing a correct type, among other tweaks...
llvm-svn: 42116
|
|
|
|
| |
llvm-svn: 41989
|
|
|
|
|
|
| |
Decl is now svelte:-)
llvm-svn: 41935
|
|
|
|
|
|
| |
warnings that some compilers diagnose
llvm-svn: 41847
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
be passed as an (optional) argument to StmtPrinter to customize
printing of AST nodes.
Used new PrinterHelper interface to enhance printing and visualization
of CFGs. The CFGs now illustrate the semantic connectives between
statements and terminators, wheras in the previous printing certain
expressions would (visible) be printed multiple times to reflect which
expressions used the results of other expressions.
The end result is that the CFG is easier to read for flow of
expression values (following principles similar to the LLVM IR).
llvm-svn: 41651
|
|
|
|
| |
llvm-svn: 41636
|
|
|
|
| |
llvm-svn: 41615
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
"case sizeof x:"
instead of:
"case sizeofx:"
llvm-svn: 41339
|
|
|
|
| |
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: 40967
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|