Alexey Bataev
7aea99a310
[OPENMP] Initial support for parsing and sema analysis of 'untied' clause.
...
llvm-svn: 213257
2014-07-17 12:19:31 +00:00
Alexander Musman
80c2289a03
[OPENMP] Parsing/Sema analysis of directive 'master'
...
llvm-svn: 213237
2014-07-17 08:54:58 +00:00
Alexey Bataev
3778b60176
[OPENMP] Initial parsing and sema analysis for 'final' clause.
...
llvm-svn: 213232
2014-07-17 07:32:53 +00:00
Richard Smith
f8adcdc436
Track the difference between
...
-- a constructor list initialization that unpacked an initializer list into
constructor arguments and
-- a list initialization that created as std::initializer_list and passed it
as the first argument to a constructor
in the AST. Use this flag while instantiating templates to provide the right
semantics for the resulting initialization.
llvm-svn: 213224
2014-07-17 05:12:35 +00:00
Alexey Bataev
9c2e8ee72f
[OPENMP] Parsing and sema analysis for 'omp task' directive.
...
llvm-svn: 212804
2014-07-11 11:25:16 +00:00
Richard Smith
95b83e917e
PR20256: don't accidentally instantiate non-dependent default-initialization as
...
value-initialization.
llvm-svn: 212764
2014-07-10 20:53:43 +00:00
Alexey Bataev
84d0b3efee
[OPENMP] Parsing and sema analysis for 'omp parallel sections' directive.
...
llvm-svn: 212516
2014-07-08 08:12:03 +00:00
Alexey Bataev
4acb859fbd
[OPENMP] Added initial support for 'omp parallel for'.
...
llvm-svn: 212453
2014-07-07 13:01:15 +00:00
Nico Weber
9b982078e9
Add an AST node for __leave statements, hook it up.
...
Codegen is still missing (and I won't work on that), but __leave is now
as implemented as __try and friends.
llvm-svn: 212425
2014-07-07 00:12:30 +00:00
Craig Topper
e3d2ecbe86
Import MutableArrayRef into clang namespace.
...
llvm-svn: 211988
2014-06-28 23:22:33 +00:00
Alexey Bataev
bae9a793fd
[OPENMP] Parsing and sema analysis for 'copyprivate' clause.
...
llvm-svn: 211886
2014-06-27 10:37:06 +00:00
Alexey Bataev
d1e40fbfe1
[OPENMP] Initial parsing and sema analysis for 'single' directive.
...
llvm-svn: 211774
2014-06-26 12:05:45 +00:00
Alexey Bataev
1e0498a92d
[OPENMP] Initial parsing and sema analysis for 'section' directive.
...
llvm-svn: 211767
2014-06-26 08:21:58 +00:00
Alexey Bataev
d3f8dd2d15
[OPENMP] Initial support for 'sections' directive.
...
llvm-svn: 211685
2014-06-25 11:44:49 +00:00
Alexey Bataev
236070f20d
[OPENMP] Initial support for 'nowait' clause.
...
llvm-svn: 211352
2014-06-20 11:19:47 +00:00
Alexey Bataev
142e1fc9ea
[OPENMP] Initial support for 'ordered' clause.
...
llvm-svn: 211347
2014-06-20 09:44:06 +00:00
Alexey Bataev
56dafe87c2
[OPENMP] Initial support for 'schedule' clause.
...
llvm-svn: 211342
2014-06-20 07:16:17 +00:00
Argyrios Kyrtzidis
0f99537eca
Fix assertion hit or bogus compiler error in cases when instantiating ObjC property accesses used with overloaded binary operators.
...
rdar://17153478
llvm-svn: 211270
2014-06-19 14:45:16 +00:00
Alexey Bataev
f29276edb7
[OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with MSVC).
...
llvm-svn: 211140
2014-06-18 04:14:57 +00:00
Rafael Espindola
a566efbec9
Revert "[OPENMP] Initial support for '#pragma omp for'."
...
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
2014-06-17 17:20:53 +00:00
Alexey Bataev
c77dd5257a
[OPENMP] Initial support for '#pragma omp for'.
...
llvm-svn: 211096
2014-06-17 11:49:22 +00:00
Alexey Bataev
c5e025831b
[OPENMP] Initial support of 'reduction' clause
...
llvm-svn: 211007
2014-06-16 07:08:35 +00:00
Reid Kleckner
32506ed8be
Recover from missing 'typename' in sizeof(T::InnerType)
...
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
2014-06-12 23:03:48 +00:00
Richard Smith
9467be4f74
Retain an expression pack expansion when the parameter pack expansion code asks
...
us to.
llvm-svn: 210355
2014-06-06 17:33:35 +00:00
Alexander Musman
1bb328cca5
[OPENMP] Parsing/Sema for OMPLasprivateClause.
...
Parsing this clause, allowing it on directive ‘omp simd’ and semantic checks.
llvm-svn: 210184
2014-06-04 13:06:39 +00:00
Alexander Musman
64d33f1d46
[OPENMP] Small comment and reformatting fixes.
...
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
2014-06-04 07:53:32 +00:00
Richard Smith
a0edd30715
Refactor: use the DeclarationNameInfo form of BuildMemberReferenceExpr
...
consistently, rather than sometimes performing lookup and calling the
LookupResult form. No functionality change intended.
llvm-svn: 209941
2014-05-31 00:18:32 +00:00
Alexander Musman
f0d76e7dc3
Parsing/Sema for OMPAlignedClause.
...
llvm-svn: 209816
2014-05-29 14:36:25 +00:00
Nikola Smiljanic
03ff2596cb
Refactoring. Remove Owned method from Sema.
...
llvm-svn: 209812
2014-05-29 14:05:12 +00:00
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
Alexander Musman
8bd31e69a4
Parsing/Sema for OMPCollapseClause.
...
Actual usage in Sema for collapsing loops will in some future patch.
llvm-svn: 209660
2014-05-27 15:12:19 +00:00
Craig Topper
c3ec149bb2
[C++11] Use 'nullptr'. Sema edition.
...
llvm-svn: 209613
2014-05-26 06:22:03 +00:00
Alexey Bataev
9959db5fa9
[OPENMP] Initial codegen for '#pragma omp parallel'
...
llvm-svn: 208077
2014-05-06 10:08:46 +00:00
Alexey Bataev
bcbadb65ab
[OPENMP] 'proc_bind' clause support - Parsing and sema analysis for OpenMP clause 'proc_bind'
...
llvm-svn: 208060
2014-05-06 06:04:14 +00:00
Alp Toker
b6cc592ea3
Fix a bunch of mislayered clang/Lex includes from Sema
...
llvm-svn: 207896
2014-05-03 03:45:55 +00:00
Nick Lewycky
d78f92fbb2
Rewrite NRVO determination. Track NRVO candidates on the parser Scope and 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
2014-05-03 00:41:18 +00:00
Alexander Musman
8dba66412b
[OPENMP] parsing 'linear' clause (for directive 'omp simd')
...
Differential Revision: http://reviews.llvm.org/D3272
llvm-svn: 206891
2014-04-22 13:09:42 +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
Richard Smith
688866ba3e
PR19452: Implement more of [over.match.oper]p3's restrictions on which 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
2014-04-17 01:12:17 +00:00
Alexey Bataev
444120d4bc
[OPENMP][C++11] Renamed loop vars properly.
...
llvm-svn: 205620
2014-04-04 10:02:14 +00:00
Alexey Bataev
e5d1a405b8
[OPENMP] Small update for C++11
...
llvm-svn: 205506
2014-04-03 02:55:46 +00:00
Alexey Bataev
d48bcd8a46
[OPENMP] Implemented 'copyin' clause
...
llvm-svn: 205164
2014-03-31 03:36:38 +00:00
Alexey Bataev
62c87d2509
[OPENMP] parsing of clause 'safelen' (for directive 'omp simd')
...
llvm-svn: 204428
2014-03-21 04:51:18 +00:00
Aaron Ballman
c7e4e219b5
[C++11] Replacing CompoundStmt iterators body_begin() and body_end() with iterator_range body(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 204040
2014-03-17 14:19:37 +00:00
Aaron Ballman
9371dd2287
[C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203958
2014-03-14 18:34:04 +00:00
Aaron Ballman
535bbcccb1
[C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203947
2014-03-14 17:01:24 +00:00
Aaron Ballman
2205d2a56a
[C++11] Replacing OMPThreadPrivateDecl and OMPClause iterators 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
2014-03-14 15:55:35 +00:00
Stephan Tolksdorf
eb7708d07a
Add SourceRange to err_not_tag_in_scope diagnostic in 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
2014-03-13 20:34:03 +00:00
Aaron Ballman
91cdc28d93
[C++11] Replacing UsingDecl iterators shadow_begin() and shadow_end() with iterator_range shadows(). Updating all of the usages of the iterators with range-based for loops.
...
llvm-svn: 203825
2014-03-13 18:07:29 +00:00
Alexey Bataev
96d1510c61
Another one fix for getSema()/getDerived().getSema()
...
llvm-svn: 203196
2014-03-07 04:16:48 +00:00