diff options
Diffstat (limited to 'docs/ReleaseNotes.rst')
| -rw-r--r-- | docs/ReleaseNotes.rst | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst index 8c3f46c648630..18015f8d7c6e5 100644 --- a/docs/ReleaseNotes.rst +++ b/docs/ReleaseNotes.rst @@ -39,12 +39,16 @@ Major New Features - Feature1... Improvements to Clang's diagnostics -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +----------------------------------- Clang's diagnostics are constantly being improved to catch more issues, explain them more clearly, and provide more accurate source information about them. The improvements since the 3.7 release include: +- ``-Wmicrosoft`` has been split into many targeted flags, so that projects can + choose to enable only a subset of these warnings. ``-Wno-microsoft`` still + disables all these warnings, and ``-Wmicrosoft`` still enables them all. + - ... New Compiler Flags @@ -140,7 +144,51 @@ Objective-C Language Changes in Clang OpenCL C Language Changes in Clang ---------------------------------- -... +Several OpenCL 2.0 features have been added, including: + +- Command-line option ``-std=CL2.0``. + +- Generic address space (``__generic``) along with new conversion rules + between different address spaces and default address space deduction. + +- Support for program scope variables with ``__global`` address space. + +- Pipe specifier was added (although no pipe functions are supported yet). + +- Atomic types: ``atomic_int``, ``atomic_uint``, ``atomic_long``, + ``atomic_ulong``, ``atomic_float``, ``atomic_double``, ``atomic_flag``, + ``atomic_intptr_t``, ``atomic_uintptr_t``, ``atomic_size_t``, + ``atomic_ptrdiff_t`` and their usage with C11 style builtin functions. + +- Image types: ``image2d_depth_t``, ``image2d_array_depth_t``, + ``image2d_msaa_t``, ``image2d_array_msaa_t``, ``image2d_msaa_depth_t``, + ``image2d_array_msaa_depth_t``. + +- Other types (for pipes and device side enqueue): ``clk_event_t``, + ``queue_t``, ``ndrange_t``, ``reserve_id_t``. + +Several additional features/bugfixes have been added to the previous standards: + +- A set of floating point arithmetic relaxation flags: ``-cl-no-signed-zeros``, + ``-cl-unsafe-math-optimizations``, ``-cl-finite-math-only``, + ``-cl-fast-relaxed-math``. + +- Added ``^^`` to the list of reserved operations. + +- Improved vector support and diagnostics. + +- Improved diagnostics for function pointers. + +CUDA Support in Clang +--------------------- +Clang has experimental support for end-to-end CUDA compilation now: + +- The driver now detects CUDA installation, creates host and device compilation + pipelines, links device-side code with appropriate CUDA bitcode and produces + single object file with host and GPU code. + +- Implemented target attribute-based function overloading which allows clang to + compile CUDA sources without splitting them into separate host/device TUs. Internal API Changes -------------------- @@ -220,7 +268,7 @@ Several new checks were added: ``-enable-checker optin.performance.Padding``. - The checks to detect misuse of ``_Nonnull`` type qualifiers as well as checks to detect misuse of Objective-C generics were added. -- The analyzer now has opt in checks to detect localization errors in Coca +- The analyzer now has opt in checks to detect localization errors in Cocoa applications. The checks warn about uses of non-localized ``NSStrings`` passed to UI methods expecting localized strings and on ``NSLocalizedString`` macros that are missing the comment argument. These can be enabled by passing |
