Commit Graph

5240 Commits

Author SHA1 Message Date
Sebastian Redl 931e0bd331 Pretend destructors are const and volatile. This allows calling them with const and/or volatile objects. Fixes PR5548.
llvm-svn: 89244
2009-11-18 20:55:52 +00:00
Sebastian Redl 4990a6347a Don't generate superfluous and ambiguous built-in candidates for multi-level array subscript and arithmetic. Fixes PR5546.
llvm-svn: 89242
2009-11-18 20:39:26 +00:00
Ken Dyck 2d4371d666 Define intptr_t and uintptr_t in terms of their equivalent exact-width types.
llvm-svn: 89237
2009-11-18 20:24:13 +00:00
Daniel Dunbar 9b33352856 Update test to stop scanning things in the predefines buffer, this isn't adding
value.

llvm-svn: 89235
2009-11-18 20:19:44 +00:00
Ken Dyck 24cfcf15c3 Predefine __INTPTR_WIDTH__ for future use in stdint.h.
llvm-svn: 89231
2009-11-18 20:05:48 +00:00
Ken Dyck fa01168a5c Remove the __INTMAX_TYPE__ and __UINTMAX_TYPE__ built-in macros as they are no
longer used by stdint.h.

llvm-svn: 89230
2009-11-18 19:51:06 +00:00
Ken Dyck ac11b7b625 Define INTMAX_C and UINTMAX_C in terms of the corresponding exact-width
INTn_C and UINTn_C macros.

llvm-svn: 89226
2009-11-18 19:42:57 +00:00
Ken Dyck 63c8ef8256 Define INTMAX_MIN, INTMAX_MAX, and UINTMAX_MAX in terms of the limit macros for
their corresponding exact-width type. 

llvm-svn: 89224
2009-11-18 19:22:15 +00:00
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
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
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
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
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
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 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
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
Mike Stump 5bbbb13765 Fix one last gotcha with typeid.
llvm-svn: 89172
2009-11-18 00:40:12 +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 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 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
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
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
Mike Stump db72c89eb1 Add rtti support for non-member pointers. WIP.
llvm-svn: 89148
2009-11-17 21:44:24 +00:00
Ted Kremenek 2df52dca49 Add c-index-test mode "-test-file-scan", which scans a source file and calls clang_getCursor() on every character.
llvm-svn: 89136
2009-11-17 19:37:36 +00:00
Ted Kremenek 1e8a6f8527 Fix test case.
llvm-svn: 89135
2009-11-17 19:36:36 +00:00
David Chisnall 950a9518b1 Added block type introspection support.
As per Fariborz's suggestion, committed now but can be reverted later if the used flag is problematic for Apple.

llvm-svn: 89134
2009-11-17 19:33:30 +00:00
Ted Kremenek 92978f8122 Rename test.
llvm-svn: 89132
2009-11-17 19:29:41 +00:00
Jakob Stoklund Olesen 061644a69d Undo previous test fix. -split-phi-edges now disables automatically when the
local register allocator is used.

llvm-svn: 89127
2009-11-17 19:18:32 +00:00
Ken Dyck 19ac306c2c Replace (-INT8_C(128)), which uses an illegally out-of-range argument for
INT8_C, with (-INT8_C(127)-1) in the definition of INT8_MIN. Apply similar
changes to the definitions of INT16_MIN and INT24_MIN.

llvm-svn: 89120
2009-11-17 18:29:12 +00:00
Ted Kremenek ef3339b7d4 Clean up c-index-test command line usage a bit by requiring a "-test-load-tu" option when testing clang_loadTranslationUnit(). Running c-index-test without the correct arguments now also prints a useful summary of its correct usage.
llvm-svn: 89115
2009-11-17 18:09:14 +00:00
Sebastian Redl 6eedcc1b86 Adjust format attribute index for implicit object arguments. Fixes PR5521.
llvm-svn: 89113
2009-11-17 18:02:24 +00:00
Douglas Gregor 8ce3321eb6 Implement code completion for Objective-C message sends to "super".
llvm-svn: 89112
2009-11-17 17:59:40 +00:00
Anders Carlsson 6aa503900f Fix PR5531.
llvm-svn: 89106
2009-11-17 17:11:23 +00:00
Douglas Gregor d3c5d79837 Augment code-completion results to provide argument names and
placeholder arguments for Objective-C message sends. 

llvm-svn: 89103
2009-11-17 16:44:22 +00:00
Ken Dyck f78dc738a5 Use the INTn_C integer constant macros to generate limit constants with correct
suffixes. This corrects the suffixes for the limit constants of the 32-bit
types on MSP430 and PIC16, and the 64-bit types on PPC64, SystemZ, X86_64.

llvm-svn: 89101
2009-11-17 16:26:27 +00:00
Benjamin Kramer b70e4aba9a Make test header independent so it doesn't fail on freebsd. I hope this doesn't
hurt the intention of the test.

llvm-svn: 89096
2009-11-17 14:02:16 +00:00
Ken Dyck e115235705 Remove unnecessary parens around the bodies of integer constant macros. C99
requires that their arguments be decimal, hex, octal constants---no signs
allowed---making the parens unnecessary.

llvm-svn: 89095
2009-11-17 13:54:02 +00:00
Daniel Dunbar f386ce5429 ... and add back a few more triple forces.
llvm-svn: 89088
2009-11-17 10:27:58 +00:00