]>
granicus.if.org Git - clang/log
Ted Kremenek [Tue, 23 Dec 2008 18:27:26 +0000 (18:27 +0000)]
Cosmetics: rename a variable and tighten spacing. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61375
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 23 Dec 2008 16:41:32 +0000 (16:41 +0000)]
Merge pr-3188.cpp into constructor.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61370
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2008 04:57:30 +0000 (04:57 +0000)]
Add a setter for CVR qualifiers, patch by Lukasz Janyst!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61367
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 23 Dec 2008 02:52:12 +0000 (02:52 +0000)]
PTH:
- Encode the token length with 2 bytes instead of 4.
- This reduces the size of the .pth file for Cocoa.h by 12%.
- This speeds up PTH time (-Eonly) on Cocoa.h by 1.6%.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61364
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 23 Dec 2008 02:30:15 +0000 (02:30 +0000)]
PTH:
- In PTHLexer::Lex read all of the token data from PTH file before
constructing the token. The idea is to enhance locality.
- Do not use Read8/Read32 in PTHLexer::Lex. Inline these operations manually.
- Change PTHManager::ReadIdentifierInfo() to PTHManager::GetIdentifierInfo().
They are functionally the same except that PTHLexer::Lex() reads the
persistent id.
These changes result in a 3.3% speedup for PTH on Cocoa.h (-Eonly).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61363
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 23 Dec 2008 01:30:52 +0000 (01:30 +0000)]
PTH:
- Embed 'eom' tokens in PTH file.
- Use embedded 'eom' tokens to not lazily generate them in the PTHLexer.
This means that PTHLexer can always advance to the next token after
reading a token (instead of buffering tokens using a copy).
- Moved logic of 'ReadToken' into Lex. GetToken & ReadToken no longer exist.
- These changes result in a 3.3% speedup (-Eonly) on Cocoa.h.
- The code is a little gross. Many cleanups are possible and should be done.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61360
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 23 Dec 2008 00:53:59 +0000 (00:53 +0000)]
Add some block-pointer conversions in C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61359
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 23 Dec 2008 00:26:44 +0000 (00:26 +0000)]
Don't explicitly represent OverloadedFunctionDecls within
DeclContext. Instead, just keep the list of currently-active
declarations and only build the OverloadedFunctionDecl when we
absolutely need it.
This is a half-step toward eliminating the need to explicitly build
OverloadedFunctionDecls that store sets of overloaded
functions. This was suggested by Argiris a while back, and it's a good
thing for several reasons: first, it eliminates the messy logic that
currently tries to keep the OverloadedFunctionDecl in sync with the
declarations that are being added. Second, it will (eventually)
eliminate the need to allocate memory for overload sets, which could
help performance. Finally, it helps set us up for when name lookup can
return multiple (possibly ambiguous) results, as can happen with
lookup of class members in C++.
Next steps: make the IdentifierResolver store overloads as separate
entries in its list rather than replacing them with an
OverloadedFunctionDecl now, then see how far we can go toward
eliminating OverloadedFunctionDecl entirely.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61357
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 22 Dec 2008 23:22:27 +0000 (23:22 +0000)]
More encoding support; in this case, encoding of
outer-most const of pointer types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61355
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 22 Dec 2008 22:16:07 +0000 (22:16 +0000)]
Fix <rdar://problem/
6463613 > clang ObjC rewriter: assertion failure rewriting @selector?.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61351
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Mon, 22 Dec 2008 21:43:13 +0000 (21:43 +0000)]
Guard against the return of PR3188
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61348
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Mon, 22 Dec 2008 21:35:02 +0000 (21:35 +0000)]
Full AST support and better Sema support for C++ try-catch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 22 Dec 2008 20:51:52 +0000 (20:51 +0000)]
Support conversion from a null pointer constant o any Objective-C object pointer type. Fixes rdar://problem/
6463298
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61340
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 22 Dec 2008 20:41:58 +0000 (20:41 +0000)]
Fixed a bug showed up the meta-data for protocol
instance methods by building print-class-info.m,
whose output is now identical to what gcc puts out.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Mon, 22 Dec 2008 19:15:10 +0000 (19:15 +0000)]
Partial AST and Sema support for C++ try-catch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61337
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 22 Dec 2008 19:05:31 +0000 (19:05 +0000)]
Patch to remove bogus warning in case of @dynamic
property in a category and to issue diagnostics
for mismatch method in some other cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61336
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Mon, 22 Dec 2008 17:51:10 +0000 (17:51 +0000)]
Expr and Stmt must be destroyed with Destroy, not delete. Fixes PR/3245.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61335
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 17:42:23 +0000 (17:42 +0000)]
Fix test failures noticed by Fariborz.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61334
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 22 Dec 2008 08:30:52 +0000 (08:30 +0000)]
Fix initialization order.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61333
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 07:36:02 +0000 (07:36 +0000)]
Flip the switch and start using the new xmmintrin.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61332
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 07:34:23 +0000 (07:34 +0000)]
Comment out _mm_insert_pi16 for now
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 07:08:03 +0000 (07:08 +0000)]
Implement the last intrinsics, _mm_insert_pi16 is the last remaining one now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61330
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 22 Dec 2008 05:46:06 +0000 (05:46 +0000)]
Add support for calls to overloaded member functions. Things to note:
- Overloading has to cope with having both static and non-static
member functions in the overload set.
- The call may or may not have an implicit object argument,
depending on the syntax (x.f() vs. f()) and the context (static
vs. non-static member function).
- We now generate MemberExprs for implicit member access expression.
- We now cope with mutable whenever we're building MemberExprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61329
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 05:42:03 +0000 (05:42 +0000)]
Add macros
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61328
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 05:20:34 +0000 (05:20 +0000)]
Add misc intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 05:00:07 +0000 (05:00 +0000)]
Add control register intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61326
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 04:55:36 +0000 (04:55 +0000)]
Add integer intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61325
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 04:54:32 +0000 (04:54 +0000)]
Generate code for __builtin_ia32_pshufw
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 03:50:21 +0000 (03:50 +0000)]
Add cacheability intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 03:16:40 +0000 (03:16 +0000)]
Add store intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 02:51:35 +0000 (02:51 +0000)]
Add set intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 02:43:30 +0000 (02:43 +0000)]
Add load intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 22 Dec 2008 01:52:37 +0000 (01:52 +0000)]
Add an option to make 'RemoveDeadBindings' a configurable behavior. This enables
us to measure the effect of this optimization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61319
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 01:26:50 +0000 (01:26 +0000)]
_mm_cvtsi64_ss is 64-bit only, so wrap it in #ifdef __x86_64__
Add composite conversion intrinsics - will implement them shortly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 00:48:30 +0000 (00:48 +0000)]
Add a couple of conversion intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 00:28:39 +0000 (00:28 +0000)]
Add comparison intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 22 Dec 2008 00:01:20 +0000 (00:01 +0000)]
Check in an in-progress version of xmmintrin.h that I had lying around.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61315
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 21 Dec 2008 22:39:40 +0000 (22:39 +0000)]
Add codegen support for __null
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61314
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 21 Dec 2008 19:24:58 +0000 (19:24 +0000)]
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61313
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 21 Dec 2008 16:41:36 +0000 (16:41 +0000)]
Parser support for C++ try-catch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 21 Dec 2008 13:00:52 +0000 (13:00 +0000)]
Correct comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61311
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 21 Dec 2008 12:17:24 +0000 (12:17 +0000)]
Test case makes a platform assumption, so force triple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 21 Dec 2008 12:04:03 +0000 (12:04 +0000)]
Convert a few Stmt actions to smart pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61309
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sun, 21 Dec 2008 11:56:24 +0000 (11:56 +0000)]
Document how move semantics and the emulation work. Do this in-file because it's such a specific thing.
Restructure code for less duplication.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 21 Dec 2008 04:46:06 +0000 (04:46 +0000)]
fix 80-col violation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 21 Dec 2008 03:48:05 +0000 (03:48 +0000)]
Implement alignof for vla types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 21 Dec 2008 03:46:11 +0000 (03:46 +0000)]
Use utility method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 21 Dec 2008 03:44:36 +0000 (03:44 +0000)]
Add ASTContext::getBaseElementType and use it in CodeGenFunction::EmitArraySubscriptExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 21 Dec 2008 03:40:32 +0000 (03:40 +0000)]
Commit the right version of the test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 21 Dec 2008 03:33:21 +0000 (03:33 +0000)]
Make sure to emit the size expression for sizeof(type)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 21 Dec 2008 03:31:01 +0000 (03:31 +0000)]
Use utility methods. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61300
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 21 Dec 2008 03:26:05 +0000 (03:26 +0000)]
Remove unused function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61299
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 21 Dec 2008 01:15:32 +0000 (01:15 +0000)]
Fix for PR3246: an empty clobber list is the empty string, not a null
string.
That said, we should probably try and track down the correct clobber
lists for the targets that don't have them (PPC, ARM, and Sparc),
so that we can generate correct code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61298
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 21 Dec 2008 00:16:32 +0000 (00:16 +0000)]
Did not mean to commit this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 21 Dec 2008 00:11:23 +0000 (00:11 +0000)]
Handle VLA indexing
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 20 Dec 2008 23:49:58 +0000 (23:49 +0000)]
Add support for member references (E1.E2, E1->E2) with C++ semantics,
which can refer to static data members, enumerators, and member
functions as well as to non-static data members.
Implement correct lvalue computation for member references in C++.
Compute the result type of non-static data members of reference type properly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61294
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 20 Dec 2008 23:29:59 +0000 (23:29 +0000)]
Finish up saving original parameter type and
using it in ObjC's method parameter encoding.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61293
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 20 Dec 2008 23:18:29 +0000 (23:18 +0000)]
Extend the unsupported error to include break and continue, and fix a
warning by using an unsigned index.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61292
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 20 Dec 2008 23:11:59 +0000 (23:11 +0000)]
Make VLAs usable, and make basic usage work correctly. Also, add a
simple test that actually does VLA codegen.
Note that despite the fact that the alloca isn't in the entry block, it
should dominate all uses; this is guaranteed by the restrictions on goto
into VLA scope in C99.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61291
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 20 Dec 2008 21:51:53 +0000 (21:51 +0000)]
Handle typedefs to VLAs (Emit the size expr when we encounter the typedef
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61290
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 20 Dec 2008 21:33:38 +0000 (21:33 +0000)]
Check the entire StackSaveValues stack for VLAs when dealing with goto and return statements. Noticed by Eli Friedman.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61289
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 20 Dec 2008 21:28:43 +0000 (21:28 +0000)]
Make sure to generate code for arguments that have a variably modified type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61288
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 20 Dec 2008 21:06:28 +0000 (21:06 +0000)]
Add case for the new AST node.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 20 Dec 2008 20:56:12 +0000 (20:56 +0000)]
introducing ParmVarWithOriginalTypeDecl class to
keep track of the original parameter decl. types.
This is work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61286
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 20 Dec 2008 20:46:34 +0000 (20:46 +0000)]
Change EmitVLASize to take a QualType that must be a variably modified type.
Emit the size even if the declared type is a variably modified type. This lets us handle
void f(int n) {
int (*a)[n];
printf("size: %d\n", sizeof(*a));
}
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61285
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 20 Dec 2008 20:27:15 +0000 (20:27 +0000)]
Split up emitting of VLA sizes and getting the size of a VLA.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61284
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 20 Dec 2008 19:33:21 +0000 (19:33 +0000)]
Add some ErrorUnsupported calls and turn on VLA codegen again.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61283
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sat, 20 Dec 2008 19:17:01 +0000 (19:17 +0000)]
Strangely enough, name of ObjC class is not encoded into the
full encoding of the class which has an ivar of pointer to this
class. Its name is encoded in the type for the ivar in the
ivar-list metadata. This patch conforms to the above rule.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61282
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Sat, 20 Dec 2008 09:35:34 +0000 (09:35 +0000)]
Implement checks for bool in increment and decrement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61275
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 20 Dec 2008 06:32:12 +0000 (06:32 +0000)]
Lazy bingding for region-store manager.
* Now Bind() methods take and return GRState* because binding could
also alter GDM.
* No variables are initialized except those declared with initial
values.
* failed C test cases are due to bugs in RemoveDeadBindings(),
which removes constraints that is still alive. This will be fixed in later
patch.
* default value of array and struct regions will be implemented in later patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 20 Dec 2008 02:16:48 +0000 (02:16 +0000)]
Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Sat, 20 Dec 2008 01:41:43 +0000 (01:41 +0000)]
Fix <rdar://problem/
6454568 >: BugReporter should correctly handle switch statements with no default case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61270
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2008 23:51:20 +0000 (23:51 +0000)]
avoid using a typedef that isn't always included from headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 19 Dec 2008 23:34:38 +0000 (23:34 +0000)]
More encoding support. This time for
@encode of classes and bitfields.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61268
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 19 Dec 2008 20:58:05 +0000 (20:58 +0000)]
Get rid of the old Expr::Evaluate variant.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61260
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 19 Dec 2008 20:56:23 +0000 (20:56 +0000)]
Pass -fblocks to clang
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61258
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 19 Dec 2008 19:16:37 +0000 (19:16 +0000)]
Add a missing @end. Why didn't this get diagnosed?
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61256
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 19 Dec 2008 19:13:09 +0000 (19:13 +0000)]
Support more implicit conversions for Objective-C types. Addresses <rdar://problem/
6458293 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61255
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 19 Dec 2008 17:45:06 +0000 (17:45 +0000)]
Test case for my last @encode patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61247
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 19 Dec 2008 17:40:08 +0000 (17:40 +0000)]
Allow downcasts of pointers to Objective-C interfaces, with a
warning. This matches GCC's behavior and addresses
<rdar://problem/
6458293 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61246
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 19 Dec 2008 17:27:57 +0000 (17:27 +0000)]
Fix for PR3234
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61245
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 19 Dec 2008 00:19:19 +0000 (00:19 +0000)]
Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61233
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 19 Dec 2008 00:14:49 +0000 (00:14 +0000)]
Several@encode bug fixes for ObjC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61231
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 19 Dec 2008 00:03:48 +0000 (00:03 +0000)]
Update Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61230
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 18 Dec 2008 23:43:31 +0000 (23:43 +0000)]
Add some more implicit conversions for Objective-C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61229
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 18 Dec 2008 23:40:58 +0000 (23:40 +0000)]
Added test case for suppressing leak warnings for reference-counted objects passed by-reference to an unknown function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61227
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 18 Dec 2008 23:34:57 +0000 (23:34 +0000)]
Fix regression when invalidating reference-counts for objects passed-by-reference to a function/method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61224
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 18 Dec 2008 22:37:25 +0000 (22:37 +0000)]
Don't define __STDC__ when compiling with -fms-extensions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61223
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 18 Dec 2008 21:49:58 +0000 (21:49 +0000)]
Don't check initializers when there are dependent types or type-dependent expressions involved
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61212
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 18 Dec 2008 19:37:40 +0000 (19:37 +0000)]
Ultrasimplistic sketch for the parsing of C++ template-ids. This won't
become useful or correct until we (1) parse template arguments
correctly, (2) have some way to turn template-ids into types,
declarators, etc., and (3) have a real representation of templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61208
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 18 Dec 2008 18:15:29 +0000 (18:15 +0000)]
Use '&' to test StartOfLine flag.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 18 Dec 2008 17:29:46 +0000 (17:29 +0000)]
Removed a slot in ObjCMemRegExpr used in
code gen which did not belong there.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61203
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 18 Dec 2008 15:50:41 +0000 (15:50 +0000)]
Fix http://llvm.org/bugs/show_bug.cgi?id=3189.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61202
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Dec 2008 07:27:21 +0000 (07:27 +0000)]
add a simple fast-path for the common case of [] and [4] in
array size declarators. No need to go through all the trouble
of parsing crazy things like [static const 4] when most code
doesn't need it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61200
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Dec 2008 07:07:10 +0000 (07:07 +0000)]
rename argument
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61199
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Dec 2008 07:02:59 +0000 (07:02 +0000)]
disallow attributes in a few callers of ParseTypeQualifierListOpt,
these completely ignore parsed attributes anyway, so don't try
to read them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61198
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Dec 2008 06:50:14 +0000 (06:50 +0000)]
Clean up the C89/C++ warnings about C99 array features to not
emit duplicate diags (some in parser and some in sema) and to
warn about use of typequals in array sizes. This implements
PR2759.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61197
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 18 Dec 2008 05:15:58 +0000 (05:15 +0000)]
Add method used by ImmutableMap GDM specialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61193
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 18 Dec 2008 04:52:14 +0000 (04:52 +0000)]
Allow ABI to use StructRet even for scalar values.
- Update comment to reflect fact that StructRet is now supported for
any type (modulo LLVM support).
- No functionality change, no scalar types currently use this
feature.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61192
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Dec 2008 02:03:48 +0000 (02:03 +0000)]
This is valid in C++.
void foo() { return foo(); }
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61188
91177308 -0d34-0410-b5e6-
96231b3b80d8