Home | History | Annotate | Download | only in docs
      1 =====================================
      2 Clang 3.8 (In-Progress) Release Notes
      3 =====================================
      4 
      5 .. contents::
      6    :local:
      7    :depth: 2
      8 
      9 Written by the `LLVM Team <http://llvm.org/>`_
     10 
     11 .. warning::
     12 
     13    These are in-progress notes for the upcoming Clang 3.8 release. You may
     14    prefer the `Clang 3.7 Release Notes
     15    <http://llvm.org/releases/3.7.0/tools/clang/docs/ReleaseNotes.html>`_.
     16 
     17 Introduction
     18 ============
     19 
     20 This document contains the release notes for the Clang C/C++/Objective-C
     21 frontend, part of the LLVM Compiler Infrastructure, release 3.8. Here we
     22 describe the status of Clang in some detail, including major
     23 improvements from the previous release and new feature work. For the
     24 general LLVM release notes, see `the LLVM
     25 documentation <http://llvm.org/docs/ReleaseNotes.html>`_. All LLVM
     26 releases may be downloaded from the `LLVM releases web
     27 site <http://llvm.org/releases/>`_.
     28 
     29 For more information about Clang or LLVM, including information about
     30 the latest release, please check out the main please see the `Clang Web
     31 Site <http://clang.llvm.org>`_ or the `LLVM Web
     32 Site <http://llvm.org>`_.
     33 
     34 Note that if you are reading this file from a Subversion checkout or the
     35 main Clang web page, this document applies to the *next* release, not
     36 the current one. To see the release notes for a specific release, please
     37 see the `releases page <http://llvm.org/releases/>`_.
     38 
     39 What's New in Clang 3.8?
     40 ========================
     41 
     42 Some of the major new features and improvements to Clang are listed
     43 here. Generic improvements to Clang as a whole or to its underlying
     44 infrastructure are described first, followed by language-specific
     45 sections with improvements to Clang's support for those languages.
     46 
     47 Major New Features
     48 ------------------
     49 
     50 - Feature1...
     51 
     52 Improvements to Clang's diagnostics
     53 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     54 
     55 Clang's diagnostics are constantly being improved to catch more issues,
     56 explain them more clearly, and provide more accurate source information
     57 about them. The improvements since the 3.7 release include:
     58 
     59 -  ...
     60 
     61 New Compiler Flags
     62 ------------------
     63 
     64 The option ....
     65 
     66 
     67 New Pragmas in Clang
     68 -----------------------
     69 
     70 Clang now supports the ...
     71 
     72 Windows Support
     73 ---------------
     74 
     75 Clang's support for building native Windows programs ...
     76 
     77 
     78 C Language Changes in Clang
     79 ---------------------------
     80 
     81 ...
     82 
     83 C11 Feature Support
     84 ^^^^^^^^^^^^^^^^^^^
     85 
     86 ...
     87 
     88 C++ Language Changes in Clang
     89 -----------------------------
     90 
     91 - ...
     92 
     93 C++11 Feature Support
     94 ^^^^^^^^^^^^^^^^^^^^^
     95 
     96 ...
     97 
     98 Objective-C Language Changes in Clang
     99 -------------------------------------
    100 
    101 ...
    102 
    103 OpenCL C Language Changes in Clang
    104 ----------------------------------
    105 
    106 ...
    107 
    108 Internal API Changes
    109 --------------------
    110 
    111 These are major API changes that have happened since the 3.7 release of
    112 Clang. If upgrading an external codebase that uses Clang as a library,
    113 this section should help get you past the largest hurdles of upgrading.
    114 
    115 -  ...
    116 
    117 AST Matchers
    118 ------------
    119 The AST matcher functions were renamed to reflect the exact AST node names,
    120 which is a breaking change to AST matching code. The following matchers were
    121 affected:
    122 
    123 =======================	============================
    124 Previous Matcher Name	New Matcher Name
    125 =======================	============================
    126 recordDecl		recordDecl and cxxRecordDecl
    127 ctorInitializer		cxxCtorInitializer
    128 constructorDecl		cxxConstructorDecl
    129 destructorDecl		cxxDestructorDecl
    130 methodDecl		cxxMethodDecl
    131 conversionDecl		cxxConversionDecl
    132 memberCallExpr		cxxMemberCallExpr
    133 constructExpr		cxxConstructExpr
    134 unresolvedConstructExpr	cxxUnresolvedConstructExpr
    135 thisExpr		cxxThisExpr
    136 bindTemporaryExpr	cxxBindTemporaryExpr
    137 newExpr			cxxNewExpr
    138 deleteExpr		cxxDeleteExpr
    139 defaultArgExpr		cxxDefaultArgExpr
    140 operatorCallExpr	cxxOperatorCallExpr
    141 forRangeStmt		cxxForRangeStmt
    142 catchStmt		cxxCatchStmt
    143 tryStmt			cxxTryStmt
    144 throwExpr		cxxThrowExpr
    145 boolLiteral		cxxBoolLiteral
    146 nullPtrLiteralExpr	cxxNullPtrLiteralExpr
    147 reinterpretCastExpr	cxxReinterpretCastExpr
    148 staticCastExpr		cxxStaticCastExpr
    149 dynamicCastExpr		cxxDynamicCastExpr
    150 constCastExpr		cxxConstCastExpr
    151 functionalCastExpr	cxxFunctionalCastExpr
    152 temporaryObjectExpr	cxxTemporaryObjectExpr
    153 CUDAKernalCallExpr	cudaKernelCallExpr
    154 =======================	============================
    155 
    156 recordDecl() previously matched AST nodes of type CXXRecordDecl, but now
    157 matches AST nodes of type RecordDecl. If a CXXRecordDecl is required, use the
    158 cxxRecordDecl() matcher instead.
    159 
    160 ...
    161 
    162 libclang
    163 --------
    164 
    165 ...
    166 
    167 Static Analyzer
    168 ---------------
    169 
    170 ...
    171 
    172 Core Analysis Improvements
    173 ==========================
    174 
    175 - ...
    176 
    177 New Issues Found
    178 ================
    179 
    180 - ...
    181 
    182 Python Binding Changes
    183 ----------------------
    184 
    185 The following methods have been added:
    186 
    187 -  ...
    188 
    189 Significant Known Problems
    190 ==========================
    191 
    192 Additional Information
    193 ======================
    194 
    195 A wide variety of additional information is available on the `Clang web
    196 page <http://clang.llvm.org/>`_. The web page contains versions of the
    197 API documentation which are up-to-date with the Subversion version of
    198 the source code. You can access versions of these documents specific to
    199 this release by going into the "``clang/docs/``" directory in the Clang
    200 tree.
    201 
    202 If you have any questions or comments about Clang, please feel free to
    203 contact us via the `mailing
    204 list <http://lists.llvm.org/mailman/listinfo/cfe-dev>`_.
    205