]> granicus.if.org Git - clang/log
clang
16 years agoWhen creating CXXRecordDecls and RecordDecls within ActOnTag, hook up the new [CXX...
Ted Kremenek [Tue, 2 Sep 2008 21:26:19 +0000 (21:26 +0000)]
When creating CXXRecordDecls and RecordDecls within ActOnTag, hook up the new [CXX]RecordDecl with the RecordDecl chain.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55652 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRecordDecl:
Ted Kremenek [Tue, 2 Sep 2008 21:12:32 +0000 (21:12 +0000)]
RecordDecl:
- Remove method 'isForwardDecl'; this functionality is already provided by
  'isDefinition()'
- Move method definitions to be co-located with other RecordDecl methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55649 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRecordDecl serialization:
Ted Kremenek [Tue, 2 Sep 2008 20:42:52 +0000 (20:42 +0000)]
RecordDecl serialization:
- Don't serialize out the NextDeclarator field.  It is unused and deprecated.
- Serialize out the NextDecl pointer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55644 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRecordDecl:
Ted Kremenek [Tue, 2 Sep 2008 20:25:22 +0000 (20:25 +0000)]
RecordDecl:
- Added method 'isForwardDeclaration', a predicate method that returns true
  if a RecordDecl represents a forward declaration.
- Added method 'getDefinitionDecl', a query method that returns a pointer to
  the RecordDecl that provides the actual definition of a struct/union.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55642 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCXXRecordDecl and RecordDecl:
Ted Kremenek [Tue, 2 Sep 2008 20:13:32 +0000 (20:13 +0000)]
CXXRecordDecl and RecordDecl:
- Change constructor and create methods to accept a CXXRecordDecl* (RecordDecl*)
  instead of a ScopedDecl* for PrevDecl.  This causes the type checking
  to be more tight and doesn't break any code.

RecordDecl:

- Don't use the NextDeclarator field in ScopedDecl to represent the previous
  declaration. This is a conflated use of the NextDeclarator field, which will
  be removed anyway when DeclGroups are fully implemented.

- Instead, represent (a soon to be implemented) chain of RecordDecls using a
  NextDecl field.  The last RecordDecl in the chain is always the 'defining'
  RecordDecl that owns the FieldDecls.  The other RecordDecls in the chain
  are forward declarations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55640 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago- Implement __block.
Steve Naroff [Tue, 2 Sep 2008 18:50:17 +0000 (18:50 +0000)]
- Implement __block.
- Replace FIXME in Preprocessor::HandleIdentifier() with a check that avoids diagnosing extension tokens that originate from macro definitions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55639 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPull code from last commit. will put back soon.
Steve Naroff [Tue, 2 Sep 2008 18:04:36 +0000 (18:04 +0000)]
Pull code from last commit. will put back soon.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55637 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplement block pseudo-storage class modifiers (__block, __byref).
Steve Naroff [Tue, 2 Sep 2008 15:20:19 +0000 (15:20 +0000)]
Implement block pseudo-storage class modifiers (__block, __byref).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55635 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agorecognise .s/.S file extensions. add default value for CCC_LANGUAGES
Nuno Lopes [Tue, 2 Sep 2008 10:27:37 +0000 (10:27 +0000)]
recognise .s/.S file extensions. add default value for CCC_LANGUAGES

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55630 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd the other test case for completeness and to avoid regressions in the future
Nuno Lopes [Tue, 2 Sep 2008 10:10:14 +0000 (10:10 +0000)]
add the other test case for completeness and to avoid regressions in the future

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55629 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix for PR2747: allow pointer->int casts with a null base; these are
Eli Friedman [Tue, 2 Sep 2008 09:37:00 +0000 (09:37 +0000)]
Fix for PR2747: allow pointer->int casts with a null base; these are
offset-of-like expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55627 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix for PR2750; don't check for an 'e' in the trash after the token.
Eli Friedman [Tue, 2 Sep 2008 05:29:22 +0000 (05:29 +0000)]
Fix for PR2750; don't check for an 'e' in the trash after the token.

Note that this isn't really a complete fix; I think there are other
potential overrun situations.  I don't really know what the best
systematic fix is, though.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55622 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAn extremely hacky version of transparent_union support; it isn't
Eli Friedman [Tue, 2 Sep 2008 05:19:23 +0000 (05:19 +0000)]
An extremely hacky version of transparent_union support; it isn't
anywhere near correct in terms of missing cases and missing
diagnostics, but it's good enough to handle the uses in the
Linux system headers, which are currently a constant pain for compiling
applications on Linux.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55621 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake sure to take the unqualified versions of the canonical types for
Eli Friedman [Tue, 2 Sep 2008 05:09:35 +0000 (05:09 +0000)]
Make sure to take the unqualified versions of the canonical types for
type-checking pointer subtraction; if the canonical types aren't used,
the qualifiers won't always get stripped off correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55620 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFit the comments into 80 columns.
Zhongxing Xu [Tue, 2 Sep 2008 03:29:51 +0000 (03:29 +0000)]
Fit the comments into 80 columns.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55619 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated checker build.
Ted Kremenek [Mon, 1 Sep 2008 22:51:34 +0000 (22:51 +0000)]
Updated checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55618 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoreadd test as it passes correctly. nice, but weird
Nuno Lopes [Mon, 1 Sep 2008 22:28:55 +0000 (22:28 +0000)]
readd test as it passes correctly. nice, but weird

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55615 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBacking out r55607 due to logic errors and test regression.
Eli Friedman [Mon, 1 Sep 2008 22:08:17 +0000 (22:08 +0000)]
Backing out r55607 due to logic errors and test regression.

I'll try to come up with a correct fix for the testcase sometime soon.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55614 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated checker build.
Ted Kremenek [Mon, 1 Sep 2008 20:13:28 +0000 (20:13 +0000)]
Updated checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55613 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTidy up sema processing of attribute "nonull":
Ted Kremenek [Mon, 1 Sep 2008 19:57:52 +0000 (19:57 +0000)]
Tidy up sema processing of attribute "nonull":
- warn about nonnull being applied to functions with no pointer arguments
- continue processing argument list in the attribute when we encounter a non-pointer parameter being marked as nonnull
- when no argument list is specified, only mark pointers as nonnull.  This fixes PR 2732 and radar 6188814.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55610 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix one more this-is-not-a-constant error. test included
Nuno Lopes [Mon, 1 Sep 2008 18:42:41 +0000 (18:42 +0000)]
fix one more this-is-not-a-constant error. test included

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55609 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomake CheckArithmeticConstantExpression() aware of &foo and pointers
Nuno Lopes [Mon, 1 Sep 2008 14:47:06 +0000 (14:47 +0000)]
make CheckArithmeticConstantExpression() aware of &foo and pointers

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55607 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agocodegen constant data as such. add QualType::isConstant()
Nuno Lopes [Mon, 1 Sep 2008 11:33:04 +0000 (11:33 +0000)]
codegen constant data as such. add QualType::isConstant()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55603 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPatch by Kovarththanan Rajaratnam!
Ted Kremenek [Sun, 31 Aug 2008 16:37:56 +0000 (16:37 +0000)]
Patch by Kovarththanan Rajaratnam!

"This minor patch adds markup of string literals with a red colour."

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55589 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle mutation while enumerating correctly. Fix some bugs.
Anders Carlsson [Sun, 31 Aug 2008 04:05:03 +0000 (04:05 +0000)]
Handle mutation while enumerating correctly. Fix some bugs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55583 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInitial support for CodeGen of for ... in statements.
Anders Carlsson [Sun, 31 Aug 2008 02:33:12 +0000 (02:33 +0000)]
Initial support for CodeGen of for ... in statements.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55580 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoStub out CodeGenFunction::EmitObjCForCollectionStmt.
Anders Carlsson [Sat, 30 Aug 2008 19:51:14 +0000 (19:51 +0000)]
Stub out CodeGenFunction::EmitObjCForCollectionStmt.

Add CodeGenFunction::EmitMemSetToZero and make AggExprEmitter::EmitAggregateClear use it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55573 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd code to create the fast enumeration state type
Anders Carlsson [Sat, 30 Aug 2008 19:34:46 +0000 (19:34 +0000)]
Add code to create the fast enumeration state type

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55572 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTemporarily disable some tests which due to dot-syntax
Daniel Dunbar [Sat, 30 Aug 2008 16:22:34 +0000 (16:22 +0000)]
Temporarily disable some tests which due to dot-syntax
access of methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55569 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix indentation on files in CodeGen and Sema.
Anders Carlsson [Sat, 30 Aug 2008 16:18:10 +0000 (16:18 +0000)]
Fix indentation on files in CodeGen and Sema.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55568 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSimplify some calls to Builder.CreateCall
Anders Carlsson [Sat, 30 Aug 2008 16:17:45 +0000 (16:17 +0000)]
Simplify some calls to Builder.CreateCall

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55567 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd Objective-C property setter support.
Daniel Dunbar [Sat, 30 Aug 2008 05:35:15 +0000 (05:35 +0000)]
Add Objective-C property setter support.
 - Change Obj-C runtime message API, drop the ObjCMessageExpr arg in
   favor of just result type and selector. Necessary so it can be
   reused in situations where we don't want to cons up an
   ObjCMessageExpr.
 - Update aggregate binary assignment to know about special property
   ref lvalues.
 - Add CodeGenFunction::EmitCallArg overload which takes an already
   emitted rvalue.

Add CodeGenFunction::StoreComplexIntoAddr.

Disabled logic in Sema for parsing Objective-C dot-syntax that
accesses methods. This code does not search in the correct order and
the AST node has no way of properly representing its results.

Updated StmtDumper to print a bit more information about
ObjCPropertyRefExprs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55561 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRefactor handling of calls:
Daniel Dunbar [Sat, 30 Aug 2008 03:02:31 +0000 (03:02 +0000)]
Refactor handling of calls:
 - Added CodeGenFunction::EmitCall which just takes the callee, return
   type, and a list of (Value*,QualType) pairs.
 - Added CodeGenFunction::EmitCallArg which handles emitting code for
   a call argument and turning it into an appropriate
   (Value*,QualType) pair.
 - Changed Objective-C runtime interface so that the actual emission
   of arguments for message sends is (once again) done in the code to
   emit a message send.

No intended functionality change, this is prep work for better ABI
support and for Objective-C property setter support.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55560 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd newline at end of file.
Daniel Dunbar [Sat, 30 Aug 2008 02:06:22 +0000 (02:06 +0000)]
Add newline at end of file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55559 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImprove ccc:
Daniel Dunbar [Fri, 29 Aug 2008 21:03:27 +0000 (21:03 +0000)]
Improve ccc:
 - Support environment variable CCC_LANGUAGES to control which
   languages clang is invoked on. If unset clang is invoked for all
   languages, otherwise CCC_LANGUAGES should be a comma separated list
   of the languages (as accepted by -x) for which clang should be
   invoked. Useful for only building C and Objective-C parts of a
   project with clang, for example.

 - Add environment variable CCC_FALLBACK. If set and non-empty then
   ccc will try and compile using the regular compiler if compilation
   with clang fails.

 - A few other tweaks to add options, flush stdout, recognize .mm as
   objective-c++, and infer languages for compile+link style
   invocations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55547 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDowngrade a number of FIXME asserts to ErrorUnsupported.
Daniel Dunbar [Fri, 29 Aug 2008 17:28:43 +0000 (17:28 +0000)]
Downgrade a number of FIXME asserts to ErrorUnsupported.
 - Notably VLAs

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55544 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix a comment that was forgotten in r54071
Nico Weber [Fri, 29 Aug 2008 17:24:46 +0000 (17:24 +0000)]
fix a comment that was forgotten in r54071

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55543 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agominor cleanup
Nico Weber [Fri, 29 Aug 2008 17:02:23 +0000 (17:02 +0000)]
minor cleanup

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55538 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded LLVM comment header.
Zhongxing Xu [Fri, 29 Aug 2008 15:09:12 +0000 (15:09 +0000)]
Added LLVM comment header.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55537 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMigrate the rest symbolic analysis stuff to BasicConstraintManager.
Zhongxing Xu [Fri, 29 Aug 2008 14:52:36 +0000 (14:52 +0000)]
Migrate the rest symbolic analysis stuff to BasicConstraintManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55536 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd special "property reference" CodeGen::LValue type for emitting
Daniel Dunbar [Fri, 29 Aug 2008 08:11:39 +0000 (08:11 +0000)]
Add special "property reference" CodeGen::LValue type for emitting
Objective-C property references.
 - This handles property references "more correctly" but setters still
   don't work.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55534 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove dead method.
Ted Kremenek [Fri, 29 Aug 2008 03:55:31 +0000 (03:55 +0000)]
Remove dead method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55526 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd newline to end of file.
Daniel Dunbar [Fri, 29 Aug 2008 03:45:59 +0000 (03:45 +0000)]
Add newline to end of file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55525 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd utils/FindSpecRefs, Python script for generating specification
Daniel Dunbar [Fri, 29 Aug 2008 01:07:08 +0000 (01:07 +0000)]
Add utils/FindSpecRefs, Python script for generating specification
references HTML page.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55524 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded "getBindings" and "BindingAsString" to GRStateManager and StoreManager.
Ted Kremenek [Fri, 29 Aug 2008 00:47:32 +0000 (00:47 +0000)]
Added "getBindings" and "BindingAsString" to GRStateManager and StoreManager.

Migrated CFRefCount.cpp to use getBindings and BindingsAsString instead of
making assumptions about the Store (removed dependence on GRState::vb_iterator).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55522 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove BasicStore.h from Xcode project.
Ted Kremenek [Thu, 28 Aug 2008 23:40:08 +0000 (23:40 +0000)]
Remove BasicStore.h from Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55520 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove BasicStore.h (migrated function prototype for CreateBasicStore() to Store.h)
Ted Kremenek [Thu, 28 Aug 2008 23:39:42 +0000 (23:39 +0000)]
Remove BasicStore.h (migrated function prototype for CreateBasicStore() to Store.h)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55519 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove Regions.cpp from VS project file.
Ted Kremenek [Thu, 28 Aug 2008 23:34:54 +0000 (23:34 +0000)]
Remove Regions.cpp from VS project file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55517 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemoved Regions.[h,cpp] from the Xcode project.
Ted Kremenek [Thu, 28 Aug 2008 23:33:36 +0000 (23:33 +0000)]
Removed Regions.[h,cpp] from the Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55516 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove Regions.h and Regions.cpp, since we are now using an even more abstract repres...
Ted Kremenek [Thu, 28 Aug 2008 23:32:43 +0000 (23:32 +0000)]
Remove Regions.h and Regions.cpp, since we are now using an even more abstract representation of "memory regions" in the static analyzer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55515 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake store "Regions" and "Bindings" more abstract instead of concrete variants.
Ted Kremenek [Thu, 28 Aug 2008 23:31:31 +0000 (23:31 +0000)]
Make store "Regions" and "Bindings" more abstract instead of concrete variants.
Their precise semantics will be implemented by a specific StoreManager.

Use function pointer to create the StoreManager in GRStateManager.  This matches how we create ConstraintsManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55514 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAllow 'make TESTDIRS=Sema' in test/ directory for only running a
Daniel Dunbar [Thu, 28 Aug 2008 23:28:16 +0000 (23:28 +0000)]
Allow 'make TESTDIRS=Sema' in test/ directory for only running a
subset of tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55513 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdated analyzer build.
Ted Kremenek [Thu, 28 Aug 2008 22:15:34 +0000 (22:15 +0000)]
Updated analyzer build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55505 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse explicit variable instead of $?
Ted Kremenek [Thu, 28 Aug 2008 21:28:55 +0000 (21:28 +0000)]
Use explicit variable instead of $?

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55501 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd parser/action support for block literal expressions.
Steve Naroff [Thu, 28 Aug 2008 19:20:44 +0000 (19:20 +0000)]
Add parser/action support for block literal expressions.
Parser support for blocks is almost complete...just need to add support for the __block() storage class qualifier.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55495 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed analyzer caching bug involving the transfer function for loads.
Ted Kremenek [Thu, 28 Aug 2008 18:43:46 +0000 (18:43 +0000)]
Fixed analyzer caching bug involving the transfer function for loads.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55494 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix isIntegerConstantExpr eval of __builtin_offsetof to return result
Daniel Dunbar [Thu, 28 Aug 2008 18:42:20 +0000 (18:42 +0000)]
Fix isIntegerConstantExpr eval of __builtin_offsetof to return result
with correct width.
 - PR2728.

Also, fix PR2727 test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55493 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAlways print out the function we're analyzing.
Ted Kremenek [Thu, 28 Aug 2008 18:34:41 +0000 (18:34 +0000)]
Always print out the function we're analyzing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55488 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFixed analyzer caching bug in DeclStmt.
Ted Kremenek [Thu, 28 Aug 2008 18:34:26 +0000 (18:34 +0000)]
Fixed analyzer caching bug in DeclStmt.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55487 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix double-free error with sizeof applied to VLA types.
Daniel Dunbar [Thu, 28 Aug 2008 18:02:04 +0000 (18:02 +0000)]
Fix double-free error with sizeof applied to VLA types.
 - PR2727.

Also, fix warning in CodeGenTypes for new BlockPointer type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55479 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix Parser::ParseDeclaratorInternal(): add langopts test when recognizing blocks.
Steve Naroff [Thu, 28 Aug 2008 10:07:06 +0000 (10:07 +0000)]
Fix Parser::ParseDeclaratorInternal(): add langopts test when recognizing blocks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55468 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix compilation error on MSVC.
Argyrios Kyrtzidis [Thu, 28 Aug 2008 07:45:57 +0000 (07:45 +0000)]
Fix compilation error on MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55465 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUbigraph visualization: represent cached nodes with a different style.
Ted Kremenek [Thu, 28 Aug 2008 05:02:09 +0000 (05:02 +0000)]
Ubigraph visualization: represent cached nodes with a different style.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55463 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEnhance ubiviz to support vertex styles.
Ted Kremenek [Thu, 28 Aug 2008 05:01:37 +0000 (05:01 +0000)]
Enhance ubiviz to support vertex styles.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55462 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Emit mostly-correct property type encoding.
Daniel Dunbar [Thu, 28 Aug 2008 04:38:10 +0000 (04:38 +0000)]
NeXT: Emit mostly-correct property type encoding.
 - Added ASTContext::getObjCEncodingForPropertyDecl.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55461 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAutomatically execute ubiviz.
Ted Kremenek [Thu, 28 Aug 2008 03:54:51 +0000 (03:54 +0000)]
Automatically execute ubiviz.
Cleanup ubigraph files when don't drawing the graphs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55459 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate checker build.
Ted Kremenek [Thu, 28 Aug 2008 01:42:51 +0000 (01:42 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55455 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix regression: immediately terminate ccc-analyzer when gcc reports an error.
Ted Kremenek [Thu, 28 Aug 2008 01:18:44 +0000 (01:18 +0000)]
Fix regression: immediately terminate ccc-analyzer when gcc reports an error.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55452 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate Xcode project.
Ted Kremenek [Wed, 27 Aug 2008 23:13:22 +0000 (23:13 +0000)]
Update Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55449 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake the destructor of ConstraintManager virtual.
Ted Kremenek [Wed, 27 Aug 2008 23:13:01 +0000 (23:13 +0000)]
Make the destructor of ConstraintManager virtual.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55448 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate checker build.
Ted Kremenek [Wed, 27 Aug 2008 22:49:55 +0000 (22:49 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55447 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUbigraph-rendered ExplodedGraphs now have arrows and are oriented downward.
Ted Kremenek [Wed, 27 Aug 2008 22:46:55 +0000 (22:46 +0000)]
Ubigraph-rendered ExplodedGraphs now have arrows and are oriented downward.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55446 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded Ubigraph visualization for the static analyzer (this is pretty alpha quality).
Ted Kremenek [Wed, 27 Aug 2008 22:31:43 +0000 (22:31 +0000)]
Added Ubigraph visualization for the static analyzer (this is pretty alpha quality).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55442 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate Xcode project.
Ted Kremenek [Wed, 27 Aug 2008 22:31:20 +0000 (22:31 +0000)]
Update Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55441 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove regression where the analyzer was not called.
Ted Kremenek [Wed, 27 Aug 2008 22:30:34 +0000 (22:30 +0000)]
Remove regression where the analyzer was not called.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55440 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFirst wave of changes to support "blocks" (an extension to C).
Steve Naroff [Wed, 27 Aug 2008 16:04:49 +0000 (16:04 +0000)]
First wave of changes to support "blocks" (an extension to C).
This commit adds the declaration syntax (and associated type).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55417 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRefactor Assume logic into a separate class ConstraintManager.
Zhongxing Xu [Wed, 27 Aug 2008 14:03:33 +0000 (14:03 +0000)]
Refactor Assume logic into a separate class ConstraintManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55412 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInitial support for Obj-C dot-syntax for getters.
Daniel Dunbar [Wed, 27 Aug 2008 06:57:25 +0000 (06:57 +0000)]
Initial support for Obj-C dot-syntax for getters.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55410 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate test case (we were missing a warning here)
Daniel Dunbar [Wed, 27 Aug 2008 05:41:04 +0000 (05:41 +0000)]
Update test case (we were missing a warning here)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55408 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd synthesized property methods to protocols and categories in Sema.
Daniel Dunbar [Wed, 27 Aug 2008 05:40:03 +0000 (05:40 +0000)]
Add synthesized property methods to protocols and categories in Sema.

 - It is not clear that this is the right approach, but this is at
   least consistent with how interfaces are handled.

 - This means NeXT now emits the correct metadata for properties in
   protocols.

 - This currently introduces a spurious warning involving inherited
   properties in protocols or categories; however, it also fixes some
   situations where we were failing to emit a warning. I will scrub
   this code tomorrow and fix this issue as well as number of other
   missed warnings / error situations that appear to exist.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55407 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix "possibly uninitialized" warning.
Daniel Dunbar [Wed, 27 Aug 2008 05:13:46 +0000 (05:13 +0000)]
Fix "possibly uninitialized" warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55406 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Refactor protocol method metadata emission.
Daniel Dunbar [Wed, 27 Aug 2008 02:31:56 +0000 (02:31 +0000)]
NeXT: Refactor protocol method metadata emission.

Also, fix category protocol list metadata.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55405 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd addPropertyMethods implementations for
Daniel Dunbar [Wed, 27 Aug 2008 02:09:39 +0000 (02:09 +0000)]
Add addPropertyMethods implementations for
ObjC{Category,Protocol}Decl.
 - No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55404 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded "Auditor" interface for auditing the construction of ExplodedGraphs.
Ted Kremenek [Wed, 27 Aug 2008 01:56:11 +0000 (01:56 +0000)]
Added "Auditor" interface for auditing the construction of ExplodedGraphs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55403 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake implementation of ExplodedNodeImpl::addPredecessor out-of-line.
Ted Kremenek [Wed, 27 Aug 2008 01:27:52 +0000 (01:27 +0000)]
Make implementation of ExplodedNodeImpl::addPredecessor out-of-line.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55402 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Emit correct properties for category.
Daniel Dunbar [Tue, 26 Aug 2008 23:03:11 +0000 (23:03 +0000)]
NeXT: Emit correct properties for category.
 - Was emitting duplicates of class properties instead of the category
   properties.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55395 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove default value for 'Pred' argument to GRCoreEngineImpl::GenerateNode().
Ted Kremenek [Tue, 26 Aug 2008 22:34:23 +0000 (22:34 +0000)]
Remove default value for 'Pred' argument to GRCoreEngineImpl::GenerateNode().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55392 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Emit metadata for synthetsized properties.
Daniel Dunbar [Tue, 26 Aug 2008 21:51:14 +0000 (21:51 +0000)]
NeXT: Emit metadata for synthetsized properties.

Also, fix method lookup to not use LLVM module symbol table.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55390 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomake www less outdated
Nico Weber [Tue, 26 Aug 2008 21:36:37 +0000 (21:36 +0000)]
make www less outdated

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55388 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoupdate documentation
Nico Weber [Tue, 26 Aug 2008 21:23:32 +0000 (21:23 +0000)]
update documentation

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55386 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate VS project.
Cedric Venet [Tue, 26 Aug 2008 19:46:30 +0000 (19:46 +0000)]
Update VS project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55379 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoObjective-C @synthesize support.
Daniel Dunbar [Tue, 26 Aug 2008 08:29:31 +0000 (08:29 +0000)]
Objective-C @synthesize support.
 - Only supports simple assignment and atomic semantics are ignored.
 - Not quite usable yet because the methods do not actually get added
   to the class metadata.
 - Added ObjCPropertyDecl::getSetterKind (one of Assign, Copy, Retain).
 - Rearrange CodeGenFunction so synthesis can reuse function prolog /
   epilog code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55365 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd ObjCPropertyDecl::isReadOnly.
Daniel Dunbar [Tue, 26 Aug 2008 07:16:44 +0000 (07:16 +0000)]
Add ObjCPropertyDecl::isReadOnly.

Respect isReadOnly when generating synthesized method decls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55364 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoconstify ObjC*::getClassMethod,getInstanceMethod
Daniel Dunbar [Tue, 26 Aug 2008 06:53:45 +0000 (06:53 +0000)]
constify ObjC*::getClassMethod,getInstanceMethod

No (intended) functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55362 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMissed a file; part of:
Daniel Dunbar [Tue, 26 Aug 2008 06:08:30 +0000 (06:08 +0000)]
Missed a file; part of:

Move implicit Obj-C param creation into ObjCMethodDecl.
 - Add ObjCMethodDecl::createImplicitParams.
 - Remove ObjCMethodDecl::set{Self,Cmd}Decl
 - Remove Sema::CreateImplicitParameter

No (intended) functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55357 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove implicit Obj-C param creation into ObjCMethodDecl.
Daniel Dunbar [Tue, 26 Aug 2008 06:07:48 +0000 (06:07 +0000)]
Move implicit Obj-C param creation into ObjCMethodDecl.
 - Add ObjCMethodDecl::createImplicitParams.
 - Remove ObjCMethodDecl::set{Self,Cmd}Decl
 - Remove Sema::CreateImplicitParameter

No (intended) functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55356 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRename ObjCPropertyImplDecl::PropertyImplKind (consistency)
Daniel Dunbar [Tue, 26 Aug 2008 04:47:31 +0000 (04:47 +0000)]
Rename ObjCPropertyImplDecl::PropertyImplKind (consistency)
 - Change enum name to Kind.
 - Change enum constants to English strings.

Also, fix getPropertyImplementation (which probably should be renamed)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55354 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix return type for setter method.
Daniel Dunbar [Tue, 26 Aug 2008 02:53:23 +0000 (02:53 +0000)]
Fix return type for setter method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55353 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSynthesize property setter method as we do for getter.
Daniel Dunbar [Tue, 26 Aug 2008 02:32:45 +0000 (02:32 +0000)]
Synthesize property setter method as we do for getter.
 - Also, fix Parser to construct proper SetterName selector (should be
   lifted out of parser though).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55352 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIn incompatible pointer-typed ?: expressions, add implicit conversion
Daniel Dunbar [Tue, 26 Aug 2008 00:41:39 +0000 (00:41 +0000)]
In incompatible pointer-typed ?: expressions, add implicit conversion
of RHSs to id type instead of void* if either has Objective-C object
type.
 - This ensures the result can still be used in normal places an
   object can be used, like a message send.

Add implicit conversions for ?: applied to qualified id types to
ensure that the RHSs are compatible.
 - This prevents a codegen crash (creating invalid PHI nodes).
 - Again, this relates to the fact that qualified id types have no
   canonical types.
 - Note that the implicit type casted to is incorrect, however this
   doesn't currently cause problems because of the flexibility of the
   id type.

Test cases for above.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55346 91177308-0d34-0410-b5e6-96231b3b80d8