]> granicus.if.org Git - clang/log
clang
16 years agoFix comment. Describe what it is, instead of how it is used.
Devang Patel [Tue, 9 Oct 2007 17:08:50 +0000 (17:08 +0000)]
Fix comment. Describe what it is, instead of how it is used.

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

16 years agoPrevent memory leak by not creating a category object when there is a
Fariborz Jahanian [Tue, 9 Oct 2007 17:05:22 +0000 (17:05 +0000)]
Prevent memory leak by not creating a category object when there is a
fatal error of category's undefined interface.

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

16 years agoRemove 2 protocol related actions from MinimalActions (protocols shouldn't be recogni...
Steve Naroff [Mon, 8 Oct 2007 23:10:47 +0000 (23:10 +0000)]
Remove 2 protocol related actions from MinimalActions (protocols shouldn't be recognized as types).

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

16 years agoAdded a new class for Interfaces qualified by protocol list.
Fariborz Jahanian [Mon, 8 Oct 2007 23:06:41 +0000 (23:06 +0000)]
Added a new class for Interfaces qualified by protocol list.
Protocols are now sorted and made unique in the list.
Enhanced pretty printer for @interface (So, I can see the protocol list).

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

16 years agoRemoved unused instance variable from FieldDecl.
Steve Naroff [Mon, 8 Oct 2007 21:56:47 +0000 (21:56 +0000)]
Removed unused instance variable from FieldDecl.

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

16 years agoRename FileVariable -> FileVar for consistency with its class name,
Chris Lattner [Mon, 8 Oct 2007 21:37:32 +0000 (21:37 +0000)]
Rename FileVariable -> FileVar for consistency with its class name,
likewise block and param.  Reorder the layout of the Decl kind enum
so that the inheritance tree is reflected in the ordering.  This allows
trivial range comparisons to determine whether something is an instance
of some abstract class, making classof faster.

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

16 years agoadd a comment.
Chris Lattner [Mon, 8 Oct 2007 21:36:22 +0000 (21:36 +0000)]
add a comment.

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

16 years agoMove identifierTable.h to the right folder.
Chris Lattner [Mon, 8 Oct 2007 21:35:59 +0000 (21:35 +0000)]
Move identifierTable.h to the right folder.

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

16 years agoConvert Selector Maps/Sets to use stronger typing (now that we have DenseMapInfo...
Steve Naroff [Mon, 8 Oct 2007 21:05:34 +0000 (21:05 +0000)]
Convert Selector Maps/Sets to use stronger typing (now that we have DenseMapInfo in IdentifierTable.h).

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

16 years agoCode gen case statement ranges.
Devang Patel [Mon, 8 Oct 2007 20:57:48 +0000 (20:57 +0000)]
Code gen case statement ranges.

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

16 years agoSeveral small patches to do pretty printing for objective-c top-level decls
Fariborz Jahanian [Mon, 8 Oct 2007 18:53:38 +0000 (18:53 +0000)]
Several small patches to do pretty printing for objective-c top-level decls
(minimal printing), Derive ObjcClassDecl from Decl. Ted may want to
take note of the change I made to CFGRecStmtDeclVisitor.h

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

16 years agoRemoved unnecessary base class from some of objective-c classes:
Fariborz Jahanian [Mon, 8 Oct 2007 17:35:11 +0000 (17:35 +0000)]
Removed unnecessary base class from some of objective-c classes:
ObjcProtocolDecl is now derived from ScopedDecl. ObjcForwardProtocolDecl from Decl.
ObjcImplementationDecl fom NamedDecl.

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

16 years agoReturn NULL on invalid protocol.
Fariborz Jahanian [Mon, 8 Oct 2007 16:07:03 +0000 (16:07 +0000)]
Return NULL on invalid protocol.

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

16 years agoremove unneeded #include
Chris Lattner [Sun, 7 Oct 2007 08:59:27 +0000 (08:59 +0000)]
remove unneeded #include

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

16 years agomove IdentifierTable.h from liblex to libbasic.
Chris Lattner [Sun, 7 Oct 2007 08:58:51 +0000 (08:58 +0000)]
move IdentifierTable.h from liblex to libbasic.

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

16 years agoimplement the Token class in the Lexer.cpp file instead of IdentifierInfo.cpp
Chris Lattner [Sun, 7 Oct 2007 08:47:24 +0000 (08:47 +0000)]
implement the Token class in the Lexer.cpp file instead of IdentifierInfo.cpp

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

16 years agoimprove layering:
Chris Lattner [Sun, 7 Oct 2007 08:44:20 +0000 (08:44 +0000)]
improve layering:
Now instead of IdentifierInfo knowing anything about MacroInfo,
only the preprocessor knows.  This makes MacroInfo truly private
to the Lex library (and its direct clients) instead of being
accessed in the Basic library.

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

16 years agochange calls to getMacroInfo into hasMacroDefinition() where possible.
Chris Lattner [Sun, 7 Oct 2007 08:04:56 +0000 (08:04 +0000)]
change calls to getMacroInfo into hasMacroDefinition() where possible.

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

16 years agoadd a hasMacroDefinition() method to IdentifierInfo, strength reduce a
Chris Lattner [Sun, 7 Oct 2007 07:57:27 +0000 (07:57 +0000)]
add a hasMacroDefinition() method to IdentifierInfo, strength reduce a
call to getMacroInfo to call it.

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

16 years agoupdate comment.
Chris Lattner [Sun, 7 Oct 2007 07:54:23 +0000 (07:54 +0000)]
update comment.

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

16 years agoRemove the PPID bitfield from IdentifierInfo, shrinking it by a word
Chris Lattner [Sun, 7 Oct 2007 07:52:34 +0000 (07:52 +0000)]
Remove the PPID bitfield from IdentifierInfo, shrinking it by a word
(because all bitfields now fit in 32 bits).  This shrinks the identifier
table for carbon.h from 1634428 to 1451424 bytes (12%) and has no impact
on compile time.

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

16 years agoFirst step to fixing a long lived layering violation: this
Chris Lattner [Sun, 7 Oct 2007 07:09:52 +0000 (07:09 +0000)]
First step to fixing a long lived layering violation: this
moves the MacroInfo pointer to a side hash table (which currently
lives in IdentifierTable.cpp).  This removes a pointer from
Identifier info, but doesn't shrink it, as it requires a new bit
be added.  This strange approach with the 'hasmacro' bit is needed
to not lose preprocessor performance.

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

16 years agoThe identifier shouldn't be added to the scope, the decl should.
Chris Lattner [Sun, 7 Oct 2007 07:05:08 +0000 (07:05 +0000)]
The identifier shouldn't be added to the scope, the decl should.
This fixes strange assertions that just started triggering.

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

16 years agoclassof isn't right. This is causing assertion failures somehow now.
Chris Lattner [Sun, 7 Oct 2007 07:04:41 +0000 (07:04 +0000)]
classof isn't right.  This is causing assertion failures somehow now.

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

16 years agoShrink the builtinID down by 3 bits, allowing all the bitfields to
Chris Lattner [Sun, 7 Oct 2007 06:29:32 +0000 (06:29 +0000)]
Shrink the builtinID down by 3 bits, allowing all the bitfields to
fit in 32-bits, shrinking IdentifierInfo by a word.

This shrinks the total size of the identifier pool from
1817264 to 1634428 bytes (11%) on carbon.h.

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

16 years agoRename ASTStreamers.* -> ASTConsumers.*
Chris Lattner [Sun, 7 Oct 2007 06:04:32 +0000 (06:04 +0000)]
Rename ASTStreamers.* -> ASTConsumers.*

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

16 years agosimplify the interfaces to create selectors: getSelector can take any
Chris Lattner [Sun, 7 Oct 2007 02:00:24 +0000 (02:00 +0000)]
simplify the interfaces to create selectors: getSelector can take any
number of arguments now and does the right thing, but the nullary/unary
accessors are preserved as convenience functions.  This allows us to
slightly simplify clients.

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

16 years agosimplify some Selector interfaces.
Chris Lattner [Sun, 7 Oct 2007 01:33:16 +0000 (01:33 +0000)]
simplify some Selector interfaces.

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

16 years agomove ImplementationClassInfo out of ASTContext into Sema.
Chris Lattner [Sun, 7 Oct 2007 01:13:46 +0000 (01:13 +0000)]
move ImplementationClassInfo out of ASTContext into Sema.

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

16 years agoadd comments.
Chris Lattner [Sat, 6 Oct 2007 23:30:21 +0000 (23:30 +0000)]
add comments.

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

16 years agoswitch ObjcCategoryImplDecl over to being a NamedDecl, remove dead ctor argument.
Chris Lattner [Sat, 6 Oct 2007 23:12:31 +0000 (23:12 +0000)]
switch ObjcCategoryImplDecl over to being a NamedDecl, remove dead ctor argument.

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

16 years agointroduce a new NamedDecl class, switch a couple of things over to using it.
Chris Lattner [Sat, 6 Oct 2007 22:53:46 +0000 (22:53 +0000)]
introduce a new NamedDecl class, switch a couple of things over to using it.
NamedDecl is a Decl that has an IdentifierInfo (for example, ScopedDecl),
but not ObjcMethodDecl.

Simplify some code in ActOnAddMethodsToObjcDecl, by doing the cast from
DeclTy to Decl at the start of the method.

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

16 years agoEvery decl has a SourceLocation, move the location info into the Decl class instead...
Chris Lattner [Sat, 6 Oct 2007 22:16:01 +0000 (22:16 +0000)]
Every decl has a SourceLocation, move the location info into the Decl class instead of being in subclasses.

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

16 years agofuture notes & minor changes
Kevin [Sat, 6 Oct 2007 21:28:47 +0000 (21:28 +0000)]
future notes & minor changes

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

16 years agosimplify the interface to create ObjcClassDecl's.
Chris Lattner [Sat, 6 Oct 2007 20:08:36 +0000 (20:08 +0000)]
simplify the interface to create ObjcClassDecl's.

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

16 years agosimplify the interface for creating ObjcForwardProtocolDecl
Chris Lattner [Sat, 6 Oct 2007 20:05:59 +0000 (20:05 +0000)]
simplify the interface for creating ObjcForwardProtocolDecl

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

16 years agoadd a missing ;
Chris Lattner [Sat, 6 Oct 2007 19:08:22 +0000 (19:08 +0000)]
add a missing ;

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

16 years agostub out some printing of objc decls.
Chris Lattner [Sat, 6 Oct 2007 18:52:10 +0000 (18:52 +0000)]
stub out some printing of objc decls.

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

16 years agospeed up clang startup another 28% by avoiding std::vector<std::string>
Chris Lattner [Sat, 6 Oct 2007 06:57:34 +0000 (06:57 +0000)]
speed up clang startup another 28% by avoiding std::vector<std::string>
for holding builtin target-specific macros.

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

16 years agospeed up clang startup time by about 23% by avoiding lots of
Chris Lattner [Sat, 6 Oct 2007 06:29:41 +0000 (06:29 +0000)]
speed up clang startup time by about 23% by avoiding lots of
stringmap operations when there are no secondary targets.

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

16 years agofix grammaro
Chris Lattner [Sat, 6 Oct 2007 05:48:57 +0000 (05:48 +0000)]
fix grammaro

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

16 years agoedits
Chris Lattner [Sat, 6 Oct 2007 05:42:47 +0000 (05:42 +0000)]
edits

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

16 years agofix accidental commit
Chris Lattner [Sat, 6 Oct 2007 05:38:32 +0000 (05:38 +0000)]
fix accidental commit

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

16 years agoedits
Chris Lattner [Sat, 6 Oct 2007 05:30:19 +0000 (05:30 +0000)]
edits

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

16 years agovarious minor edits, e.g. & -> &amp;
Chris Lattner [Sat, 6 Oct 2007 05:23:00 +0000 (05:23 +0000)]
various minor edits, e.g. & -> &amp;

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

16 years agoNew directory.
Kevin [Sat, 6 Oct 2007 05:15:30 +0000 (05:15 +0000)]
New directory.

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

16 years agoadd a warning.
Chris Lattner [Sat, 6 Oct 2007 05:13:47 +0000 (05:13 +0000)]
add a warning.

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

16 years agominor edits
Chris Lattner [Sat, 6 Oct 2007 05:09:04 +0000 (05:09 +0000)]
minor edits

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

16 years agoFix spacing issues.
Bill Wendling [Sat, 6 Oct 2007 01:56:01 +0000 (01:56 +0000)]
Fix spacing issues.

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

16 years agoJust say "No" to non-ASCII things.
Bill Wendling [Sat, 6 Oct 2007 01:53:09 +0000 (01:53 +0000)]
Just say "No" to non-ASCII things.

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

16 years agoRemove non-ASCII '
Bill Wendling [Sat, 6 Oct 2007 01:44:57 +0000 (01:44 +0000)]
Remove non-ASCII '

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

16 years ago1. May fix encoding issues: server uses UTF; HTML file assumes Western (ISO 8859-1).
Kevin [Sat, 6 Oct 2007 01:28:23 +0000 (01:28 +0000)]
1. May fix encoding issues: server uses UTF; HTML file assumes Western (ISO 8859-1).
2. Added strict doctype.

Closing out tags like <br/> and <meta.../> may still be a problem (necessary for XHTML, but wrong for HTML)....

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

16 years agoModifications to XCode project:
Ted Kremenek [Fri, 5 Oct 2007 23:32:54 +0000 (23:32 +0000)]
Modifications to XCode project:
- Added include/Analysis/ExprDeclBitVector.h
- Added include/Analysis/ProgramEdge.h
- Removed include/Analysis/Visitors/DataflowStmtVisitor.h

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

16 years agoRemoved DataflowStmtVisitor. It is no longer used, and is obsoleted
Ted Kremenek [Fri, 5 Oct 2007 23:27:24 +0000 (23:27 +0000)]
Removed DataflowStmtVisitor.  It is no longer used, and is obsoleted
by newer visitor interfaces.

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

16 years agoA message on the main page about bulding clang.
Kevin [Fri, 5 Oct 2007 21:44:03 +0000 (21:44 +0000)]
A message on the main page about bulding clang.

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

16 years agonew site -- the rest of it
Kevin [Fri, 5 Oct 2007 21:18:52 +0000 (21:18 +0000)]
new site -- the rest of it

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

16 years agonew site
Kevin [Fri, 5 Oct 2007 21:17:52 +0000 (21:17 +0000)]
new site

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

16 years agoThis is the first patch toward supporting protocol conforming
Fariborz Jahanian [Fri, 5 Oct 2007 21:01:53 +0000 (21:01 +0000)]
This is the first patch toward supporting protocol conforming
objective-c types. It also removes use of Scope* parameter in
getObjCProtocolDecl.

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

16 years agoSupport case statement ranges.
Devang Patel [Fri, 5 Oct 2007 20:54:07 +0000 (20:54 +0000)]
Support case statement ranges.

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

16 years agoPer request... about to make changes to the website.
Kevin [Fri, 5 Oct 2007 20:31:57 +0000 (20:31 +0000)]
Per request... about to make changes to the website.

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

16 years agoImplement DenseMapInfo for Selector, allowing use of DenseMap/DenseSet of
Chris Lattner [Fri, 5 Oct 2007 20:15:24 +0000 (20:15 +0000)]
Implement DenseMapInfo for Selector, allowing use of DenseMap/DenseSet of
Selector's instead of requiring void* to be used.  I converted one use of
DenseSet<void*> over to use DenseSet<Selector> but the others should change
as well.

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

16 years agoLayering refinements for selectors (suggested by Chris). Specifics...
Steve Naroff [Fri, 5 Oct 2007 18:42:47 +0000 (18:42 +0000)]
Layering refinements for selectors (suggested by Chris). Specifics...

- Add SelectorTable, which enables us to remove MultiKeywordSelector from the public header.
- Remove FoldingSet from IdentifierInfo.h and Preprocessor.h.
- Remove Parser::ObjcGetUnarySelector and Parser::ObjcGetKeywordSelector, they are subsumed by SelectorTable.
- Add MultiKeywordSelector to IdentifierInfo.cpp.
- Move a bunch of selector related methods from ParseObjC.cpp to IdentifierInfo.cpp.
- Added some comments.

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

16 years agoPatch for 1) Checking for duplicate methods decls in intterface and category.
Fariborz Jahanian [Fri, 5 Oct 2007 18:00:57 +0000 (18:00 +0000)]
Patch for 1) Checking for duplicate methods decls in intterface and category.
2) Use of the new DenseSet<t> abstractions instead of DenseMap<t,char>.

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

