summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
Commit message (Collapse)AuthorAgeFilesLines
...
* [OPENMP] Initial support for 'sections' directive.Alexey Bataev2014-06-251-0/+10
| | | | llvm-svn: 211685
* [OPENMP] Initial support for 'nowait' clause.Alexey Bataev2014-06-201-0/+7
| | | | llvm-svn: 211352
* [OPENMP] Initial support for 'ordered' clause.Alexey Bataev2014-06-201-0/+7
| | | | llvm-svn: 211347
* [OPENMP] Initial support for 'schedule' clause.Alexey Bataev2014-06-201-0/+26
| | | | llvm-svn: 211342
* Fix assertion hit or bogus compiler error in cases when instantiating ObjC ↵Argyrios Kyrtzidis2014-06-191-0/+18
| | | | | | | | property accesses used with overloaded binary operators. rdar://17153478 llvm-svn: 211270
* [OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with ↵Alexey Bataev2014-06-181-0/+10
| | | | | | MSVC). llvm-svn: 211140
* Revert "[OPENMP] Initial support for '#pragma omp for'."Rafael Espindola2014-06-171-10/+0
| | | | | | | | This reverts commit r211096. Looks like it broke the msvc build: SemaOpenMP.cpp(140) : error C4519: default template arguments are only allowed on a class template llvm-svn: 211113
* [OPENMP] Initial support for '#pragma omp for'.Alexey Bataev2014-06-171-0/+10
| | | | llvm-svn: 211096
* [OPENMP] Initial support of 'reduction' clauseAlexey Bataev2014-06-161-6/+49
| | | | llvm-svn: 211007
* Recover from missing 'typename' in sizeof(T::InnerType)Reid Kleckner2014-06-121-25/+62
| | | | | | | | | | | | | | | | | | | | | | Summary: 'sizeof' is a UnaryExprOrTypeTrait, and it can contain either a type or an expression. This change threads a RecoveryTSI parameter through the layers between TransformUnaryExprOrTypeTrait the point at which we look up the type. If lookup finds a single type result after instantiation, we now build TypeSourceInfo for it just like a normal transformation would. This fixes the last error in the hello world ATL app that I've been working with, and it now links and runs with clang. Please try it and file bugs! Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4108 llvm-svn: 210855
* Retain an expression pack expansion when the parameter pack expansion code asksRichard Smith2014-06-061-2/+27
| | | | | | us to. llvm-svn: 210355
* [OPENMP] Parsing/Sema for OMPLasprivateClause.Alexander Musman2014-06-041-0/+27
| | | | | | Parsing this clause, allowing it on directive ‘omp simd’ and semantic checks. llvm-svn: 210184
* [OPENMP] Small comment and reformatting fixes.Alexander Musman2014-06-041-74/+60
| | | | | | | | | Fix post-commit review comments by Carlo Bertolli for commit r209660 - OMP collapse clause. Re-formatted TransformOMP* functions in TreeTransform.h with clang-format. llvm-svn: 210169
* Refactor: use the DeclarationNameInfo form of BuildMemberReferenceExprRichard Smith2014-05-311-47/+13
| | | | | | | consistently, rather than sometimes performing lookup and calling the LookupResult form. No functionality change intended. llvm-svn: 209941
* Parsing/Sema for OMPAlignedClause.Alexander Musman2014-05-291-0/+32
| | | | llvm-svn: 209816
* Refactoring. Remove Owned method from Sema.Nikola Smiljanic2014-05-291-118/+111
| | | | llvm-svn: 209812
* Refactoring. Remove release and take methods from ActionResult. Rename ↵Nikola Smiljanic2014-05-291-51/+51
| | | | | | takeAs to getAs. llvm-svn: 209800
* Parsing/Sema for OMPCollapseClause.Alexander Musman2014-05-271-0/+21
| | | | | | Actual usage in Sema for collapsing loops will in some future patch. llvm-svn: 209660
* [C++11] Use 'nullptr'. Sema edition.Craig Topper2014-05-261-124/+127
| | | | llvm-svn: 209613
* [OPENMP] Initial codegen for '#pragma omp parallel'Alexey Bataev2014-05-061-3/+16
| | | | llvm-svn: 208077
* [OPENMP] 'proc_bind' clause support - Parsing and sema analysis for OpenMP ↵Alexey Bataev2014-05-061-0/+23
| | | | | | clause 'proc_bind' llvm-svn: 208060
* Fix a bunch of mislayered clang/Lex includes from SemaAlp Toker2014-05-031-8/+6
| | | | llvm-svn: 207896
* Rewrite NRVO determination. Track NRVO candidates on the parser Scope and ↵Nick Lewycky2014-05-031-1/+1
| | | | | | | | apply the NRVO candidate flag to all possible NRVO candidates here, and remove the flags in computeNRVO or upon template instantiation. A variable now has NRVO applied if and only if every return statement in that scope returns that variable. This is nearly optimal. Performs NRVO roughly 7% more often in a bootstrap build of clang. Patch co-authored by Richard Smith. llvm-svn: 207890
* [OPENMP] parsing 'linear' clause (for directive 'omp simd')Alexander Musman2014-04-221-0/+32
| | | | | | Differential Revision: http://reviews.llvm.org/D3272 llvm-svn: 206891
* Implement [over.match.oper]p3 properly, by filtering the non-candidates outRichard Smith2014-04-171-5/+1
| | | | | | | when building the candidate set, rather than trying to contort name lookup into handling this. llvm-svn: 206436
* PR19452: Implement more of [over.match.oper]p3's restrictions on which ↵Richard Smith2014-04-171-3/+4
| | | | | | non-member overloaded operators can be found when no operand is of class type. We used to fail to implement this rule if there was an operand of dependent type. llvm-svn: 206435
* [OPENMP][C++11] Renamed loop vars properly.Alexey Bataev2014-04-041-8/+8
| | | | llvm-svn: 205620
* [OPENMP] Small update for C++11Alexey Bataev2014-04-031-4/+2
| | | | llvm-svn: 205506
* [OPENMP] Implemented 'copyin' clauseAlexey Bataev2014-03-311-0/+31
| | | | llvm-svn: 205164
* [OPENMP] parsing of clause 'safelen' (for directive 'omp simd')Alexey Bataev2014-03-211-0/+20
| | | | llvm-svn: 204428
* [C++11] Replacing CompoundStmt iterators body_begin() and body_end() with ↵Aaron Ballman2014-03-171-5/+4
| | | | | | iterator_range body(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 204040
* [C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with ↵Aaron Ballman2014-03-141-3/+2
| | | | | | iterator_range captures(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203958
* [C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with ↵Aaron Ballman2014-03-141-5/+3
| | | | | | iterator_range decls(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203947
* [C++11] Replacing OMPThreadPrivateDecl and OMPClause iterators ↵Aaron Ballman2014-03-141-12/+6
| | | | | | varlist_begin() and varlist_end() with iterator_range varlists(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203937
* Add SourceRange to err_not_tag_in_scope diagnostic in ↵Stephan Tolksdorf2014-03-131-2/+1
| | | | | | | | | | | | | TreeTransform<...>::RebuildDependentNameType Apparently the FIXME was overlooked when the source location information was made available to the function. Reviewed By: rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D3058 llvm-svn: 203845
* [C++11] Replacing UsingDecl iterators shadow_begin() and shadow_end() with ↵Aaron Ballman2014-03-131-6/+4
| | | | | | iterator_range shadows(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203825
* Another one fix for getSema()/getDerived().getSema()Alexey Bataev2014-03-071-1/+1
| | | | llvm-svn: 203196
* Fixed getSema()/getDerived().getSema() diff pointed by Hal Finkel.Alexey Bataev2014-03-071-1/+1
| | | | llvm-svn: 203195
* [OPENMP] Updated comments and _OPENMP macro value for OpenMP 4.0 (for 'omp ↵Alexey Bataev2014-03-061-0/+4
| | | | | | simd' support) llvm-svn: 203114
* [OPENMP] Clause 'num_threads'Alexey Bataev2014-03-061-0/+24
| | | | llvm-svn: 203087
* [OPNEMP] Fixed instantiation of 'if' clauseAlexey Bataev2014-03-051-1/+4
| | | | llvm-svn: 202940
* [OPENMP] First changes for Parsing and Sema for 'omp simd' directive supportAlexey Bataev2014-02-271-18/+35
| | | | llvm-svn: 202360
* [OPENMP] 'if' clause support (no CodeGen support)Alexey Bataev2014-02-131-0/+19
| | | | llvm-svn: 201297
* Allow transformation of VariableArray to ConstantArray.Serge Pavlov2014-02-061-1/+3
| | | | | | | | | | | | | | | | | In the following code: struct A { static const int sz; }; template<class T> void f() { T arr[A::sz]; } the array 'arr' is represented as a variable size array in the template. If 'A::sz' gets value below in the translation unit, the array in instantiation can turn into constant size array. This change fixes PR18633. Differential Revision: http://llvm-reviews.chandlerc.com/D2688 llvm-svn: 200899
* Rename getResultLoc() tooAlp Toker2014-01-251-3/+3
| | | | | | | | Follow up to r200082. Spotted by Dmitri llvm-svn: 200105
* Rename getResultType() on function and method declarations to getReturnType()Alp Toker2014-01-251-9/+6
| | | | | | | | | | | | | | | 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
* PR18560: When switching to a new context, don't just save and restore anRichard Smith2014-01-241-1/+2
| | | | | | | override for the type of 'this', also clear it out (unless we're entering the context of a lambda-expression, where it should be inherited). llvm-svn: 199962
* Update FunctionTypeLoc and related names to match r199686Alp Toker2014-01-211-5/+5
| | | | llvm-svn: 199699
* Rename FunctionProtoType accessors from 'arguments' to 'parameters'Alp Toker2014-01-201-14/+10
| | | | | | | | | | | | | | | | | 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
* Eliminate UnaryTypeTraitExprAlp Toker2014-01-011-28/+0
| | | | | | | | | | | | | Remove UnaryTypeTraitExpr and switch all remaining type trait related handling over to TypeTraitExpr. The UTT/BTT/TT enum prefix and evaluation code is retained pending further cleanup. This is part of the ongoing work to unify type traits following the removal of BinaryTypeTraitExpr in r197273. llvm-svn: 198271
OpenPOWER on IntegriCloud