]>
granicus.if.org Git - clang/log
Steve Naroff [Tue, 2 Dec 2008 17:36:43 +0000 (17:36 +0000)]
Make sure synthesized properties get inserted into the classes/categories meta data.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60426
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 2 Dec 2008 17:22:40 +0000 (17:22 +0000)]
Parsing new and delete is now complete.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60425
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 2 Dec 2008 17:10:24 +0000 (17:10 +0000)]
Add better comments to ::new parsing. Thanks to Doug for the review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60423
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 2 Dec 2008 16:47:35 +0000 (16:47 +0000)]
Make RegionStoreManager::InitializeArray safe against array sizes that don't have pointer width.
This may be the case on 64-bit systems. Whether that fact is a bug is a different question, but it's easy to cure the symptom.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60422
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 2 Dec 2008 16:35:44 +0000 (16:35 +0000)]
Make the parser handle ::new and ::delete correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60421
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 2 Dec 2008 16:34:01 +0000 (16:34 +0000)]
int-arith-convert.c makes assumptions about integer sizes, so force a specific architecture
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Dec 2008 16:23:30 +0000 (16:23 +0000)]
Update cmake build; patch by Csaba Hruska.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60418
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 2 Dec 2008 16:05:55 +0000 (16:05 +0000)]
Simplify previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60416
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Dec 2008 16:02:46 +0000 (16:02 +0000)]
Fix for PR3150: obvious copy-paste bug in
ScalarExprEmitter::VisitBinLOr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60415
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 2 Dec 2008 15:48:25 +0000 (15:48 +0000)]
More work to rewrite synthesize properties (<rdar://problem/
6213955 >)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60414
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Tue, 2 Dec 2008 14:43:59 +0000 (14:43 +0000)]
Handle new by passing the Declaration to the Action, not a processed type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60413
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 2 Dec 2008 01:26:07 +0000 (01:26 +0000)]
Add FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 2 Dec 2008 01:17:45 +0000 (01:17 +0000)]
Disabling this code due to regression on test/CodeGen/bitfield.c. See
PR3152.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60389
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 2 Dec 2008 00:41:28 +0000 (00:41 +0000)]
A little more scaffolding for parsing templates:
- Template parameter scope to hold the template parameters
- Template parameter context for parsing declarators
- Actions for template type parameters and non-type template
parameters
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 2 Dec 2008 00:19:12 +0000 (00:19 +0000)]
This patch corrects problem in searching for a setter/getter method for
a property. Previous scheme of seaching in interface's list of methods
would not work because this list is not yet constructed. This is in preparation
for doing semantic check on viability of setter/getter method declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60386
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 23:54:00 +0000 (23:54 +0000)]
Basic support for parsing templates, from Andrew Sutton
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60384
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 23:03:32 +0000 (23:03 +0000)]
Improve error recovery when parsing a function definition fails
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60380
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 22:46:22 +0000 (22:46 +0000)]
Initialize storage class even if we got an erroneous mutable
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60377
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 21:46:47 +0000 (21:46 +0000)]
Objective-C keywords are not always identifiers. Some are also C++ keywords
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60373
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 21:17:52 +0000 (21:17 +0000)]
Fix RUN line
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60372
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 1 Dec 2008 20:33:01 +0000 (20:33 +0000)]
-Add several ObjC types to Decl::getDeclKindName(), a useful debug hook.
-Start adding support for rewriting @synthesize.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60368
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 19:48:06 +0000 (19:48 +0000)]
Test blocks in C++ mode
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60367
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 19:45:16 +0000 (19:45 +0000)]
Use EmitInt, not Emit, to emit unsigned values
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60364
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 1 Dec 2008 19:23:47 +0000 (19:23 +0000)]
Add test case for __ASSEMBLER__ definition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60363
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 1 Dec 2008 18:55:22 +0000 (18:55 +0000)]
Add LangOptions marker for assembler-with-cpp mode and use to define
__ASSEMBLER__ properly. Patch from Roman Divacky (with minor
formatting changes). Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60362
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 18:34:47 +0000 (18:34 +0000)]
Enable blocks in C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60361
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 18:05:11 +0000 (18:05 +0000)]
Make sure __null test runs in both 32- and 64-bit. Thanks Anders
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60360
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 18:00:20 +0000 (18:00 +0000)]
Parse the exception-specification throw(...), a Microsoft extension
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60359
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 17:31:21 +0000 (17:31 +0000)]
Add the test for __null
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60357
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 1 Dec 2008 17:20:57 +0000 (17:20 +0000)]
Define NULL to __null in C++, so that it's guaranteed to have the same size as a pointer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60355
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 06:44:05 +0000 (06:44 +0000)]
Generate the correct results for the comma expression. Fixes PR3123.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60334
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 06:28:23 +0000 (06:28 +0000)]
Revert change that made isNullPointerConstant start emitting warnings. We don't want that :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60333
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 06:27:38 +0000 (06:27 +0000)]
Fix test. (0 && (a(),1)) is a valid I-C-E according to C99.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 02:46:24 +0000 (02:46 +0000)]
Change more code over to using the new Expr::Evaluate
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 02:42:14 +0000 (02:42 +0000)]
Change more code over to using the new Expr::Evaluate
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 02:31:41 +0000 (02:31 +0000)]
Use the new Expr::Evaluate
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 02:25:52 +0000 (02:25 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 02:17:22 +0000 (02:17 +0000)]
Add Sema::isNullPointerConstant which extwarns if necessary. Use it in Sema::CheckConditionalOperands.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60319
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 02:13:57 +0000 (02:13 +0000)]
Add a new variant of isNullConstantExpr that returns an EvalResult.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60318
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 02:13:02 +0000 (02:13 +0000)]
Use VerifyIntegerConstantExpression for case values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60317
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 1 Dec 2008 02:07:06 +0000 (02:07 +0000)]
Emit the correct diagnostic when a comma is in an ICE.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 30 Nov 2008 19:50:32 +0000 (19:50 +0000)]
Add Sema::VerifyIntegerConstantExpression
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 30 Nov 2008 18:37:00 +0000 (18:37 +0000)]
Change the diagnostics that the evaluator reports to be of type NOTE.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60301
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 30 Nov 2008 18:26:25 +0000 (18:26 +0000)]
Replace the isEvaluated bool with a ShortCircuit int, making it easier to handle recursion
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60300
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 30 Nov 2008 18:14:57 +0000 (18:14 +0000)]
Pass the expression to the Error and Extension methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60299
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 30 Nov 2008 16:58:53 +0000 (16:58 +0000)]
Add a new variant of Evaluate and reimplement the old Evaluate in terms of the new.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60298
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 30 Nov 2008 16:51:17 +0000 (16:51 +0000)]
General cleanup, evaluate the RHS of a logical op even if the LHS will give us the result.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60297
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 30 Nov 2008 16:38:33 +0000 (16:38 +0000)]
EvalInfo now holds a reference to an EvalResult struct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60296
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 30 Nov 2008 16:19:46 +0000 (16:19 +0000)]
Add Expr::EvalResult struct. (Not used just yet)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60295
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 30 Nov 2008 05:59:27 +0000 (05:59 +0000)]
remove a test case that causes compiler warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60282
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 30 Nov 2008 05:51:19 +0000 (05:51 +0000)]
Add test for initializing array with string literal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60281
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 30 Nov 2008 05:49:49 +0000 (05:49 +0000)]
Add support for initializing array with string literal.
This fixes PR3127
http://llvm.org/bugs/show_bug.cgi?id=3127
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60280
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 30 Nov 2008 02:11:09 +0000 (02:11 +0000)]
Fix for PR2969: generate a memcpy from a constant for constant
initializers. llvm-gcc appears to be more aggressive, but incorrect,
for constructs like "const int a[] = {1,2,3};"; that said, current
optimizers will do the appropriate optimizations when safe.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60270
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 30 Nov 2008 01:46:21 +0000 (01:46 +0000)]
Minor update to CMake build system.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 29 Nov 2008 19:58:11 +0000 (19:58 +0000)]
CXXFunctionalCastExpr inherits from ExplicitCastExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60249
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sat, 29 Nov 2008 12:05:04 +0000 (12:05 +0000)]
To be consistent, make the index of the ElementRegion always signed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60248
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 29 Nov 2008 04:51:27 +0000 (04:51 +0000)]
Implement the GNU __null extension
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60235
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 28 Nov 2008 23:37:31 +0000 (23:37 +0000)]
Switch QualType to use llvm::PointerIntPair internally to do the pointer
bitmangling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60226
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 28 Nov 2008 08:41:39 +0000 (08:41 +0000)]
Fix a serious bug.
When initialized, the index of the ElementRegion was unsigned. But the index
value of the ArraySubscriptExpr is signed. This inconsistency caused the value
of the array element retrieved to be UnknownVal despite it was initialized to
symbolic.
This is only a hack. Real fix of this problem is required.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60207
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 28 Nov 2008 08:34:30 +0000 (08:34 +0000)]
Code cleanup. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60206
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 28 Nov 2008 03:55:52 +0000 (03:55 +0000)]
Use std::make_pair instead of std::pair's ctor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 28 Nov 2008 03:07:05 +0000 (03:07 +0000)]
Enable the GRStateManager to do something when we finish a path. For example,
the ConstraintManager can print its internal state before its solver instance is
destroyed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60204
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 27 Nov 2008 19:33:39 +0000 (19:33 +0000)]
remove dead diag
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60181
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 27 Nov 2008 07:28:14 +0000 (07:28 +0000)]
Fix order of evaluation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60160
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 27 Nov 2008 06:32:54 +0000 (06:32 +0000)]
ImmutableList::getInternalPointer() returns a const ImmutableListImpl<T>* pointer, which must be converted to void* explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60152
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 27 Nov 2008 06:08:40 +0000 (06:08 +0000)]
Factory objects should not be temporary. It caches all objects in the set.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60151
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 27 Nov 2008 06:03:03 +0000 (06:03 +0000)]
RegionViewMap factory is actually not used. All GDMs should use factories from
GDMContext.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60150
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 27 Nov 2008 03:47:29 +0000 (03:47 +0000)]
Test commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60147
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 27 Nov 2008 02:39:34 +0000 (02:39 +0000)]
Add comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60146
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 27 Nov 2008 02:19:10 +0000 (02:19 +0000)]
Add license comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60144
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 27 Nov 2008 01:55:08 +0000 (01:55 +0000)]
Add support for pluggable components of static analyzer.
- Creator function pointers are saved in ManagerRegistry.
- The Register* class is used to notify ManagerRegistry new module is
available.
- AnalysisManager queries ManagerRegistry for configurable module. Then it
passes them to GRExprEngine, in turn to GRStateManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60143
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 27 Nov 2008 01:19:21 +0000 (01:19 +0000)]
Add implicit conversions for Objective-C qualified ids, e.g.,
id<P0>
The intended overloading behavior of these entities isn't entirely
clear, and GCC seems to have some strange limitations (e.g., the
inability to overload on id<P0> vs. id<P1>). We'll want to revisit
these semantics and determine just how Objective-C++ overloading
should really work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60142
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 27 Nov 2008 00:52:49 +0000 (00:52 +0000)]
Cleanup formatting
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60140
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 27 Nov 2008 00:44:28 +0000 (00:44 +0000)]
Don't complain about block pointer to void* conversions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60138
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 27 Nov 2008 00:38:24 +0000 (00:38 +0000)]
PTHLexer now owns the Token vector.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60136
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 27 Nov 2008 00:15:41 +0000 (00:15 +0000)]
Support block pointer conversions in C++. I'm storing the test case locally until we can enable blocks in C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60133
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 26 Nov 2008 23:58:26 +0000 (23:58 +0000)]
- Enhance PTH generation to write out IdentifierInfo table in two parts:
- a table including the IdentifierInfo data
- an index from persistent IdentifierInfo IDs to indices within this file.
- Enhance PTH generation to write out file map information, mapping inodes to tokens.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60132
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Nov 2008 23:33:36 +0000 (23:33 +0000)]
Test conversion from apointer to incomplete type to void* in C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60131
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Nov 2008 23:31:11 +0000 (23:31 +0000)]
Implement implicit conversions for Objective-C specific types, e.g.,
converting a pointer to one Objective-C interface into a pointer to another
Objective-C interface, and conversions with 'id'. The semantics seems
to match GCC, although they seem somewhat ad hoc.
Fixed a few cases where we assumed the C++ definition of isObjectType,
but were getting the C definition, causing failures in trouble with
conversions to void pointers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60130
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 26 Nov 2008 23:20:29 +0000 (23:20 +0000)]
Another test for property code gen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60128
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 26 Nov 2008 22:40:03 +0000 (22:40 +0000)]
Attempt to unravel the if/else mess in Parser::ParseDirectDeclarator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60124
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 26 Nov 2008 22:36:09 +0000 (22:36 +0000)]
Code gen for aggregate-valued properties and a test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60122
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 26 Nov 2008 21:51:07 +0000 (21:51 +0000)]
Add some comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60119
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 26 Nov 2008 21:41:52 +0000 (21:41 +0000)]
Implement some suggestions by Daniel:
-Change Parser::ParseCXXScopeSpecifier to MaybeParseCXXScopeSpecifier
-Remove Parser::isTokenCXXScopeSpecifier and fold it into MaybeParseCXXScopeSpecifier
-Rename Parser::TryAnnotateScopeToken to TryAnnotateCXXScopeToken and only allow it to be called when in C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60117
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 26 Nov 2008 20:39:45 +0000 (20:39 +0000)]
Add an overload for operator<<(const DiagnosticBuilder &DB,bool I).
Fixes building error on MSVC where passing bool couldn't resolve to one of the overloads.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60116
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 26 Nov 2008 20:33:54 +0000 (20:33 +0000)]
Removed a FIXME. Added a test case for anonymous category.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60115
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 26 Nov 2008 20:01:34 +0000 (20:01 +0000)]
Set default property attributes on each property.
Implemented anonymous category (also know as continuation class)
used to override main class's property attribute. This is work in
propgress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60114
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 26 Nov 2008 17:40:42 +0000 (17:40 +0000)]
Convert incomplete array types before emitting debug info for them, fixes PR3134.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60109
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Wed, 26 Nov 2008 15:50:12 +0000 (15:50 +0000)]
add missing RUN lines
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60107
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Nov 2008 06:43:45 +0000 (06:43 +0000)]
Fix a minor typo in the handling of the conditional operator for Objective-C interface pointers
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60096
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Nov 2008 06:01:48 +0000 (06:01 +0000)]
Tweak the new ResolveOverloadedCallFn to just return a FunctionDecl. It makes ActOnCallExpr simpler
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60094
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 26 Nov 2008 05:54:23 +0000 (05:54 +0000)]
Move the overloading logic of Sema::ActOnCallExpr to a separate function
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60093
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 26 Nov 2008 05:23:17 +0000 (05:23 +0000)]
Add plugin loading for clang. This will be used to load alternative constraint manager for static analysis.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60091
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 26 Nov 2008 05:01:52 +0000 (05:01 +0000)]
Disable -loop-index-split for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60089
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 26 Nov 2008 03:36:26 +0000 (03:36 +0000)]
Re-apply r60071 now that raw_fd_ostream::tell has been committed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60086
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 26 Nov 2008 02:18:33 +0000 (02:18 +0000)]
Revert 60071, depends on uncommitted LLVM changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60077
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 26 Nov 2008 00:57:55 +0000 (00:57 +0000)]
Migrate token-cache generation logic from dummy harness in PPLexerChange.cpp to CacheTokens.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60071
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 26 Nov 2008 00:57:02 +0000 (00:57 +0000)]
Add setter method PreprocessorLexer::setParsingPreprocessorDirective(). This will be used by the mechanism to generate cached tokens.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60070
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Wed, 26 Nov 2008 00:39:53 +0000 (00:39 +0000)]
remove debug-only assertion in the complex float evaluator as it makes some real apps crash
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60069
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 25 Nov 2008 23:05:24 +0000 (23:05 +0000)]
Only call TryAnnotateScopeToken when parsing C++.
- This improves -parse-noop of Carbon.h by +2%, and I believe
compensates for the majority of the performance regression in r58913.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60063
91177308 -0d34-0410-b5e6-
96231b3b80d8