]>
granicus.if.org Git - clang/log
Ted Kremenek [Thu, 20 Aug 2009 23:49:30 +0000 (23:49 +0000)]
Make the dragon a link...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79577
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 20 Aug 2009 23:48:37 +0000 (23:48 +0000)]
Include LLVM logo ... because dragons are cool.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79576
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 20 Aug 2009 23:33:31 +0000 (23:33 +0000)]
Added member arrays to more tests now that ir-gen supports it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79575
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 20 Aug 2009 23:02:58 +0000 (23:02 +0000)]
Patch to ir-gen destruction of array member elements in revers order
of their construction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79571
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 20 Aug 2009 22:52:58 +0000 (22:52 +0000)]
Initial support for parsing and representation of member function templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 20 Aug 2009 20:54:15 +0000 (20:54 +0000)]
ir-gen patch to destruct array members. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79565
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 20 Aug 2009 18:55:46 +0000 (18:55 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79559
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 20 Aug 2009 18:46:05 +0000 (18:46 +0000)]
Fix a typo in a variable name
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79558
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 20 Aug 2009 18:45:52 +0000 (18:45 +0000)]
Don't install wpa or index-test tools.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79557
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 20 Aug 2009 17:48:52 +0000 (17:48 +0000)]
Issue an error if the user specifies parameters in a function marked as ISR.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79544
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 20 Aug 2009 17:02:02 +0000 (17:02 +0000)]
Using "ObjCImplicitSetterGetterRefExpr" instead of "ObjCImplctSetterGetterRefExpr".
A field rename and more comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79537
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 20 Aug 2009 07:22:17 +0000 (07:22 +0000)]
Refine vbase offsets for the inductive case. Things are now starting
to come together nicely. Still a WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79521
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 20 Aug 2009 07:19:42 +0000 (07:19 +0000)]
Add syntax examples for the friend declaration types.
Remove an assert trivialized by dominating code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79520
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 20 Aug 2009 07:17:43 +0000 (07:17 +0000)]
Refactor the instantiation of statements into a generic tree
transformation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79519
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 20 Aug 2009 06:17:11 +0000 (06:17 +0000)]
Improve the Getting Started and Hacking web pages, patch by
John Thompson!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79518
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 20 Aug 2009 05:13:36 +0000 (05:13 +0000)]
retain/release checker: Treat NSObject method '-awakeAfterUsingCoder:'
just as if it behaved like an init function. This fixes <rdar://problem/
7129086 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79515
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 20 Aug 2009 04:48:23 +0000 (04:48 +0000)]
Make this test case more portable by removing its dependency on system header files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79511
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 20 Aug 2009 04:21:42 +0000 (04:21 +0000)]
Fix bit-field promotion to be a bit closer to the behavior of gcc.
Patch by Enea Zaffanella, with some simplifications/corrections to
isPromotableBitField by me.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79510
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 20 Aug 2009 03:21:49 +0000 (03:21 +0000)]
If the 'while' has an empty body, set the body to the continue target block.
Although this does not make the CFG more correct, it makes the CFG more
beautiful without multiple roots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79509
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 20 Aug 2009 02:56:48 +0000 (02:56 +0000)]
If the body of for loop is empty, set its body to the continue target.
Otherwise we get a wrong CFG.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79507
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Thu, 20 Aug 2009 02:11:48 +0000 (02:11 +0000)]
Ensure we don't output repeated vbase offsets. I have a testcase for
this, but need to fixup the actual offset value before I can check it
in. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79506
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 20 Aug 2009 01:44:21 +0000 (01:44 +0000)]
Basic nested-template implementation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79504
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 20 Aug 2009 01:23:34 +0000 (01:23 +0000)]
Rename: ProgramPoint::getContext() => ProgramPoint::getLocationContext().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79502
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 20 Aug 2009 01:01:06 +0000 (01:01 +0000)]
Test case for my last patch plus a minor clean up.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79500
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 20 Aug 2009 00:57:22 +0000 (00:57 +0000)]
retain/release checker: Special case handling of CFAttributedStringSetAttribute,
fixing <rdar://problem/
7152619 >. Along the way, merge test cases in
'test/Analysis/rdar-
6539791 .c' into 'test/Analysis/retain-release.m'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79499
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 20 Aug 2009 00:15:15 +0000 (00:15 +0000)]
ir-gen for multi-dimensional array construction. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79497
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 19 Aug 2009 23:56:48 +0000 (23:56 +0000)]
Enhance diagnostics concerning attribute 'ns_returns_retained' and 'cf_returns_retained' to present the range of the attribute and have the diagnostic location be the declaration that the attribute was falsely attached to. This solves the problem where these diagnostics were being suppressed when these attributes were wrapped in a macro that was defined in a system header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79496
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 19 Aug 2009 23:14:54 +0000 (23:14 +0000)]
Keep track of the right paren ')' source location in a function declarator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79489
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 19 Aug 2009 21:10:38 +0000 (21:10 +0000)]
Removed unneeded code for break/continue statements in
manufactured for-loop per Anders feedback (thanks).
- Fariborz
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79466
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 19 Aug 2009 20:55:16 +0000 (20:55 +0000)]
ir-gen for constructing arrays as non-static data members. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79464
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 19 Aug 2009 20:47:07 +0000 (20:47 +0000)]
Add TCE target to clang; patch by Mikael Lepistö.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 19 Aug 2009 20:32:38 +0000 (20:32 +0000)]
Remove now unnecessary helper methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79460
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 19 Aug 2009 20:31:51 +0000 (20:31 +0000)]
Tweak svn:ignore
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79459
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 19 Aug 2009 20:04:03 +0000 (20:04 +0000)]
Switch to SmallString::str from SmallString::c_str.
- Several FIXMEs due to non-Twinification of IRBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79455
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 19 Aug 2009 19:10:30 +0000 (19:10 +0000)]
Convert parts of Rewriter to StringRef based API.
- Please accept my sincere apologies for the gratuitous elimination of code
duplication, manual string length counting, unnecessary strlen calls, etc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 19 Aug 2009 18:30:37 +0000 (18:30 +0000)]
Use raw_svector_ostream for string concatenation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79444
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 19 Aug 2009 18:10:47 +0000 (18:10 +0000)]
One second thought, I think I want to limit this class to just vtable
building activities.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79438
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 19 Aug 2009 14:40:47 +0000 (14:40 +0000)]
Cleanup: fold IndirectPrimary into builder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79423
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 19 Aug 2009 14:06:50 +0000 (14:06 +0000)]
We don't want to confuse this layout with the BLayout from the builder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79422
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 19 Aug 2009 13:36:31 +0000 (13:36 +0000)]
Update for recent improvements.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79421
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Wed, 19 Aug 2009 12:50:00 +0000 (12:50 +0000)]
Get the Decl from the current ExplodedNode. Eventually the diagnostic client
and other core analysis logic will be untied to a particular Decl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 19 Aug 2009 12:02:15 +0000 (12:02 +0000)]
Update CMakeLists.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79416
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 19 Aug 2009 07:44:53 +0000 (07:44 +0000)]
Make integer promotions work correctly on PIC16 and other platforms
where sizeof(short) == sizeof(int). Move UsualArithmeticConversionsType
out of Sema, since it was only there as a historical artifact. Patch by
Enea Zaffanella.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79412
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 19 Aug 2009 02:53:08 +0000 (02:53 +0000)]
Restore vbase offsets for classes without a primary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79402
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 19 Aug 2009 02:06:38 +0000 (02:06 +0000)]
Refine vcalls a little.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79400
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 19 Aug 2009 01:46:06 +0000 (01:46 +0000)]
Fix a comment and improve an assert message.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79399
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 19 Aug 2009 01:28:35 +0000 (01:28 +0000)]
Store/load type source info from/to PCH files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79396
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 19 Aug 2009 01:28:28 +0000 (01:28 +0000)]
Use Sema's LocInfoType to pass and preserve type source info through the Parser.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79395
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 19 Aug 2009 01:28:17 +0000 (01:28 +0000)]
Introduce LocInfoType which is a Sema-specific implementation detail.
This is a Type subclass that can hold a DeclaratorInfo* when we have type source info coming
out of a declarator that we want to preserve. This is used only at the "border" of Parser/Sema for
passing/getting QualTypes, it does not participate in the type system semantics in any way.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79394
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 19 Aug 2009 01:28:06 +0000 (01:28 +0000)]
Create and instantiate a DeclaratorInfo using a newly introduced Sema::GetDeclaratorInfoForDeclarator().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79393
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 19 Aug 2009 01:27:57 +0000 (01:27 +0000)]
Introduce DeclaratorDecl and pass DeclaratorInfo through the Decl/Sema interfaces.
DeclaratorDecl contains a DeclaratorInfo* to keep type source info.
Subclasses of DeclaratorDecl are FieldDecl, FunctionDecl, and VarDecl.
EnumConstantDecl still inherits from ValueDecl since it has no need for DeclaratorInfo.
Decl/Sema interfaces accept a DeclaratorInfo as parameter but no DeclaratorInfo is created yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79392
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 19 Aug 2009 01:27:32 +0000 (01:27 +0000)]
Introduce DeclaratorInfo and TypeLoc, intended to be used for storing and reading source information for types.
DeclaratorInfo will contain a flat memory block for source information about a type that came out of a declarator.
TypeLoc and its subclasses will be used by clients as wrappers to "traverse" the memory block and read the information.
Both DeclaratorInfo and TypeLoc are not utilized in this commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79391
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 19 Aug 2009 01:17:32 +0000 (01:17 +0000)]
Update Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 18 Aug 2009 22:04:08 +0000 (22:04 +0000)]
Cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 18 Aug 2009 21:59:28 +0000 (21:59 +0000)]
Add some documentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79373
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 18 Aug 2009 21:49:00 +0000 (21:49 +0000)]
Cleanups. Move GenerateRtti to CodeGenModule.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79372
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 18 Aug 2009 21:37:33 +0000 (21:37 +0000)]
Renamed ClassProp data member of ObjCImplctSetterGetterRefExpr
to InterfaceDecl, as it is unrelated to any property and
holds the InterfaceDecl needed for accessing class getter/setter
methods using the dot-syntax.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79371
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 18 Aug 2009 21:30:21 +0000 (21:30 +0000)]
Move the rest of the vtable building code into the new builder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79370
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 18 Aug 2009 21:03:28 +0000 (21:03 +0000)]
Suck up method generation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79367
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 18 Aug 2009 20:50:28 +0000 (20:50 +0000)]
Split out vtable bulding code into a builder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79366
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 18 Aug 2009 20:50:23 +0000 (20:50 +0000)]
Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr.
Removed an unnecessary loop to get to setters incoming
argument. Added DoxyGen comments. Still more work
to do in this area (WIP).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79365
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 18 Aug 2009 16:11:00 +0000 (16:11 +0000)]
Change ActOnReturnStmt to not take a FullExprArg. Instead, Sema will wrap the return expr inside a CXXExprWithTemporaries if needed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79342
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 18 Aug 2009 08:58:41 +0000 (08:58 +0000)]
Remove unused parameter BugReporter due to previous patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79328
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 18 Aug 2009 08:46:04 +0000 (08:46 +0000)]
Now we can get the CFG from the ProgramPoint. No need to pass in the
BugReporter.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79327
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Aug 2009 07:07:14 +0000 (07:07 +0000)]
Add test for finding bfin backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79326
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Aug 2009 05:47:58 +0000 (05:47 +0000)]
Convert CreateTargetInfo to use a Triple instead of manul string munging.
- Patch by Yonggang Luo (with some formatting tweaks by Eli and myself).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79320
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Aug 2009 05:30:27 +0000 (05:30 +0000)]
Fix some made up triples.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79316
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 18 Aug 2009 01:05:30 +0000 (01:05 +0000)]
Enhance static analyzer diagnostics by introducing a new 'EnhancedBugReporter'
which allows custom checks to register callback creator functions for creating
BugReporterVisitor objects. This allows various checks to include diagnostics
such as 'assuming value is null' with little extra work. Eventually this API
should be refactored to be cleaner and more simple.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79302
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 18 Aug 2009 00:00:49 +0000 (00:00 +0000)]
Teach Sema how to pop out of friend function definitions in nested classes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79291
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Mon, 17 Aug 2009 23:18:30 +0000 (23:18 +0000)]
Fixed typo in last commit pointed out by Anton.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79290
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Mon, 17 Aug 2009 23:08:21 +0000 (23:08 +0000)]
Changes to TargetABIInfo to (hopefully) select the correct calling convention. This has been tested on FreeBSD, and now correctly generates GCC-compatible code for functions returning small structures. Please test it on other platforms!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79288
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 17 Aug 2009 20:08:44 +0000 (20:08 +0000)]
Support compilation for the blackfin back-end
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79271
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 17 Aug 2009 19:04:50 +0000 (19:04 +0000)]
Patch to 1) synthesizing non-trivial default destructor when
one is not provided by user. 2) More complete
emission of ctor prologue when it has no initializer
list or when it is synthesized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 17 Aug 2009 18:24:57 +0000 (18:24 +0000)]
Remove an ErrorUnsupported call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79261
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 17 Aug 2009 18:01:54 +0000 (18:01 +0000)]
XFAIL this test for now. David/Steve, please sort out the correct fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79259
91177308 -0d34-0410-b5e6-
96231b3b80d8
David Chisnall [Mon, 17 Aug 2009 16:35:33 +0000 (16:35 +0000)]
Initial patch to support definitions of id and Class from headers in Objective-C code.
This currently breaks test/SemaObjC/id-isa-ref.m and issues some spurious warnings when you attempt to assign a struct objc_class* value to a Class variable. The test case probably should fail as it's written, because without the definition of Class the compiler should not assume struct objc_class* is a valid receiver type, but it's left broken because it would be nice if we could get that passing too for the special case of isa.
Approved by snaroff.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79248
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 17 Aug 2009 14:13:14 +0000 (14:13 +0000)]
adjust indentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79236
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 17 Aug 2009 06:30:30 +0000 (06:30 +0000)]
Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79229
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 17 Aug 2009 06:19:58 +0000 (06:19 +0000)]
To make the analysis independent on the locally stored liveness and cfg
of GRStateManager and GRExprEngine, pass the initial location context
to the getInitialState() method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79228
91177308 -0d34-0410-b5e6-
96231b3b80d8
Erick Tryzelaar [Sun, 16 Aug 2009 23:36:28 +0000 (23:36 +0000)]
Update lexer to work with the new APFloat string parsing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79211
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 21:13:42 +0000 (21:13 +0000)]
Improve handling of delete expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79205
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 20:29:59 +0000 (20:29 +0000)]
Whoops, did not mean to commit this
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79201
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 20:29:29 +0000 (20:29 +0000)]
Store the delete operator for delete expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79200
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Sun, 16 Aug 2009 19:36:17 +0000 (19:36 +0000)]
Patch toward synthesizing non-trivial destructors. WIP
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79199
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sun, 16 Aug 2009 19:04:13 +0000 (19:04 +0000)]
Refine vbase offset calculations. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79198
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 17:54:29 +0000 (17:54 +0000)]
Only do this for initializers of course.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79197
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 17:50:25 +0000 (17:50 +0000)]
Destroy bound temporaries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79196
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Aug 2009 16:57:27 +0000 (16:57 +0000)]
Improve the diagnostic emitted when an unused ObjC property getter
is found. Instead of complaining about a generic "unused expr",
emit:
t.m:7:3: warning: property access result unused - getters should not have side effects
While objc property getters *could* have side effects, according to
the language best practices, they *shouldn't*. Hopefully the
diagnostic now gets this across.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79192
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Aug 2009 16:51:50 +0000 (16:51 +0000)]
fix my previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79191
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Aug 2009 16:45:18 +0000 (16:45 +0000)]
This is an attempt to improve loc info for 'unused result' expression
warnings, but it fails because we don't have the location of the .
and I don't understand ObjCKVCRefExpr. I'll revisit this later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79190
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 07:36:22 +0000 (07:36 +0000)]
Add an IsInitializer flag to EmitAnyExpr. This is used to prevent temporaries from being destroyed when they're bound to a reference variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79179
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 05:55:31 +0000 (05:55 +0000)]
No need to append extra padding now that we don't create packed structs for simple cases like the constant string.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79178
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 05:13:48 +0000 (05:13 +0000)]
AddInitializerToDecl can't take a FullExprArg. Make it take an ExprArg, and create the CXXExprWithTemporaries before setting the initializer on the VarDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79176
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 04:11:06 +0000 (04:11 +0000)]
Call MaybeBindToTemporary for overloaded binary and unary operators.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79173
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 03:53:54 +0000 (03:53 +0000)]
Call MaybeBindToTemporary when constructing functino call operator calls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79172
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 03:42:12 +0000 (03:42 +0000)]
Add MaybeBindToTemporary calls for member call expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79171
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 03:06:32 +0000 (03:06 +0000)]
Make sure to call MaybeBindToTemporary when creating CallExprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79168
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sun, 16 Aug 2009 02:40:14 +0000 (02:40 +0000)]
Use the -NEXT feature of FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79166
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Aug 2009 01:56:34 +0000 (01:56 +0000)]
Move builtin call checking out into a separate function, make CheckFunctionCall and CheckBlockCall return bool instead. No intended functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79157
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Sun, 16 Aug 2009 01:46:26 +0000 (01:46 +0000)]
Cleanups and fixups for calculating the virtual base offsets. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79156
91177308 -0d34-0410-b5e6-
96231b3b80d8