Rafael Espindola
d87f8d76e0
Update for LLVM api change.
...
llvm-svn: 216585
2014-08-27 20:03:29 +00:00
Argyrios Kyrtzidis
a2a1e53085
[libclang] Fixup the cursor spelling range for C++ destructors, operator overloads, and conversion functions.
...
Patch by Craig Tenenbaum!
llvm-svn: 216480
2014-08-26 20:23:26 +00:00
Alexander Musman
3aaab669c8
[OPENMP] Extract common superclass from all the loop directives. No functional changes (having common superclass is convenient for future loop directives CodeGen implementation)
...
llvm-svn: 215975
2014-08-19 11:27:13 +00:00
Argyrios Kyrtzidis
ac3997eb52
[libclang] Introduce clang_File_isEqual for comparing CXFile handles.
...
llvm-svn: 215796
2014-08-16 00:26:19 +00:00
David Blaikie
6f7382ddd1
std::unique_ptr-ify the result of ASTUnit::LoadFromASTFile
...
llvm-svn: 215320
2014-08-10 19:08:04 +00:00
Eli Bendersky
9b07147fc9
Expose the CUDA shared attribute to the C API.
...
Similar to r209767, which exposed other CUDA-related attributes.
Patch by Rob Springer.
llvm-svn: 215208
2014-08-08 14:59:00 +00:00
Eli Bendersky
7975959569
Add IR Mangler for more stable mangling.
...
llvm-svn: 214520
2014-08-01 15:01:10 +00:00
Eli Bendersky
44a206f829
Exposes a C API to name mangling for a given cursor.
...
Inspired by https://gist.github.com/tritao/2766291 , and was previously discussed
on cfe-dev: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-June/037577.html
Adding testing capability via c-index-test.
llvm-svn: 214410
2014-07-31 18:04:56 +00:00
Alexey Bataev
82bad8b026
[OPENMP] Initial parsing and sema analysis for clause 'seq_cst' of 'atomic' directive.
...
llvm-svn: 213846
2014-07-24 08:55:34 +00:00
Alexey Bataev
459dec0ca2
[OPENMP] Initial parsing and sema analysis for clause 'capture' in 'atomic' directive.
...
llvm-svn: 213842
2014-07-24 06:46:57 +00:00
Alexey Bataev
67a4f22f12
[OPENMP] Initial parsing and sema analysis for 'update' clause of 'atomic' directive.
...
llvm-svn: 213735
2014-07-23 10:25:33 +00:00
Alexey Bataev
dea4761c06
[OPENMP] Initial parsing an sema analysis for 'write' clause of 'atomic' directive.
...
llvm-svn: 213728
2014-07-23 07:46:59 +00:00
Alexey Bataev
f98b00c33e
[OPENMP] Initial parsing and sema analysis for 'read' clause in 'atomic' directive.
...
llvm-svn: 213717
2014-07-23 02:27:21 +00:00
Alexey Bataev
0162e459ef
[OPENMP] Initial parsing and sema analysis for 'atomic' directive.
...
llvm-svn: 213639
2014-07-22 10:10:35 +00:00
Alexey Bataev
9fb6e647e7
[OPENMP] Initial parsing and sema analysis for 'ordered' directive.
...
llvm-svn: 213616
2014-07-22 06:45:04 +00:00
Alexey Bataev
6125da9258
[OPENMP] Initial parsing and sema analysis for 'flush' directive.
...
llvm-svn: 213512
2014-07-21 11:26:11 +00:00
Alexander Musman
d9ed09f7a5
[OPENMP] Parsing/Sema of the OpenMP directive 'critical'.
...
llvm-svn: 213510
2014-07-21 09:42:05 +00:00
Alexey Bataev
2df347ad96
[OPENMP] Initial parsing and sema analysis for 'taskwait' directive.
...
llvm-svn: 213363
2014-07-18 10:17:07 +00:00
Alexey Bataev
4d1dfeabc9
[OPENMP] Initial parsing and sema analysis for 'barrier' directive.
...
llvm-svn: 213360
2014-07-18 09:11:51 +00:00
Alexey Bataev
68446b7253
[OPENMP] Initial parsing and sema analysis of 'taskyield' directive.
...
llvm-svn: 213355
2014-07-18 07:47:19 +00:00
Alexey Bataev
74ba3a5880
[OPENMP] Initial parsing and sema analysis of 'mergeable' clause.
...
llvm-svn: 213262
2014-07-17 12:47:03 +00:00
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
Alexey Bataev
9c2e8ee72f
[OPENMP] Parsing and sema analysis for 'omp task' directive.
...
llvm-svn: 212804
2014-07-11 11:25:16 +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
Alp Toker
5c53298c1e
libclang: pass return code out argument by reference
...
r212427 formalized the message-passing pattern by making these argument
structures const. This commit changes output arguments to get passed by
reference so we can eliminate mutable fields.
llvm-svn: 212497
2014-07-07 22:42: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
Alp Toker
9d85b18f91
libclang: refactor handling of unsaved_files
...
Consolidate CXUnsavedFile argument handling in API functions to support a wider
cleanup of various file remapping schemes in the frontend.
llvm-svn: 212427
2014-07-07 01:23:14 +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
Alp Toker
1a86ad21d1
libclang: make darwin pthread hacks conditional on LLVM_ENABLE_THREADS
...
Although these aren't strictly related to LLVM's core threading, it's
reasonable to avoid pthread usage in clang when building with
LLVM_ENABLE_THREADS disabled.
llvm-svn: 212395
2014-07-06 06:24:00 +00:00
Alp Toker
f994cef836
Track IntrusiveRefCntPtr::get() changes from LLVM r212366
...
llvm-svn: 212369
2014-07-05 03:08:06 +00:00
David Blaikie
66cc07b4f7
Remove 'const' from MemoryBuffers used through the SourceManager
...
This removes a const_cast added in r211884 that occurred due to an
inconsistency in how MemoryBuffers are handled between some parts of
clang and LLVM.
MemoryBuffers are immutable and the general convention in the LLVM
project is to omit const from immutable types as it's simply
redundant/verbose (see llvm::Type, for example). While this change
doesn't remove "const" from /every/ MemoryBuffer, it at least makes this
chain of ownership/usage consistent.
llvm-svn: 211915
2014-06-27 17:40:03 +00:00
Chandler Carruth
6666074876
Fix a bug in my previous patch by restoring the behavior that the fatal
...
error handler is only registered once.
To avoid the use of std::call_once (the obvious way to do this) I've
wrapped everything up into a managed static and done the work in
a constructor. Silly, but it should be effective.
Some out-of-tree libclang users reported this to me, and I've asked them
to put together a test case which exhibits this behavior, but I wanted
to fix things ASAP since the nature of the fix is straight forward.
llvm-svn: 211905
2014-06-27 16:37:27 +00:00
Chandler Carruth
37ad2582d6
This fixes libclang to cope with the now compile-time multithreaded
...
selection re-enabled in r211900 in LLVM.
The approach (unlike r211121) doesn't rely on std::mutex or
std::call_once to avoid breaknig cygwin bots.
llvm-svn: 211901
2014-06-27 15:14:39 +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
NAKAMURA Takumi
8068b6a2fb
Revert r211121 (and r211285), "Change libclang initialization to use std::call_once instead of"
...
It broke mingw builder and cygwin-clang stage2, possibly lack of tls in <mutex>.
llvm-svn: 211593
2014-06-24 13:50:01 +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
Zachary Turner
10364ca123
Don't call llvm_start_multithreaded() during init. As of LLVM
...
revision r211277, this function is essentially a no-op.
llvm-svn: 211285
2014-06-19 18:03:56 +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
Zachary Turner
f68823ba3f
Change libclang initialization to use std::call_once instead of
...
hand rolled once-initialization, and rename the mutex to be more
descriptive of its actual purpose.
llvm-svn: 211121
2014-06-17 19:57:15 +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
Zachary Turner
18532316f3
Revert "Clang changes to support LLVM removal of runtime multithreading"
...
This reverts r210601.
llvm-svn: 210604
2014-06-10 23:17:11 +00:00