| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 42485
|
|
|
|
|
|
|
|
| |
with method implementation declarations .
It checks and warns on those methods declared in class interface and not implemented.
llvm-svn: 42412
|
|
|
|
|
|
|
| |
that they conform(in type, name and numbers) to those declared in @interface.
Test case highlights kind of checking we do here.
llvm-svn: 42360
|
|
|
|
|
|
|
|
|
| |
info. It also adds more
semantic checks for class and protocol declarations. Test cases are good indications of kind of
checking being done in this patch.
llvm-svn: 42311
|
|
|
|
|
|
|
|
| |
use of
protocols referenced in @protocol declarations.
llvm-svn: 42191
|
|
|
|
| |
llvm-svn: 42104
|
|
|
|
|
|
| |
instead for @protocol method decls.
llvm-svn: 42070
|
|
|
|
| |
llvm-svn: 42060
|
|
|
|
| |
llvm-svn: 42025
|
|
|
|
|
|
|
|
|
|
| |
- Add SelectorInfo/SelectorTable classes, modeled after IdentifierInfo/IdentifierTable.
- Add SelectorTable instance to ASTContext, created lazily through ASTContext::getSelectorInfo().
- Add SelectorInfo slot to ObjcMethodDecl.
- Add helper function to derive a SelectorInfo from ObjcKeywordInfo.
Misc: Got the Decl stats stuff up and running again...it was missing support for ObjC AST's.
llvm-svn: 42023
|
|
|
|
|
|
| |
Patch by Justin Handville
llvm-svn: 42009
|
|
|
|
|
|
|
| |
- Allow classnames as the receiver (removing a FIXME from ParseObjCMessageExpression).
- Added a FIXME to ParseObjCMessageExpression()...we need to return a message expr AST node!
llvm-svn: 42001
|
|
|
|
| |
llvm-svn: 41961
|
|
|
|
|
|
|
|
| |
Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl.
Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later.
llvm-svn: 41934
|
|
|
|
|
|
|
|
| |
cocoa.m due
to use of @property.
llvm-svn: 41880
|
|
|
|
|
|
| |
class object.
llvm-svn: 41801
|
|
|
|
|
|
|
|
|
|
|
| |
Objective-C classes
as types. That said, the AST nodes ObjcInterfaceDecl, ObjcInterfaceType, and ObjcClassDecl are *very*
preliminary.
The good news is we no longer need -parse-noop (aka MinimalActions) to parse cocoa.m.
llvm-svn: 41752
|
|
|
|
|
|
| |
Benoit Boissinot!
llvm-svn: 39780
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
out of the llvm namespace. This makes the clang namespace be a sibling of
llvm instead of being a child.
The good thing about this is that it makes many things unambiguous. The
bad things is that many things in the llvm namespace (notably data structures
like smallvector) now require an llvm:: qualifier. IMO, libsystem and libsupport
should be split out of llvm into their own namespace in the future, which will fix
this issue.
llvm-svn: 39659
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
int test(int X, short Y, float Z) {
return (int)(X*Y+Z);
}
to:
define i32 @test(i32 %X, i16 %Y, float %Z) {
entry:
%promote = sext i16 %Y to i32 ; <i32> [#uses=1]
%mul = mul i32 %promote, %X ; <i32> [#uses=1]
%promote3 = sitofp i32 %mul to float ; <float> [#uses=1]
%add = add float %promote3, %Z ; <float> [#uses=1]
%conv = fptosi float %add to i32 ; <i32> [#uses=1]
ret i32 %conv
}
with:
$ clang -emit-llvm t.c | llvm-as | opt -std-compile-opts | llvm-dis
llvm-svn: 39652
|
|
|
|
| |
llvm-svn: 39644
|
|
|
|
|
|
|
|
| |
Submitted by:
Reviewed by:
Add implemention file for GCC attributes
llvm-svn: 39542
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Submitted by:
Reviewed by:
Implement support for GCC __attribute__.
- Implement "TODO" in Parser::ParseAttributes. Changed the return type from
void to Parser::DeclTy. Changed all call sites to accept the return value.
- Added Action::ParseAttribute and Sema::ParseAttribute to return an
appropriate AST node. Added new node AttributeDecl to Decl.h.
Still to do...hook up to the Decl...
llvm-svn: 39539
|
|
|
|
| |
llvm-svn: 39492
|
|
|
|
| |
llvm-svn: 39487
|
|
|
|
|
|
|
|
|
|
|
| |
Submitted by:
Reviewed by:
Added "global" statistics gathering for Decls/Stmts/Exprs.
Very useful for working with a single file. When we start compiling
multiple files, will need to enhance this to collect stats on a per-module
basis.
llvm-svn: 39485
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Submitted by:
Reviewed by:
Finish up Sema::ParseMemberReferenceExpr. This involved:
- added a getMember() function to RecordDecl.
- added stronger typing for "Members" (from Decl->FieldDecl).
- added a dignostic for members not found.
- changed MemberExpr to install the correct TypeRef.
- In general, simplified and cleaned up the routing.
llvm-svn: 39364
|
|
|
|
|
|
|
| |
the EnumDecl when the enum type is complete. This allows us to detect
redefinitions of enums.
llvm-svn: 39300
|
|
|
|
|
|
|
|
| |
t.c:2:6: warning: ISO C forbids forward references to 'enum' types
enum foo22* X;
^
llvm-svn: 39299
|
|
|
|
| |
llvm-svn: 39297
|
|
|
|
| |
llvm-svn: 39260
|
|
|
|
| |
llvm-svn: 39255
|
|
|
|
|
|
|
| |
inserting them into the function body scope and registering them with the
corresponding FunctionDecl.
llvm-svn: 39253
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
typedef int X;
int A() {
return X;
}
int B() {
return Y;
}
as:
/Users/sabre/test.c:5:10: error: unexpected type name 'X': expected expression
return X;
^
/Users/sabre/test.c:9:10: error: use of undeclared 'Y' value
return Y;
^
llvm-svn: 39192
|
|
|
|
| |
llvm-svn: 39048
|
|
llvm-svn: 38991
|