| 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
|
|
|
|
| |
llvm-svn: 47954
|
|
|
|
|
|
|
|
|
|
|
| |
Removed VarDecl::hasAutoStorage() (only used by hasLocalStorage())
Merged logic from VarDecl::hasAutoStorage() into VarDecl::hasLocalStorage(),
and expanded (fixed) the logic of hasLocalStorage() to handle Extern and PrivateExtern.
Renamed Expr::hasStaticStorage() to Expr::hasGlobalStorage().
llvm-svn: 47681
|
|
|
|
| |
llvm-svn: 47429
|
|
|
|
|
|
|
|
|
| |
rename QualType::getQualifiers to getCVRQualifiers.
Add some fixme's and clean up some code relevant to qualifiers.
Change ASQualType to contain a Type* instead of a QualType.
Any CVR qualifiers should be on the outer qual type.
llvm-svn: 47398
|
|
|
|
| |
llvm-svn: 47269
|
|
|
|
|
|
| |
that is not a type.
llvm-svn: 47259
|
|
|
|
| |
llvm-svn: 47202
|
|
|
|
| |
llvm-svn: 47156
|
|
|
|
|
|
|
|
|
| |
tgmath.h.
Note that there is another issue with tgmath.h, so mandel.c still
doesn't work.
llvm-svn: 47069
|
|
|
|
| |
llvm-svn: 47040
|
|
|
|
| |
llvm-svn: 46919
|
|
|
|
|
|
|
|
| |
submitted by Neil Booth.
Neil, can you point me to the place in the C99 spec that says this is allowed? I thought Expr::isLvalue() conformed to the spec, which says "C99 6.3.2.1: an lvalue is an expression with an object type or an incomplete type other than void.". Please advise.
llvm-svn: 46917
|
|
|
|
| |
llvm-svn: 46594
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
used to support CFConstantStrings. Can be extended to support other built-in functions.
This allows the following code to compile without error...
#include <CoreFoundation/CoreFoundation.h>
#define CONST_STRING_DECL(S, V) const CFStringRef S = (const CFStringRef)__builtin___CFStringMakeConstantString(V);
CONST_STRING_DECL(kCFTimeZoneSystemTimeZoneDidChangeNotification, "kCFTimeZoneSystemTimeZoneDidChangeNotification")
llvm-svn: 46592
|
|
|
|
| |
llvm-svn: 46572
|
|
|
|
| |
llvm-svn: 46515
|
|
|
|
| |
llvm-svn: 46364
|
|
|
|
| |
llvm-svn: 46343
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__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
|
|
|
|
|
|
|
| |
Refactored the use of this method into both the Sema module and Analysis module,
which were using their own static functions that did the same thing.
llvm-svn: 46129
|
|
|
|
|
|
|
|
| |
implement C99 6.5.2.5p6. This could have been done without modifying the AST (by checking the decl type and passing the info down to isContextExpr), however we concluded this is more desirable.
Bug/patch by Eli Friedman!
llvm-svn: 45966
|
|
|
|
| |
llvm-svn: 45961
|
|
|
|
|
|
|
|
| |
explicit casts.
Now, isNullPointerConstant() will return true for the following: "(void*)(double*)0"
llvm-svn: 45951
|
|
|
|
|
|
| |
Eli Friedman!
llvm-svn: 45906
|
|
|
|
|
|
|
|
|
|
| |
noticed it was missing).
- Rename CheckInitializer() to CheckInitializerTypes().
- Removed the isStatic argument to CheckInitializerTypes() and all of it's subroutines. Checking for constant expressions is now done separately.
- Added CheckForConstantInitializer().
llvm-svn: 45840
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
truncating. This allows us to compile:
void foo() {
static _Bool foo = 4;
}
into:
@foo1 = internal global i8 1
instead of:
@foo1 = internal global i8 4
llvm-svn: 45779
|
|
|
|
| |
llvm-svn: 45764
|
|
|
|
|
|
|
| |
some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715
|
|
|
|
| |
llvm-svn: 45505
|
|
|
|
|
|
| |
discussion of this change.
llvm-svn: 45410
|
|
|
|
| |
llvm-svn: 45378
|
|
|
|
|
|
|
|
|
|
|
| |
int foo() {
typedef int x[foo()];
static int y = sizeof(x);
}
previously we'd emit it on the typedef, which made not sense at all.
llvm-svn: 45154
|
|
|
|
|
|
|
|
|
|
|
| |
This parallels a previous patch (duplicate logic caused the bug to appear
in multiple locations):
r44316 (http://llvm.org/viewvc/llvm-project?rev=44316&view=rev).
Patch provided by Nuno Lopes.
llvm-svn: 45098
|
|
|
|
|
|
| |
so useful and introduced a few bugs.
llvm-svn: 45051
|
|
|
|
|
|
|
|
|
| |
over is the subexpression of a sizeof(expression). Different clients
will wish to handle iteration over such subexpressions differently, and can
now easily query if they are iterating over such statements using the
StmtIterator's inSizeOfExpr().
llvm-svn: 45047
|
|
|
|
|
|
|
|
|
|
|
| |
declared in a sizeof. For example:
sizeof(int[foo()]);
the expression "foo()" is an expression that is executed during the evaluation
of sizeof.
llvm-svn: 45043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:
FullLoc.getManager().someMethod(FullLoc.getLocation());
instead we have:
FullLoc.someMethod();
Modified TextDiagnostics (and related classes) to use this short-hand.
llvm-svn: 44957
|
|
|
|
|
|
| |
return a location.
llvm-svn: 44889
|
|
|
|
|
|
| |
Also updated a FIXME in Sema::CheckInitializer()...
llvm-svn: 44602
|
|
|
|
| |
llvm-svn: 44492
|
|
|
|
|
|
|
|
| |
exprs whose
LHS and RHS both have side effects.
llvm-svn: 44486
|
|
|
|
| |
llvm-svn: 44472
|
|
|
|
|
|
| |
omitted. Handle this in a few more places.
llvm-svn: 44462
|
|
|
|
| |
llvm-svn: 44388
|
|
|
|
| |
llvm-svn: 44376
|
|
|
|
| |
llvm-svn: 44369
|
|
|
|
| |
llvm-svn: 44316
|
|
|
|
| |
llvm-svn: 44172
|
|
|
|
|
|
| |
constants and initializers. Patch by Sanghyeon Seo, thanks!
llvm-svn: 44049
|