16 years agoswitch statement code gen.
Devang Patel [Thu, 4 Oct 2007 23:45:31 +0000 (23:45 +0000)]
switch statement code gen.

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

16 years agothis patch accomodates clattner's comments on expression processing in @try-statement.
Fariborz Jahanian [Thu, 4 Oct 2007 20:19:06 +0000 (20:19 +0000)]
this patch accomodates clattner's comments on expression processing in @try-statement.

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

16 years agoMore tab removal activity.
Fariborz Jahanian [Thu, 4 Oct 2007 17:06:28 +0000 (17:06 +0000)]
More tab removal activity.

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

16 years agominor cleanups, make code more defensive, less branchy in Selector ctor.
Chris Lattner [Thu, 4 Oct 2007 05:21:22 +0000 (05:21 +0000)]
minor cleanups, make code more defensive, less branchy in Selector ctor.

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

16 years agofix an incorrect assertion
Chris Lattner [Thu, 4 Oct 2007 05:16:42 +0000 (05:16 +0000)]
fix an incorrect assertion

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

16 years agoFixed tabs in couple of sources.
Fariborz Jahanian [Thu, 4 Oct 2007 00:45:27 +0000 (00:45 +0000)]
Fixed tabs in couple of sources.

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

16 years agoFixed all my recent test cases to have the RUN command and
Fariborz Jahanian [Thu, 4 Oct 2007 00:22:33 +0000 (00:22 +0000)]
Fixed all my recent test cases to have the RUN command and
fixed consequence of these changes in clang.

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

