Граф коммитов

14292 Коммитов

Автор SHA1 Сообщение Дата
Mike Stump eb7e9c39f3 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
2009-08-19 18:10:47 +00:00
Mike Stump ee560f3b1f Cleanup: fold IndirectPrimary into builder.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79423 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 14:40:47 +00:00
Mike Stump cc2a01206b 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
2009-08-19 14:06:50 +00:00
Mike Stump 9c88d985f5 Update for recent improvements.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79421 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 13:36:31 +00:00
Zhongxing Xu f7a50a4ee2 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
2009-08-19 12:50:00 +00:00
Benjamin Kramer ad97866feb Update CMakeLists.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79416 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 12:02:15 +00:00
Eli Friedman a95d75769e 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
2009-08-19 07:44:53 +00:00
Mike Stump 09765ece71 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
2009-08-19 02:53:08 +00:00
Mike Stump b46c92dfed Refine vcalls a little.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79400 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 02:06:38 +00:00
Argyrios Kyrtzidis 35d44e5673 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
2009-08-19 01:46:06 +00:00
Argyrios Kyrtzidis d4a7e54f48 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
2009-08-19 01:28:35 +00:00
Argyrios Kyrtzidis e8661906d4 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
2009-08-19 01:28:28 +00:00
Argyrios Kyrtzidis 1bb8a45f73 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
2009-08-19 01:28:17 +00:00
Argyrios Kyrtzidis 4adab7fcb4 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
2009-08-19 01:28:06 +00:00
Argyrios Kyrtzidis a1d5662d96 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
2009-08-19 01:27:57 +00:00
Argyrios Kyrtzidis b17166c807 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
2009-08-19 01:27:32 +00:00
Anders Carlsson 7d878eb7f3 Update Xcode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79390 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 01:17:32 +00:00
Mike Stump 552b275708 Cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79374 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 22:04:08 +00:00
Mike Stump b3d8837214 Add some documentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79373 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 21:59:28 +00:00
Mike Stump 32f3701853 Cleanups. Move GenerateRtti to CodeGenModule.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79372 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 21:49:00 +00:00
Fariborz Jahanian d2ae5aa732 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
2009-08-18 21:37:33 +00:00
Mike Stump 109b13db33 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
2009-08-18 21:30:21 +00:00
Mike Stump 65defe3ee7 Suck up method generation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79367 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 21:03:28 +00:00
Mike Stump 7c435fa7f7 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
2009-08-18 20:50:28 +00:00
Fariborz Jahanian 154440e6a8 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
2009-08-18 20:50:23 +00:00
Anders Carlsson f53b4433ab 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
2009-08-18 16:11:00 +00:00
Zhongxing Xu 292a5c0469 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
2009-08-18 08:58:41 +00:00
Zhongxing Xu 50d5bc4e3b 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
2009-08-18 08:46:04 +00:00
Daniel Dunbar 4f9449d8d8 Add test for finding bfin backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79326 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 07:07:14 +00:00
Daniel Dunbar 9d6fa61582 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
2009-08-18 05:47:58 +00:00
Daniel Dunbar d3afba852f Fix some made up triples.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79316 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 05:30:27 +00:00
Ted Kremenek 592362b46a 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
2009-08-18 01:05:30 +00:00
John McCall 88232aadbe 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
2009-08-18 00:00:49 +00:00
David Chisnall 91f21c0c83 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
2009-08-17 23:18:30 +00:00
David Chisnall 1e4249c106 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
2009-08-17 23:08:21 +00:00
Jakob Stoklund Olesen 1eb434346f Support compilation for the blackfin back-end
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79271 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 20:08:44 +00:00
Fariborz Jahanian 0880bacf8f 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
2009-08-17 19:04:50 +00:00
Anders Carlsson 622f9dc76b Remove an ErrorUnsupported call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79261 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 18:24:57 +00:00
Daniel Dunbar f7a0b6b065 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
2009-08-17 18:01:54 +00:00
David Chisnall 0f43656064 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
2009-08-17 16:35:33 +00:00
Zhongxing Xu c01b46e2f1 adjust indentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79236 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 14:13:14 +00:00
Zhongxing Xu 94f1d16bb0 Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79229 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 06:30:30 +00:00
Zhongxing Xu 17fd8632dc 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
2009-08-17 06:19:58 +00:00
Erick Tryzelaar e9f195f15f 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
2009-08-16 23:36:28 +00:00
Anders Carlsson 60e282cc1e Improve handling of delete expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 21:13:42 +00:00
Anders Carlsson 1352590383 Whoops, did not mean to commit this
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79201 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 20:29:59 +00:00
Anders Carlsson d67c4c31a8 Store the delete operator for delete expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79200 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 20:29:29 +00:00
Fariborz Jahanian b193a414f1 Patch toward synthesizing non-trivial destructors. WIP
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79199 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 19:36:17 +00:00
Mike Stump fe3010d09c Refine vbase offset calculations. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 19:04:13 +00:00
Anders Carlsson 2da76936a7 Only do this for initializers of course.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79197 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 17:54:29 +00:00