]>
granicus.if.org Git - clang/log
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Eli Friedman [Mon, 25 Aug 2008 21:31:01 +0000 (21:31 +0000)]
Do typechecking and codegen for K&R-style function declarations
correctly. Not a regression, but made more obvious by my recent fix
which made function type compatibility checking a bit more strict.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 25 Aug 2008 21:27:06 +0000 (21:27 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55337
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 25 Aug 2008 20:46:57 +0000 (20:46 +0000)]
Fix for PR2720; be a little bit more permissive in initializers for
casting pointers to integers.
Eventually, we should check whether we can evaluate an expression
using Expr::tryEvaluate, and this codepath should be tightened to only
handle standard-compliant cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 20:45:57 +0000 (20:45 +0000)]
Support __PRETTY_FUNCTION__ and friends in Obj-C methods.
Add CodeGenFunction::EmitUnsupportedLValue
- Gives error and returns undef value.
Swap some asserts() over to using EmitUnsupportedLValue
- Rumor has it users (and even some developers) prefer carat
diagnostics to backtraces.
- Works better in Release-Asserts to boot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55328
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 25 Aug 2008 20:45:07 +0000 (20:45 +0000)]
Use path information from .info files when computing common prefix information.
This partially implements PR 2705: http://llvm.org/bugs/show_bug.cgi?id=2705
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 25 Aug 2008 20:44:31 +0000 (20:44 +0000)]
Use the same 'cc' for generated preprocessed crash files as we do for compilation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55326
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 25 Aug 2008 20:10:45 +0000 (20:10 +0000)]
ccc-analyzer now correctly reports the exit code from 'cc'.
scan-build now correctly reports the exit code from the build command.
Fixes: <rdar://problem/6172224>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55324
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 20:08:27 +0000 (20:08 +0000)]
Add test case for function-pointer-cast-of-global as constant
expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55323
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 25 Aug 2008 19:33:19 +0000 (19:33 +0000)]
Update Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55322
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 25 Aug 2008 19:33:03 +0000 (19:33 +0000)]
Added 'extents' for Regions.
Added 'getExtent()' to StoreManager.
Implemented 'getExtent()' for BasicStoreManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55321
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 25 Aug 2008 18:16:36 +0000 (18:16 +0000)]
Objective-C foreach selector elements must be lvalues.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 10:38:11 +0000 (10:38 +0000)]
Change another is-a-pointer check to check in terms of LLVM type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55312
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 09:51:32 +0000 (09:51 +0000)]
Do is-a-pointer checks in terms of LLVM types in
EmitScalarConversion().
- Important for allowing Obj-C void * to id<X> casts and so on.
- Not sure about this fix however, perhaps Type should understand
that id is effectively a pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55311
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 09:46:27 +0000 (09:46 +0000)]
Stop asserting in TargetInfo::validateInputConstraint
- Sema gives a perfectively nice error message on invalid constraints.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55310
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 08:19:24 +0000 (08:19 +0000)]
Fix Obj-C super sends inside class methods.
- NeXT loads the super class at runtime; this required changing the
runtime interface to pass more information down.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55307
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 06:28:15 +0000 (06:28 +0000)]
Name struct types generated for Obj-C classes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55304
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 06:18:57 +0000 (06:18 +0000)]
Use DenseMap on IdentifierInfo instead of StringMap.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55303
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Aug 2008 06:02:07 +0000 (06:02 +0000)]
NeXT: Emit symbols used to manage linking of Obj-C classes.
- This ensures that references to undefined classes cause link
errors.
- NOTE: This relies on platform specific asm directives currently,
this should be factored out.
Also, don't emit a SYMBOLS metadata entry if there are no symbols.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55302
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 25 Aug 2008 03:27:15 +0000 (03:27 +0000)]
Handle emitting __builtin_huge_valf as a constant expr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55299
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 25 Aug 2008 01:53:23 +0000 (01:53 +0000)]
Make code generation of ivar ref exprs more like member exprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55298
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 25 Aug 2008 01:38:19 +0000 (01:38 +0000)]
Handle static variables inside obj-c methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55297
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 24 Aug 2008 18:05:19 +0000 (18:05 +0000)]
Convert qualified interface types correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 24 Aug 2008 16:33:25 +0000 (16:33 +0000)]
Fix silly bug in objc_gc attribute parsing and add test case
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55286
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sun, 24 Aug 2008 13:14:02 +0000 (13:14 +0000)]
Pass SourceRanges by reference to the various Diag methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55284
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sun, 24 Aug 2008 12:51:04 +0000 (12:51 +0000)]
Add a Parser::Diag overload that can receive a custom string along with a SourceRange.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55283
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sun, 24 Aug 2008 12:29:43 +0000 (12:29 +0000)]
Rename Preprocessor::DisableBacktrack -> Preprocessor::CommitBacktrackedTokens.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55281
91177308 -0d34-0410-b5e6-
96231b3b80d8
Cedric Venet [Sun, 24 Aug 2008 11:59:26 +0000 (11:59 +0000)]
Update VS projects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55280
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 24 Aug 2008 05:56:54 +0000 (05:56 +0000)]
other updates
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55278
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 24 Aug 2008 05:44:37 +0000 (05:44 +0000)]
link to c++ status page
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55277
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 24 Aug 2008 05:42:07 +0000 (05:42 +0000)]
codegen is still not 'finished', but in a better state than before.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55276
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Sun, 24 Aug 2008 02:33:36 +0000 (02:33 +0000)]
Moved HTMLDiagnostics to lib/Driver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55274
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 24 Aug 2008 00:24:17 +0000 (00:24 +0000)]
Add svn:ignore for docs/{doxygen,doxygen.tar.gz}
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55273
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 24 Aug 2008 00:12:08 +0000 (00:12 +0000)]
Comment tweak.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55272
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 23 Aug 2008 23:22:21 +0000 (23:22 +0000)]
Add support for parsing the objc_gc attribute. Tests will come shortly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 23 Aug 2008 22:23:37 +0000 (22:23 +0000)]
adjust to changes in various APIs from LLVM. We can't print
an APInt directly to an ostream now, so add some hacks. It would
be better to switch all of the bugreport (and friends) stuff over
to raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55264
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 23 Aug 2008 22:21:00 +0000 (22:21 +0000)]
Add carbon.cpp and cocoa.mm tests
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55262
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 23 Aug 2008 22:20:38 +0000 (22:20 +0000)]
Make sure to create CXX record decls for the implicit Obj-C type declarations. This lets us compile Cocoa.h as Objective-C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55261
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 23 Aug 2008 22:15:15 +0000 (22:15 +0000)]
Update ccc driver
- Use CCC_ECHO to control echoing behavior (default is on, set to ''
or unset to disable)
- Get 'clang','llc','as','cc','ld' executables from environment. 'cc'
and 'ld' are fetched through CCC_CC and CCC_LD respectively -- to
support make CC=ccc -- the others are through their upcased
versions.
- Add CCC_NATIVE mode.
o This uses llc and as to generate native object files; allowing
more drop-in replacement of gcc.
o Disabled by default, but should eventually be default.
o Allow --emit-llvm in CCC_NATIVE mode to override. Essentially
this makes ccc more like a drop in replacement for llvm-gcc.
- Prevent explicit -x <language> options from annoying clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55260
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 23 Aug 2008 21:12:35 +0000 (21:12 +0000)]
treat bool literals as constatnt expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55255
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 23 Aug 2008 21:03:10 +0000 (21:03 +0000)]
Handle Objective-C++ tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55254
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 23 Aug 2008 21:00:01 +0000 (21:00 +0000)]
Reserved C++ words are valid selectors in Objective-C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55253
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 23 Aug 2008 19:42:54 +0000 (19:42 +0000)]
Handle static initializers in Objective-C++ methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55250
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 23 Aug 2008 19:35:47 +0000 (19:35 +0000)]
Add CodeGen support for CXXZeroInitValueExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55249
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 23 Aug 2008 19:24:45 +0000 (19:24 +0000)]
Add a null pointer test in the type-convert-construct.cpp tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55247
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sat, 23 Aug 2008 18:49:32 +0000 (18:49 +0000)]
Handle AddrLabelExprs in Expr::isConstantExpr
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55245
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 23 Aug 2008 18:44:10 +0000 (18:44 +0000)]
Drop a dead call to isConstantExpr()
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55244
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 23 Aug 2008 18:37:06 +0000 (18:37 +0000)]
NeXT: Clean up constant CFString handling.
- Use CodeGenModule::GetAddrOfConstantCFString
Some tweaks of CodeGenModule::GetAddrOfConstantCFString
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55243
91177308 -0d34-0410-b5e6-
96231b3b80d8