16 years agominor cleanup
Chris Lattner [Wed, 3 Oct 2007 22:03:06 +0000 (22:03 +0000)]
minor cleanup

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

16 years agomove DeclObjc.h down to be alphabetically organized
Chris Lattner [Wed, 3 Oct 2007 21:56:39 +0000 (21:56 +0000)]
move DeclObjc.h down to be alphabetically organized

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

16 years agoFinish renaming ObjC declaration actions.
Steve Naroff [Wed, 3 Oct 2007 21:00:46 +0000 (21:00 +0000)]
Finish renaming ObjC declaration actions.
Add comments.
Switch to new indentation style for the Action class. Since many actions take many arguments, the new style will...
- make it easier to add/remove arguments without messing up the indentation...
- make it easier to add comments to each argument (see ActOnMethodDeclaration for an example)...
- in general, just makes it easier to see what is being passed.

The rest of Actions will be converted "lazily"...there is no immediate need to hack all the existing methods.

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

16 years agoRenamed getCatLoc() to getLocation() to be consistant for such
Fariborz Jahanian [Wed, 3 Oct 2007 16:23:52 +0000 (16:23 +0000)]
Renamed getCatLoc() to getLocation() to be consistant for such
getter names.

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

16 years agoFixed bug where intrusive_ptr_add_ref and intrusive_ptr_release were
Ted Kremenek [Wed, 3 Oct 2007 00:48:55 +0000 (00:48 +0000)]
Fixed bug where intrusive_ptr_add_ref and intrusive_ptr_release were
not declared "static inline."

