Nikola Smiljanic
01a7598561
Refactoring. Remove release and take methods from ActionResult. Rename takeAs to getAs.
...
llvm-svn: 209800
2014-05-29 10:55:11 +00:00
Craig Topper
c3ec149bb2
[C++11] Use 'nullptr'. Sema edition.
...
llvm-svn: 209613
2014-05-26 06:22:03 +00:00
Benjamin Kramer
f3ca269839
Decouple ExprCXX.h and DeclCXX.h and clean up includes a bit.
...
Required pulling LambdaExpr::Capture into its own header.
No functionality change.
llvm-svn: 208470
2014-05-10 16:31:55 +00:00
Richard Smith
100b24abc5
Implement [over.match.oper]p3 properly, by filtering the non-candidates out
...
when building the candidate set, rather than trying to contort name lookup into
handling this.
llvm-svn: 206436
2014-04-17 01:52:14 +00:00
Argyrios Kyrtzidis
9ef53ceb51
[Preprocessor/CodeComplete] Don't add include guard macros to code-completion results.
...
llvm-svn: 205917
2014-04-09 18:21:23 +00:00
Aaron Ballman
35c5495bbb
[C++11] Replacing Scope iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.
...
llvm-svn: 204052
2014-03-17 16:55:25 +00:00
Aaron Ballman
83731469a1
[C++11] Replacing ObjCObjectPointerType iterators qual_begin() and qual_end() with iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 204048
2014-03-17 16:14:00 +00:00
Aaron Ballman
19a417699f
[C++11] Replacing ObjCCategoryDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203922
2014-03-14 12:55:57 +00:00
Aaron Ballman
0f6e64d505
[C++11] Replacing ObjCProtocolDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203863
2014-03-13 22:58:06 +00:00
Aaron Ballman
15063e19c6
[C++11] Replacing ObjCInterfaceDecl iterators known_categories_begin() and known_categories_end() with iterator_range known_categories(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203854
2014-03-13 21:35:02 +00:00
Aaron Ballman
3fe486a332
[C++11] Replacing ObjCInterfaceDecl iterators visible_categories_begin() and visible_categories_end() with iterator_range visible_categories(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203851
2014-03-13 21:23:55 +00:00
Aaron Ballman
a9f49e394c
[C++11] Replacing ObjCInterfaceDecl iterators all_referenced_protocol_begin() and all_referenced_protocol_end() with iterator_range all_referenced_protocols(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203848
2014-03-13 20:55:22 +00:00
Aaron Ballman
a49c5064a1
[C++11] Replacing ObjCInterfaceDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
...
Drive-by fixing some incorrect types where a for loop would be improperly using ObjCInterfaceDecl::protocol_iterator. No functional changes in these cases.
llvm-svn: 203842
2014-03-13 20:29:09 +00:00
Aaron Ballman
d174edffa0
Renaming the recently-created (r203830) props() range API to properties() for clarity.
...
llvm-svn: 203835
2014-03-13 19:11:50 +00:00
Aaron Ballman
aff18c0446
[C++11] Replacing ObjCContainerDecl iterators meth_begin() and meth_end() with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203832
2014-03-13 19:03:34 +00:00
Aaron Ballman
dc4bea4676
[C++11] Replacing ObjCContainerDecl iterators prop_begin() and prop_end() with iterator_range props(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203830
2014-03-13 18:47:37 +00:00
Aaron Ballman
445a939db8
[C++11] Replacing CXXRecordDecl iterators vbases_begin() and vbases_end() with iterator_range vbases(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203808
2014-03-13 16:15:17 +00:00
Aaron Ballman
574705ed7f
[C++11] Replacing CXXRecordDecl iterators bases_begin() and bases_end() with iterator_range bases(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203803
2014-03-13 15:41:46 +00:00
Craig Topper
e14c0f8e73
[C++11] Add 'override' keyword to virtual methods that override their base class.
...
llvm-svn: 203640
2014-03-12 04:55:44 +00:00
Aaron Ballman
be22bcb180
[C++11] Replacing DeclBase iterators specific_attr_begin() and specific_attr_end() with iterator_range specific_attrs(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203474
2014-03-10 17:08:28 +00:00
Aaron Ballman
b97112e4bd
[C++11] Replacing Decl iterators attr_begin() and attr_end() with iterator_range attrs(). Updating all of the usages of the iterators with range-based for loops.
...
This is a reapplication of r203236 with modifications to the definition of attrs() and following the new style guidelines on auto usage.
llvm-svn: 203362
2014-03-08 22:19:01 +00:00
Aaron Ballman
e8a8baef44
[C++11] Replacing RecordDecl iterators field_begin() and field_end() with iterator_range fields(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203355
2014-03-08 20:12:42 +00:00
Aaron Ballman
23a6dcb365
[C++11] Replacing EnumDecl iterators enumerator_begin() and enumerator_end() with iterator_range enumerators(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203353
2014-03-08 18:45:14 +00:00
Aaron Ballman
629afaefe0
[C++11] Replacing DeclBase iterators decls_begin() and decls_end() with iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203278
2014-03-07 19:56:05 +00:00
Aaron Ballman
43b68bebe7
[C++11] Replacing ObjCMethodDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203255
2014-03-07 17:50:17 +00:00
Aaron Ballman
7dce1a840c
Fully reverting r203236 -- it seems the only bots that are happy are the MSVC bots.
...
llvm-svn: 203237
2014-03-07 13:13:38 +00:00
Aaron Ballman
690829696c
[C++11] Replacing iterators attr_begin() and attr_end() with iterator_range attrs(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203236
2014-03-07 12:50:00 +00:00
Benjamin Kramer
bbdd7640e8
[C++11] Replace verbose functors with succinct lambdas
...
No functionality change.
llvm-svn: 202590
2014-03-01 14:48:57 +00:00
Anders Carlsson
382ba41c48
When completing Objective-C instance method invocations, perform a contextual conversion to an Objective-C pointer type of the target expression if needed. This fixes code completion of method invocations where the target is a smart pointer that has an explicit conversion operator to an Objective-C type.
...
llvm-svn: 202529
2014-02-28 19:07:22 +00:00
Argyrios Kyrtzidis
7bbb881ad4
[code-completion] Style guideline for Cocoa has custom accessor in property declarations without spaces around '='.
...
rdar://16059171
llvm-svn: 201765
2014-02-20 07:55:15 +00:00
Alp Toker
314cc81b8c
Rename getResultType() on function and method declarations to getReturnType()
...
A return type is the declared or deduced part of the function type specified in
the declaration.
A result type is the (potentially adjusted) type of the value of an expression
that calls the function.
Rule of thumb:
* Declarations have return types and parameters.
* Expressions have result types and arguments.
llvm-svn: 200082
2014-01-25 16:55:45 +00:00
Alp Toker
a2794f9f36
Introduce and use Decl::getAsFunction() to simplify templated function checks
...
Lift the getFunctionDecl() utility out of the parser into a general
Decl::getAsFunction() and use it to simplify other parts of the implementation.
Reduce isFunctionOrFunctionTemplate() to a simple type check that works the
same was as the other is* functions and move unwrapping of shadowed decls to
callers so it doesn't get run twice.
Shuffle around canSkipFunctionBody() to reduce virtual dispatch on ASTConsumer.
There's no need to query when we already know the body can't be skipped.
llvm-svn: 199794
2014-01-22 07:29:52 +00:00
Alp Toker
b3fd5cfa81
Update FunctionTypeLoc and related names to match r199686
...
llvm-svn: 199699
2014-01-21 00:32:38 +00:00
Alp Toker
9cacbabd33
Rename FunctionProtoType accessors from 'arguments' to 'parameters'
...
Fix a perennial source of confusion in the clang type system: Declarations and
function prototypes have parameters to which arguments are supplied, so calling
these 'arguments' was a stretch even in C mode, let alone C++ where default
arguments, templates and overloading make the distinction important to get
right.
Readability win across the board, especially in the casting, ADL and
overloading implementations which make a lot more sense at a glance now.
Will keep an eye on the builders and update dependent projects shortly.
No functional change.
llvm-svn: 199686
2014-01-20 20:26:09 +00:00
Aaron Ballman
4a97967b5f
It turns out the problem was a bit more wide-spread. Removing a lot of unneeded typecasts. getScopeRep() already returns a NestedNameSpecifier.
...
No functional changes intended.
llvm-svn: 198414
2014-01-03 13:56:08 +00:00
Ted Kremenek
c37877d7a4
Convert anachronistic use of 'void *' to 'DeclContext *' in Scope that was a holdover from the long-dead Action interface.
...
llvm-svn: 192203
2013-10-08 17:08:03 +00:00
Richard Smith
541b38be7b
Switch the semantic DeclContext for a block-scope declaration of a function or
...
variable from being the function to being the enclosing namespace scope (in
C++) or the TU (in C). This allows us to fix a selection of related issues
where we would build incorrect redeclaration chains for such declarations, and
fail to notice type mismatches.
Such declarations are put into a new IdentifierNamespace, IDNS_LocalExtern,
which is only found when searching scopes, and not found when searching
DeclContexts. Such a declaration is only made visible in its DeclContext if
there are no non-LocalExtern declarations.
llvm-svn: 191064
2013-09-20 01:15:31 +00:00
Serge Pavlov
9ddb76e201
Cleanup of OpaquePtr. No functionality changes.
...
- Some documenation were added.
- Usages of OpaquePtr<A>.getAsVal<A>() were replaced by OpaquePtr<A>.get().
- Methods getAs and getAsVal were renamed to getPtrTo and getPtrAs respectively.
llvm-svn: 189346
2013-08-27 13:15:56 +00:00
Robert Wilhelm
25284cc95b
Use pop_back_val() instead of both back() and pop_back().
...
No functionality change intended.
llvm-svn: 189112
2013-08-23 16:11:15 +00:00
Robert Wilhelm
16e94b91ef
Omit llvm:: before ArrayRef, as we have using llvm::ArrayRef in include/clang/Basic/LLVM.h.
...
llvm-svn: 188089
2013-08-09 18:02:13 +00:00
Daniel Jasper
07e6c407bc
Add option to disable module loading.
...
This patch was created by Lawrence Crowl and reviewed in:
http://llvm-reviews.chandlerc.com/D963
llvm-svn: 187738
2013-08-05 20:26:17 +00:00
Benjamin Kramer
eb8c4463c2
Compress pairs. No functionality change.
...
llvm-svn: 185264
2013-06-29 17:52:13 +00:00
Dmitri Gribenko
27cb3dd085
ArrayRef'ize Sema::CodeCompleteConstructorInitializer
...
Patch by Robert Wilhelm.
llvm-svn: 184675
2013-06-23 22:58:02 +00:00
Dmitri Gribenko
070a10e63a
ArrayRef'ize Sema::CodeComplete*
...
Patch by Robert Wilhelm.
llvm-svn: 184052
2013-06-16 03:47:57 +00:00
Argyrios Kyrtzidis
345d05fbbe
[libclang] For "@import .." code-completion results, associate a CXCursor_ModuleImportDecl cursor instead of CXCursor_NotImplemented.
...
llvm-svn: 182871
2013-05-29 18:50:15 +00:00
Argyrios Kyrtzidis
d3da6e01e8
Enhance the ObjC global method pool to record whether there were 0, 1, or >= 2 methods (with a particular selector) inside categories.
...
This is done by extending ObjCMethodList (which is only used by the global method pool) to have 2 extra bits of information.
We will later take advantage of this info in global method pool for the overridden methods calculation.
llvm-svn: 179652
2013-04-17 00:08:58 +00:00
Richard Smith
b4a9e86877
Parsing support for thread_local and _Thread_local. We give them the same
...
semantics as __thread for now.
llvm-svn: 179424
2013-04-12 22:46:28 +00:00
Rafael Espindola
6ae7e50be4
Add 178663 back.
...
http://lab.llvm.org:8011/builders/clang-x86_64-darwin10-gdb went back green
before it processed the reverted 178663, so it could not have been the culprit.
Revert "Revert 178663."
This reverts commit 4f8a3eb2ce5d4ba422483439e20c8cbb4d953a41.
llvm-svn: 178682
2013-04-03 19:27:57 +00:00
Rafael Espindola
985a3abee4
Revert 178663.
...
Looks like it broke http://lab.llvm.org:8011/builders/clang-x86_64-darwin10-gdb
Revert "Don't compute a patched/semantic storage class."
This reverts commit 8f187f62cb0487d31bc4afdfcd47e11fe9a51d05.
llvm-svn: 178681
2013-04-03 19:22:20 +00:00
Rafael Espindola
adea16bd9e
Don't compute a patched/semantic storage class.
...
For variables and functions clang used to store two storage classes. The one
"as written" in the code and a patched one, which, for example, propagates
static to the following decls.
This apparently is from the days clang lacked linkage computation. It is now
redundant and this patch removes it.
llvm-svn: 178663
2013-04-03 15:50:00 +00:00