- Apr 08, 2010
-
-
Ted Kremenek authored
llvm-svn: 100730
-
Jeffrey Yasskin authored
parameter, explicitly ask the user to give it arguments. We used to complain that it wasn't a type and expect the user to figure it out. llvm-svn: 100729
-
Jeffrey Yasskin authored
isNotEmpty calls. llvm-svn: 100722
-
Alexis Hunt authored
code won't actually get used yet because we don't handle non-type parameter packs, but when we do, this code should jump in and work. llvm-svn: 100716
-
Alexis Hunt authored
llvm-svn: 100707
-
Alexis Hunt authored
llvm-svn: 100704
-
- Apr 07, 2010
-
-
Douglas Gregor authored
isn't any extra work to perform. Also, don't check for unused parameters when the warnings will be suppressed anyway. Improves performance of -fsyntax-only on 403.gcc's combine.c by ~2.5%. <rdar://problem/7836787> llvm-svn: 100686
-
Douglas Gregor authored
- When instantiating a friend type template, perform semantic analysis on the resulting type. - Downgrade the errors concerning friend type declarations that do not refer to classes to ExtWarns in C++98/03. C++0x allows practically any type to be befriended, and ignores the friend declaration if the type is not a class. llvm-svn: 100635
-
Douglas Gregor authored
semantic analysis) and Sema::ActOnFriendTypeDecl (the action callback). This is a prerequisite for improving template instantiation of friend type declarations. llvm-svn: 100633
-
John McCall authored
Fixes a spurious warning in LLVM. llvm-svn: 100595
-
John McCall authored
have a temporary object in C++. Also fix a tag mismatch that Doug noticed. llvm-svn: 100593
-
Douglas Gregor authored
definitions, e.g., after - or - (id) we'll find all of the "likely" instance methods that one would want to declare or define at this point. In the latter case, we only produce results whose return types match "id". llvm-svn: 100587
-
Fariborz Jahanian authored
llvm-svn: 100583
-
Fariborz Jahanian authored
Fixes radar 7823675. llvm-svn: 100582
-
Fariborz Jahanian authored
declared in categories. llvm-svn: 100577
-
John McCall authored
(void*) someFunction(5, 10, 15, 20); where the cast is presumably meant to be to 'void'. llvm-svn: 100574
-
- Apr 06, 2010
-
-
John McCall authored
that protected members be used on objects of types which derive from the naming class of the lookup. My first N attempts at this were poorly-founded, largely because the standard is very badly worded here. llvm-svn: 100562
-
Douglas Gregor authored
while we're completing in the middle of a function call), also produce "ordinary" name results that show what can be typed at that point. llvm-svn: 100558
-
Douglas Gregor authored
llvm-svn: 100557
-
Douglas Gregor authored
statement or for ordinary names. This means that we won't show macros when completing, e.g., member expressions such as "p->". llvm-svn: 100555
-
Douglas Gregor authored
down the set of code-completion results based on Objective-C conventions. llvm-svn: 100548
-
Douglas Gregor authored
presence of precompiled headers by forcibly loading all of the methods we know about from the PCH file before constructing our code-completion list. llvm-svn: 100535
-
Douglas Gregor authored
"id" or an expression of type "id". In these cases, we produce a list of all of the (class or instance) methods, respectively, that we know about. Note that this implementation does not yet work well with precompiled headers; that's coming soon. llvm-svn: 100528
-
Ted Kremenek authored
llvm-svn: 100496
-
Ted Kremenek authored
Fix possible null dereference by bailing out of CheckObjCPropertyAttributes() early if the Decl* is null. llvm-svn: 100483
-
- Apr 05, 2010
-
-
Douglas Gregor authored
of file locations for anonymous tag types (e.g., "enum <anonymous at t.h:15:6>"), which can get rather long. llvm-svn: 100470
-
Douglas Gregor authored
of macro definitions when passed to CIndex. Add test for code completion of macros via CIndex. llvm-svn: 100431
-
- Apr 02, 2010
-
-
Fariborz Jahanian authored
(radar 7822210). llvm-svn: 100226
-
Fariborz Jahanian authored
property is being accessed without the dot-syntax notation. (radar 7822344). llvm-svn: 100212
-
Daniel Dunbar authored
llvm-svn: 100210
-
Daniel Dunbar authored
llvm-svn: 100197
-
Douglas Gregor authored
poor (and wrong) approximation of the actual rules governing when to build a copy and when it can be elided. The correct implementation is actually simpler than the approximation. When we only enumerate constructors as part of initialization (e.g., for direct initialization or when we're copying from a class type or one of its derived classes), we don't create a copy. When we enumerate all conversion functions, we do create a copy. Before, we created some extra copies and missed some others. The new test copy-initialization.cpp shows a case where we missed creating a (required, non-elidable) copy as part of a user-defined conversion, which resulted in a miscompile. This commit also fixes PR6757, where the missing copy made us reject well-formed code in the ternary operator. This commit also cleans up our handling of copy elision in the case where we create an extra copy of a temporary object, which became necessary now that we produce the right copies. The code that seeks to find the temporary object being copied has moved into Expr::getTemporaryObject(); it used to have two different not-quite-the-same implementations, one in Sema and one in CodeGen. Note that we still do not attempt to perform the named return value optimization, so we miss copy elisions for return values and throw expressions. llvm-svn: 100196
-
Anders Carlsson authored
If a constructor is a dependent context, just set the base and member initializers as they are written. Fixes a bug where we wouldn't show initialization order warnings when instantiating. llvm-svn: 100180
-
Anders Carlsson authored
llvm-svn: 100179
-
Anders Carlsson authored
llvm-svn: 100175
-
Anders Carlsson authored
llvm-svn: 100174
-
Anders Carlsson authored
llvm-svn: 100173
-
John McCall authored
the standard. llvm-svn: 100155
-
Douglas Gregor authored
llvm-svn: 100144
-
- Apr 01, 2010
-
-
Douglas Gregor authored
an object or function. Our previous checking was too lax, and ended up allowing missing or extraneous address-of operators, among other evils. The new checking provides better diagnostics and adheres more closely to the standard. Fixes PR6563 and PR6749. llvm-svn: 100125
-