Removed member templates for operator= and copy constructor.  They simply
didn't work as expected.

Fixed reference counting bug when a smart pointer is assigned the
value of another smart pointer that refers to the same address.

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

16 years agoRename several ObjC action methods to use the "ActOn" prefix (still a few more to...
Steve Naroff [Tue, 2 Oct 2007 22:39:18 +0000 (22:39 +0000)]
Rename several ObjC action methods to use the "ActOn" prefix (still a few more to do).
Remove Action::ObjCStartCategoryInterface/ObjCFinishInterface - they are unused.
.

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

16 years agoUnified SuperClass field name in an objective-c class.
Fariborz Jahanian [Tue, 2 Oct 2007 22:12:45 +0000 (22:12 +0000)]
Unified SuperClass field name in an objective-c class.

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

16 years agoUnified such names as protocol references, instance methods and class methods
Fariborz Jahanian [Tue, 2 Oct 2007 22:05:16 +0000 (22:05 +0000)]
Unified such names as protocol references, instance methods and class methods
and their accessors in a variety of objective-c classes.

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

16 years agoRemove Action::ActOnImpleIvarVsClassIvars(), it is only called by Sema (not Parser).
Steve Naroff [Tue, 2 Oct 2007 21:43:37 +0000 (21:43 +0000)]
Remove Action::ActOnImpleIvarVsClassIvars(), it is only called by Sema (not Parser).
Add Sema::CheckImplementationIvars() to replace the previous action.

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

16 years agoRename ObjcInterfaceDecl::getIsForwardDecl() to isForwardDecl().
Steve Naroff [Tue, 2 Oct 2007 20:26:23 +0000 (20:26 +0000)]
Rename ObjcInterfaceDecl::getIsForwardDecl() to isForwardDecl().
Rename ObjcProtocolDecl::getIsForwardProtoDecl() to isForwardDecl().
Rename ObjcInterfaceDecl::setIsForwardDecl() to setForwardDecl().
Rename ObjcProtocolDecl::setIsForwardProtoDecl() to setForwardDecl().

Two reasons:

#1: boolean predicates should start with "is".
#2: Since these two sets of methods represent the same concept, they should be named the same (polymorphism is good:-)

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

16 years agoPreviously, I warned those methods not implemented in implementation class/category.
Fariborz Jahanian [Tue, 2 Oct 2007 20:06:01 +0000 (20:06 +0000)]
Previously, I warned those methods not implemented in implementation class/category.
Now, I also warn those class/categories which are incomplete because of this.

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

16 years ago- Add ObjcInterfaceDecl::lookupInstanceMethod(), lookupClassMethod().
Steve Naroff [Tue, 2 Oct 2007 20:01:56 +0000 (20:01 +0000)]
- Add ObjcInterfaceDecl::lookupInstanceMethod(), lookupClassMethod().
- Add ObjcMessageExpr::getSelector(), getClassName().
- Change Sema::getObjCInterfaceDecl() to simply take an IdentifierInfo (no Scope needed).
- Remove FIXME for printing ObjCMessageExpr's.

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

16 years agoObjcCategoryDecl Does not subclass from ScopedDecl any more.
Fariborz Jahanian [Tue, 2 Oct 2007 17:36:55 +0000 (17:36 +0000)]
ObjcCategoryDecl Does not subclass from ScopedDecl any more.
Ted may want to take a look at the change I made at
FGRecStmtDeclVisitor.h.

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

16 years agoMoved ProgramEdge out out include/.../Analysis/PathSensitive to include/.../Analysis...
Ted Kremenek [Tue, 2 Oct 2007 17:12:02 +0000 (17:12 +0000)]
Moved ProgramEdge out out include/.../Analysis/PathSensitive to include/.../Analysis, as it is now used by the FlowSensitive subsystem as well.

Removed "Edge" nested class by CFG, as it is now subsumed by ProgramEdge.

Adjusted DataflowSolver and DataflowValues to use ProgramEdges instead
of CFG::Edge.

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

16 years agoThis patch introduces the ObjcCategoryImplDecl class and does the checking related to
Fariborz Jahanian [Tue, 2 Oct 2007 16:38:50 +0000 (16:38 +0000)]
This patch introduces the ObjcCategoryImplDecl class and does the checking related to
unimplemented methods in category implementation.

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

16 years agoAdded DenseMapInfo traits for ProgramEdges
Ted Kremenek [Tue, 2 Oct 2007 16:38:05 +0000 (16:38 +0000)]
Added DenseMapInfo traits for ProgramEdges

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

16 years agoUse Identifier::getLength() instead of strlen() in Selector::getName() and MultiKeywo...
Steve Naroff [Tue, 2 Oct 2007 02:01:22 +0000 (02:01 +0000)]
Use Identifier::getLength() instead of strlen() in Selector::getName() and MultiKeywordSelector::getName().

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

16 years agoAdded a missing #include.
Hartmut Kaiser [Tue, 2 Oct 2007 00:36:52 +0000 (00:36 +0000)]
Added a missing #include.

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

16 years agoAdd comment to ObjcClassDecl.
Steve Naroff [Tue, 2 Oct 2007 00:10:42 +0000 (00:10 +0000)]
Add comment to ObjcClassDecl.
Move ObjcClassDecl to be next to ObjcForwardProtocolDecl. Since they are very similar, might want to unify their names (e.g. ObjcForwardClassDecl).
Change indentation of ObjcForwardProtocolDecl to conform to everything else in DeclObjC.h.

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

16 years agoUpdated VC++ build system.
Hartmut Kaiser [Mon, 1 Oct 2007 23:57:52 +0000 (23:57 +0000)]
Updated VC++ build system.

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

16 years agoAdd comments for ObjC Decl's.
Steve Naroff [Mon, 1 Oct 2007 22:54:34 +0000 (22:54 +0000)]
Add comments for ObjC Decl's.
Removed a constructor that was #if 0's out.
Added a FIXME for fariborz...categories shouldn't inherit from ScopedDecl.

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

16 years agoMigrated LiveVariables and UninitializedVariables to now use the
Ted Kremenek [Mon, 1 Oct 2007 20:33:52 +0000 (20:33 +0000)]
Migrated LiveVariables and UninitializedVariables to now use the
tracked BlkExpr information now maintained by the CFG class.

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

16 years agoCFG objects now internally store a (lazily created) map from block-level
Ted Kremenek [Mon, 1 Oct 2007 19:33:33 +0000 (19:33 +0000)]
CFG objects now internally store a (lazily created) map from block-level
expressions to IDs.  This is used by various dataflow analyses, but is
also useful for anyone querying a CFG to determine where an expression
is evaluated.

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

16 years agoMove ObjC decls to DeclObjC.h, a new AST header.
Steve Naroff [Mon, 1 Oct 2007 19:00:59 +0000 (19:00 +0000)]
Move ObjC decls to DeclObjC.h, a new AST header.
Update clients and add to project file.

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

16 years agoMoved two bitfields back to top of class ObjcMethodDecl so they pack
Fariborz Jahanian [Mon, 1 Oct 2007 17:19:59 +0000 (17:19 +0000)]
Moved two bitfields back to top of class ObjcMethodDecl so they pack
with those in their base class. In response to clattner's
September 30, 2007 12:54:49 AM PDT email.

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

16 years agoTook care of clatter's suggestions, dated.
Fariborz Jahanian [Mon, 1 Oct 2007 16:53:59 +0000 (16:53 +0000)]
Took care of clatter's suggestions, dated.
September 30, 2007 12:36:58 AM PDT and
September 30, 2007 12:50:05 AM PDT

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

16 years agoRemoved "hasImplicitControlFlow" from class CFG, and moved it to class Stmt
Ted Kremenek [Mon, 1 Oct 2007 16:34:52 +0000 (16:34 +0000)]
Removed "hasImplicitControlFlow" from class CFG, and moved it to class Stmt
as a member function.  This function is no longer needed within the CFG
class, and logically belongs to the Stmt class as a predicate for a
Stmt instance.

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

16 years agoUnused ObjcProtoMethod is removed.
Fariborz Jahanian [Sun, 30 Sep 2007 18:53:32 +0000 (18:53 +0000)]
Unused ObjcProtoMethod is removed.

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

16 years agoAdd a new getLength() method to IdentifierInfo, which relies on a newly added
Chris Lattner [Sun, 30 Sep 2007 08:32:27 +0000 (08:32 +0000)]
Add a new getLength() method to IdentifierInfo, which relies on a newly added
method to StringMapEntry.  Steve, please use this to remove the
strlen calls in selector processing.

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

16 years agoFix a bug I just introduced.
Chris Lattner [Sun, 30 Sep 2007 08:31:00 +0000 (08:31 +0000)]
Fix a bug I just introduced.

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