Commit Graph

17871 Commits

Author SHA1 Message Date
Douglas Gregor 5d34fd3674 Implement code completion for Objective-C category names in @interface
and @implementation declarations.

llvm-svn: 89223
2009-11-18 19:08:43 +00:00
Mike Stump ea950e249f Reflow to fit 80-col.
llvm-svn: 89222
2009-11-18 18:57:56 +00:00
Ken Dyck 47181584f1 Define intmax_t and uintmax_t as the [u]intN_t type corresponding to
__INTMAX_WIDTH__.

llvm-svn: 89221
2009-11-18 18:57:04 +00:00
Fariborz Jahanian 41e803d8c7 Don't warn if objc method param types in declaration and
implementation mismatch in their qualifiers only.
This will match similar behavior in c/c++ and
fixes radar 7211653.

llvm-svn: 89220
2009-11-18 18:56:09 +00:00
Mike Stump 643818bdd8 Trim whitespace.
llvm-svn: 89219
2009-11-18 18:52:31 +00:00
Fariborz Jahanian 76197416ac Improve on diagnosing type mismatches because of
lack of viable convesion functions.

llvm-svn: 89216
2009-11-18 18:26:29 +00:00
Sebastian Redl 55db1ec3ec CastsAwayConstness shouldn't care if member pointers point into different classes. Fixes PR5545.
llvm-svn: 89215
2009-11-18 18:10:53 +00:00
Daniel Dunbar 21432d38a0 Driver: Switch Options.def to storing flags as a bitmask (instead of mangled
into a string).

llvm-svn: 89212
2009-11-18 17:42:34 +00:00
Douglas Gregor 49c22a74eb Code completion for Objective-C class names after @interface,
@implementation, and in the declaration of the superclass of an
@interface.

llvm-svn: 89207
2009-11-18 16:26:39 +00:00
Edward O'Callaghan c14422223b Fix passing stdc++ correctly in the FreeBSD toolchain support, Credit to Roman Divacky.
llvm-svn: 89205
2009-11-18 14:51:31 +00:00
Benjamin Kramer fb4ff27367 Update index tests for r89203.
llvm-svn: 89204
2009-11-18 14:20:01 +00:00
Ken Dyck c0c98291e0 Predefine __INTMAX_WIDTH__ for the future parameterization of INTMAX macros in
stdint.h.

llvm-svn: 89203
2009-11-18 13:52:57 +00:00
Eli Friedman acfb1dfa4d Minor cleanup to member pointer handling.
llvm-svn: 89201
2009-11-18 09:41:26 +00:00
John McCall 5cebab12d5 Split LookupResult into its own header.
llvm-svn: 89199
2009-11-18 07:57:50 +00:00
Eli Friedman 928a567af1 Clean up EmitPointerToDataMemberBinaryExpr a bit.
llvm-svn: 89197
2009-11-18 05:01:17 +00:00
Douglas Gregor 5b4671c328 Code completion after @property, providing the names of forward-declared properties
llvm-svn: 89196
2009-11-18 04:49:41 +00:00
Douglas Gregor 23f21f7ba3 Rename code-completion test to actually make sense
llvm-svn: 89195
2009-11-18 04:41:01 +00:00
Douglas Gregor baf6961ed4 Code completion for Objective-C properly lists
llvm-svn: 89194
2009-11-18 04:19:12 +00:00
Mike Stump c0f632d6b2 Set up vtable visibility appropriately.
llvm-svn: 89193
2009-11-18 04:00:48 +00:00
Eli Friedman 030eee4e5c Make CreateOverloadedUnaryOp build the correct node for postinc/dec operators.
llvm-svn: 89192
2009-11-18 03:58:17 +00:00
Mike Stump 83d5e00a96 Propagate hidden to the _ZTS symbols appropriately. WIP.
llvm-svn: 89191
2009-11-18 03:46:51 +00:00
Eli Friedman 794290ca29 Add an assertion to catch bad calls to EmitCallArgs.
llvm-svn: 89190
2009-11-18 03:42:04 +00:00
Eli Friedman cfdd40c807 Simplify ActOnPostfixUnaryOp.
llvm-svn: 89188
2009-11-18 03:38:04 +00:00
Mike Stump c5d2ed73ff Be sure to set visibility for ZTI symbols for classes from the class.
llvm-svn: 89186
2009-11-18 03:21:29 +00:00
Mike Stump f77aaa0089 Make _ZTI symbols hidden. This speeds up the dynamic linker.
llvm-svn: 89185
2009-11-18 02:53:28 +00:00
John McCall e61f2ba7e4 Incremental progress on using declarations. Split UnresolvedUsingDecl into
two classes, one for typenames and one for values;  this seems to have some
support from Doug if not necessarily from the extremely-vague-on-this-point
standard.  Track the location of the 'typename' keyword in a using-typename
decl.  Make a new lookup result for unresolved values and deal with it in
most places.

