- Jun 15, 2012
-
-
Alexis Hunt authored
llvm-svn: 158545
-
Jordan Rose authored
Specifically, @[] and @{} didn't have a type associated with them; we now use "NSArray *" and "NSDictionary *", respectively. @"" has the type "NSString *". @(), unfortunately, has type "id", since it (currently) may be either an NSNumber or an NSString. Add a test for all the Objective-C at-expression completions. <rdar://problem/11507708&11507668&11507711> llvm-svn: 158533
-
Jordan Rose authored
This is explicitly forbidden in C99 6.7.4p3. This is /not/ forbidden in C++, probably because by default file-scope const/constexpr variables have internal linkage, while functions have external linkage. There's also the issue of anonymous namespaces to consider. Nevertheless, there should probably be a similar warning, since the semantics of inlining a function that references a variable with internal linkage do not seem well-defined. <rdar://problem/11577619> llvm-svn: 158531
-
Douglas Gregor authored
for unexpanded parameter packs. Fixes the crash-on-invalid in PR13117. llvm-svn: 158525
-
James Dennett authored
* Removed \param comments for parameters that no longer exist; * Fixed a "\para" typo to "\param"; * Escaped @, # and \ symbols as needed in Doxygen comments; * Added use of \brief to output short summaries. llvm-svn: 158498
-
Richard Trieu authored
llvm-svn: 158478
-
Richard Trieu authored
llvm-svn: 158477
-
- Jun 14, 2012
-
-
James Dennett authored
* Escape #, < and @ symbols where Doxygen would try to interpret them; * Fix several function param documentation where names had got out of sync; * Delete param documentation referring to parameters that no longer exist. llvm-svn: 158472
-
Daniel Jasper authored
a CXXRecordDecl is complete. Fixes Bug 13086. llvm-svn: 158469
-
James Dennett authored
OBJC_AT_KEYWORD_NAME take a string literal argument where previously its second argument was an unquoted token; macro invocations such as OBJC_AT_KEYWORD_NAME(NeedAt,{) confuse Doxygen's parser. While I'm wary of changing code (rather than just comments) to work around Doxygen's limitations, in this case the change makes the code more readable for human beings as well, and the macro derived no benefit from using the preprocessor's stringification operator, as it never has need of the unquoted token. I've also included a couple of trivial drive-by fixes to doc comments. llvm-svn: 158440
-
- Jun 13, 2012
-
-
Daniel Jasper authored
-Wunused-private-field. llvm-svn: 158411
-
Richard Smith authored
llvm-svn: 158390
-
Richard Smith authored
unsigned type is narrowing if the source is non-constant or negative. llvm-svn: 158377
-
- Jun 12, 2012
-
-
Douglas Gregor authored
make sure that we walk the definition. Fixes <rdar://problem/11427742>. llvm-svn: 158357
-
Richard Smith authored
all. Suppresses follow-on errors mentioned in PR13074. llvm-svn: 158348
-
- Jun 11, 2012
-
-
Chad Rosier authored
llvm-svn: 158325
-
- Jun 10, 2012
-
-
Richard Smith authored
consider them when enumerating builtin operator candidates. llvm-svn: 158293
-
Richard Smith authored
We need an efficient mechanism to determine whether a defaulted default constructor is constexpr, in order to determine whether a class is a literal type, so keep the incrementally-built form on CXXRecordDecl. Remove the on-demand computation of same, so that we only have one method for determining whether a default constructor is constexpr. This doesn't affect correctness, since default constructor lookup is much simpler than selecting a constructor for copying or moving. We don't need a corresponding mechanism for defaulted copy or move constructors, since they can't affect whether a type is a literal type. Conversely, checking whether such functions are constexpr can require non-trivial effort, so we defer such checks until the copy or move constructor is required. Thus we now only compute whether a copy or move constructor is constexpr on demand, and only compute whether a default constructor is constexpr in advance. This is unfortunate, but seems like the best solution. llvm-svn: 158290
-
Richard Smith authored
an explicitly-defaulted default constructor would be constexpr. This is necessary in weird (but well-formed) cases where a class has more than one copy or move constructor. Cleanup of now-unused parts of CXXRecordDecl to follow. llvm-svn: 158289
-
Richard Smith authored
initialization, and use that information to produce the right kind of initialization during template instantiation. llvm-svn: 158288
-
- Jun 09, 2012
-
-
Dmitri Gribenko authored
llvm-svn: 158241
-
Jordan Rose authored
This could happen for cases like this: - (NSArray *)getAllNames:(NSArray *)images { NSMutableArray *results = [NSMutableArray array]; for (auto img in images) { [results addObject:img.name]; } return results; } Here the property access will fail because 'img' has type 'id', rather than, say, NSImage. This warning will not fire in templated code, since the 'id' could have come from a template parameter. llvm-svn: 158239
-
- Jun 08, 2012
-
-
Richard Smith authored
typo-correction after a scope specifier. llvm-svn: 158231
-
Jordan Rose authored
Objective-C literals conceptually always create new objects, but may be optimized by the compiler or runtime (constant folding, singletons, etc). Comparing addresses of these objects is relying on this optimization behavior, which is really an implementation detail. In the case of == and !=, offer a fixit to a call to -isEqual:, if the method is available. This fixit is directly on the error so that it is automatically applied. Most of the time, this is really a newbie mistake, hence the fixit. llvm-svn: 158230
-
Richard Trieu authored
variable which wasn't removed when the original patch was committed. llvm-svn: 158225
-
Argyrios Kyrtzidis authored
AST: For auto-synthesized ivars give them the location of the related property (previously they had no source location). This allows them to be indexed by libclang. libclang: Make sure synthesized ivars are indexed before the methods that may reference them. Fixes rdar://11607001. llvm-svn: 158189
-
Richard Smith authored
definitions of such members are prohibited, not mere declarations. llvm-svn: 158186
-
Kaelyn Uhrain authored
feedback from Doug Gregor. llvm-svn: 158185
-
Kaelyn Uhrain authored
nested name specifiers in addition to the function's identifier when the correction has a different nested name specifier. llvm-svn: 158178
-
Kaelyn Uhrain authored
correction to use for an invalid function redeclaration. llvm-svn: 158177
-
- Jun 07, 2012
-
-
Benjamin Kramer authored
The integral APSInt value is now stored in a decomposed form and the backing store for large values is allocated via the ASTContext. This way its not leaked as TemplateArguments are never destructed when they are allocated in the ASTContext. Since the integral data is immutable it is now shared between instances, making copying TemplateArguments a trivial operation. Currently getting the integral data out of a TemplateArgument requires creating a new APSInt object. This is cheap when the value is small but can be expensive if it's not. If this turns out to be an issue a more efficient accessor could be added. llvm-svn: 158150
-
Jordan Rose authored
Before, the note showed the location where you could insert __bridge variants, but the actual fixit edit came after the cast. No functionality change. llvm-svn: 158131
-
Jordan Rose authored
This was a problem for people who write 'return(result);' Also fix ARCMT's corresponding code, though there's no test case for this because implicit casts like this are rejected by the migrator for being ambiguous, and explicit casts have no problem. <rdar://problem/11577346> llvm-svn: 158130
-
- Jun 06, 2012
-
-
Kaelyn Uhrain authored
are otherwise too short to try to correct. The TODOs added to two of the tests are for existing deficiencies in the typo correction code that could be exposed by using longer identifiers. llvm-svn: 158109
-
David Blaikie authored
In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them. This rolls back r155808 and r155869. Review by Doug Gregor incorporating feedback from Chandler Carruth. llvm-svn: 158104
-
Benjamin Kramer authored
llvm-svn: 158086
-
Daniel Jasper authored
unused private fields of classes that are fully defined in the current translation unit. llvm-svn: 158054
-
- Jun 05, 2012
-
-
Fariborz Jahanian authored
the overriding deprecated/unavailable method. // rdar://11475360 llvm-svn: 158022
-
Jordan Rose authored
Within the guts of CheckFormatHandler, the IsObjCLiteral flag was being used in two ways: to see if null bytes were allowed, and to see if the '%@' specifier is allowed.* The former usage has been changed to an explicit test and the latter pushed down to CheckPrintfHandler and renamed ObjCContext, since it applies to CFStrings as well. * This also changes how wide chars are interpreted; in OS X Foundation, the wide character type is 'unichar', a typedef for short, rather than wchar_t. llvm-svn: 157968
-
Jordan Rose authored
llvm-svn: 157961
-