| 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
|
|
|
|
|
|
|
| |
Set the start of DeclStmt range. Right now the end is meaningless
though.
llvm-svn: 48330
|
|
|
|
|
|
| |
Generate CallingConv::Fast when fastcall attribute is present
llvm-svn: 48017
|
|
|
|
| |
llvm-svn: 47837
|
|
|
|
| |
llvm-svn: 47689
|
|
|
|
|
|
| |
Patch by Mike Stump!
llvm-svn: 47582
|
|
|
|
| |
llvm-svn: 47451
|
|
|
|
|
|
| |
ProcessTypeAttributes method.
llvm-svn: 47418
|
|
|
|
| |
llvm-svn: 47415
|
|
|
|
| |
llvm-svn: 47410
|
|
|
|
| |
llvm-svn: 47197
|
|
|
|
| |
llvm-svn: 46936
|
|
|
|
|
|
|
|
| |
of ObjC class warning is incomplete
As part of this fix, I made a low-level change to the text diagnostics machinery (to basically avoid printing duplicate source lines/carets when you have multiple diagnostics that refer to the same exact place). For now, this only happens with we don't have a source range (could be extended to support source ranges as well).
llvm-svn: 46897
|
|
|
|
| |
llvm-svn: 46868
|
|
|
|
| |
llvm-svn: 46867
|
|
|
|
| |
llvm-svn: 46855
|
|
|
|
|
|
|
| |
Sema::ActOnTranslationUnitScope. The various ObjC pieces at the top
of Sema.cpp should be moved into SemaObjC or something.
llvm-svn: 46787
|
|
|
|
| |
llvm-svn: 46777
|
|
|
|
|
|
| |
qualifiers use the __attribute__((address_space(id))) syntax.
llvm-svn: 46691
|
|
|
|
| |
llvm-svn: 46524
|
|
|
|
|
|
|
|
|
|
| |
CheckForCharArrayInitializer with CheckInitializerListTypes. The new routine now supports struct/union initializers.
This is a modified version of a patch by Eli Friedman. This version passes all of the clang tests and supports vectors:-)
Note that Eli and I are still unsatisfied the implementation of CheckInitializerListTypes(). We'd like to find a more elegant implementation. Nevertheless, this is a complex part of the standard (and may be hard to simplify). Since the complexity is localized to this routine, we can iterate without too much disruption:-)
llvm-svn: 46339
|
|
|
|
|
|
| |
- Use previous hooks to simplify Sema::CheckInitializerTypes()...
llvm-svn: 46235
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__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
|
|
|
|
|
|
|
|
|
|
| |
a method named ImpCastExprToType in Sema.
Use this method to insert implicit casts for case statements from their
operand type to the condition type of the switch. This fixes a crash on
test/CodeGen/statements.c, reported by Eli Friedman.
llvm-svn: 46083
|
|
|
|
|
|
| |
extern "C" in C++ mode. Patch by Mike Stump!
llvm-svn: 45904
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715
|
|
|
|
| |
llvm-svn: 45604
|
|
|
|
|
|
| |
from pointer->int.
llvm-svn: 45591
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it from several places. This merges the diagnostics, making them more
uniform and fewer in number. This also simplifies and cleans up the code.
Some highlights:
1. This removes a bunch of very-similar diagnostics.
2. This renames AssignmentCheckResult -> AssignConvertType
3. This merges PointerFromInt + IntFromPointer which were always treated the same.
4. This updates a bunch of test cases that have minor changes to the produced diagnostics.
llvm-svn: 45589
|
|
|
|
| |
llvm-svn: 45561
|
|
|
|
| |
llvm-svn: 45560
|
|
|
|
| |
llvm-svn: 45556
|
|
|
|
| |
llvm-svn: 45539
|
|
|
|
|
|
| |
discussion of this change.
llvm-svn: 45410
|
|
|
|
|
|
|
|
|
|
|
|
| |
and OwningPtr instead of constructing only after all of sema is done. This
has a couple of effects:
1. it fixes memory leaks from all the error cases in sema
2. it simplifies the code significantly.
The cost of this is that the error case now new's and delete's an expr where
it did not before, but we don't care about the perf of the error case.
llvm-svn: 45380
|
|
|
|
| |
llvm-svn: 45239
|
|
|
|
| |
llvm-svn: 45234
|
|
|
|
|
|
| |
attribute.
llvm-svn: 45195
|
|
|
|
|
|
|
|
|
|
|
|
| |
int test(int x, long long y) {
return x << y;
}
we now realize the type of the shift is int, not long long.
This fixes a fixme from june.
llvm-svn: 44912
|
|
|
|
|
|
|
|
| |
this is passed to sema and ignored there, so the second part of the
string will not make it into the AST. Passing to Fariborz to finish
Sema + AST construction.
llvm-svn: 44898
|
|
|
|
|
|
| |
Adapted from a patch by Anders Carlsson.
llvm-svn: 44816
|
|
|
|
|
|
| |
"@class Protocol;"
llvm-svn: 44670
|
|
|
|
| |
llvm-svn: 44576
|
|
|
|
|
|
|
| |
After a discussion with Ted, we both came to the conclusion that adding a "HandleTopLevelDeclaration" hook to ASConsumer is far more elegant. The default implementation of HandleTopLevelDeclaration will be responsible for iterating over the ScopedDecl (which has a chain of the decls:-).
TODO: Once Ted adds HandleTopLevelDeclaration, make sure TagDecls are chainged appropriately...
llvm-svn: 44445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following code...
typedef struct cssm_data {} CSSM_DATA, *CSSM_DATA_PTR;
struct Y { int A; };
struct X { int A; } D;
struct X E, F;
...now produces the following output...
> ../../Debug/bin/clang xx.c -ast-print
Read top-level tag decl: 'cssm_data'
typedef struct cssm_data CSSM_DATA;
typedef struct cssm_data *CSSM_DATA_PTR;
Read top-level tag decl: 'Y'
Read top-level tag decl: 'X'
Read top-level variable decl: 'D'
Read top-level variable decl: 'E'
Read top-level variable decl: 'F'
...which is much more accurate than the previous -ast-print output...
typedef struct cssm_data CSSM_DATA;
typedef struct cssm_data CSSM_DATA;
Read top-level variable decl: 'D'
Read top-level variable decl: 'E'
Read top-level variable decl: 'E'
llvm-svn: 44421
|
|
|
|
| |
llvm-svn: 44356
|
|
|
|
| |
llvm-svn: 44350
|
|
|
|
|
|
|
|
|
| |
Moved utility functions IgnoreParen and friends to be static inline functions
defined in SemaUtil.h.
Added SemaUtil.h to Xcode project.
llvm-svn: 44312
|
|
|
|
| |
llvm-svn: 44297
|