llvm-svn: 89184
2009-11-18 02:36:19 +00:00
Ted Kremenek 0469b7ea00 Add special clang_getCursor() support for @class. Handles <rdar://problem/7383421>.
llvm-svn: 89183
2009-11-18 02:02:52 +00:00
Douglas Gregor 9291bade4f Code completion for member accesses that involve Objective-C properties and instance variables
llvm-svn: 89182
2009-11-18 01:29:26 +00:00
Douglas Gregor 63ce44aa6c Eliminate some completely-redundant lookups
llvm-svn: 89181
2009-11-18 01:29:02 +00:00
Eli Friedman 132e70bfa4 PR5520: Make sure to check whether the base type is complete before looking for
operator->.

llvm-svn: 89180
2009-11-18 01:28:03 +00:00
Ted Kremenek 49939c2914 Add ObjCClassDecl::getSourceRange().
llvm-svn: 89179
2009-11-18 01:26:56 +00:00
Eli Friedman 24f55430c8 Missing piece of r89173.
llvm-svn: 89174
2009-11-18 00:57:03 +00:00
Eli Friedman fe81e3fb3c Refactor emitting call to delete operator into common function EmitDeleteCall.
llvm-svn: 89173
2009-11-18 00:50:08 +00:00
Mike Stump 5bbbb13765 Fix one last gotcha with typeid.
llvm-svn: 89172
2009-11-18 00:40:12 +00:00
Ted Kremenek 9b124e10a4 Add SourceLocations to ObjCClassDecl for the class identifiers referenced by @class.
llvm-svn: 89170
2009-11-18 00:28:11 +00:00
Douglas Gregor a3329fa05e Finish code completion for Objective-C message sends
llvm-svn: 89168
2009-11-18 00:06:18 +00:00
Mike Stump 4aaf79a942 Cleanup.
llvm-svn: 89166
2009-11-17 23:51:10 +00:00
Mike Stump 103a084cbe Add rtti support for arrays, functiond without prototypes, vectors and
enums.

llvm-svn: 89165
2009-11-17 23:45:57 +00:00
Douglas Gregor 090dd181e5 Rename Objective-C message send completion functions to indicate that we're referring to message sends
llvm-svn: 89164
2009-11-17 23:31:36 +00:00
Douglas Gregor bab2b3c70f Refactor code-completion support for message sends, collecting the
code to find and add Objective-C methods (starting at an
ObjCContainerDecl) into a single, static function. Also, make sure
that we search into the implementations of classes and categories to
find even more methods.

llvm-svn: 89163
2009-11-17 23:22:23 +00:00
Ted Kremenek a26da8503c Pass source locations of identifiers referenced by @class through Action::ActOnForwardClassDeclaration().
llvm-svn: 89162
2009-11-17 23:12:20 +00:00
Mike Stump 96b96d5f2e Add rtti info for function prototypes and refactor. This allows
pointer to member functions to work.  WIP.

llvm-svn: 89161
2009-11-17 23:11:22 +00:00
Ted Kremenek 707ece6025 Do not register ObjCInterfaceDecls implicitly created by @class in the
current DeclContext.  These "imaginary" declarations pose issues for
clients searching DeclContext for actual declarations.  Instead,
register them for name lookup, and add the ObjCInterfaceDecl later to
the DeclContext when we hit an actual @interface declaration.

This also fixes a bug where the invariant that the Decls in a
DeclContext are sorted in order of their appearance is no longer
violated.  What could happen is that an @class causes an
ObjCInterfaceDecl to get added first to the DeclContext, then the
ObjCClassDecl itself is added, and then later the SourceLocation of
the ObjCInterfaceDecl is updated with the correct location (which is
later in the file).  This breaks an assumed invariant in
ResolveLocation.cpp (and possibly other clients).

llvm-svn: 89160
2009-11-17 22:58:30 +00:00
Fariborz Jahanian 95ace55701 This patch finalizes implementatin of weak_import
objective-c2 classes (radar 6815425).

llvm-svn: 89157
2009-11-17 22:42:00 +00:00
Mike Stump 6fdfea67ad Add rtti support for pointer to data members.
llvm-svn: 89155
2009-11-17 22:33:00 +00:00
Daniel Dunbar f6e32e4abe Drop unnecessary #include.
llvm-svn: 89154
2009-11-17 22:25:16 +00:00
Daniel Dunbar ba0c9e8685 Remove unnecessary &&s.
llvm-svn: 89153
2009-11-17 22:25:07 +00:00
Fariborz Jahanian 3ad8dcfd55 More cases for weak_import objective-c2 classes.
(still radar 6815425).

llvm-svn: 89152
2009-11-17 22:02:21 +00:00
Daniel Dunbar aa1e2efbc3 Fix -Asserts warning.
llvm-svn: 89149
2009-11-17 21:51:03 +00:00
Mike Stump db72c89eb1 Add rtti support for non-member pointers. WIP.
llvm-svn: 89148
2009-11-17 21:44:24 +00:00