[OpenCL] Add doc to describe OpenCL support

The idea of this page is to document work in progress functionality
and also describe the plan of future development work.

Patch by Anastasia Stulova.

Differential Revision: https://reviews.llvm.org/D69072

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@375111 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/OpenCLSupport.rst b/docs/OpenCLSupport.rst
new file mode 100644
index 0000000..62ba890
--- /dev/null
+++ b/docs/OpenCLSupport.rst
@@ -0,0 +1,47 @@
+.. raw:: html
+
+  <style type="text/css">
+    .none { background-color: #FFCCCC }
+    .partial { background-color: #FFFF99 }
+    .good { background-color: #CCFF99 }
+  </style>
+
+.. role:: none
+.. role:: partial
+.. role:: good
+
+.. contents::
+   :local:
+
+==================
+OpenCL Support
+==================
+
+Clang fully supports all OpenCL C versions from 1.1 to 2.0.
+
+Please refer to `Bugzilla
+<https://bugs.llvm.org/buglist.cgi?component=OpenCL&list_id=172679&product=clang&resolution=--->`_
+for the most up to date bug reports.
+
+
+C++ for OpenCL Implementation Status
+====================================
+
+Bugzilla bugs for this functionality are typically prefixed
+with '[C++]'.
+
+Differences to OpenCL C
+-----------------------
+
+TODO!
+
+Missing features or with limited support
+----------------------------------------
+
+- Use of ObjC blocks is disabled.
+
+- Global destructor invocation is not generated correctly.
+
+- Initialization of objects in `__constant` address spaces is not guaranteed to work.
+
+- `addrspace_cast` operator is not supported.
diff --git a/docs/index.rst b/docs/index.rst
index e6dbecf..493f736 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -41,6 +41,7 @@
    SourceBasedCodeCoverage
    Modules
    MSVCCompatibility
+   OpenCLSupport
    OpenMPSupport
    ThinLTO
    CommandGuide/index