[cfe-commits] r145298 - /cfe/trunk/docs/ReleaseNotes.html

Chandler Carruth chandlerc at gmail.com
Mon Nov 28 14:35:00 PST 2011


Author: chandlerc
Date: Mon Nov 28 16:34:59 2011
New Revision: 145298

URL: http://llvm.org/viewvc/llvm-project?rev=145298&view=rev
Log:
Expand and clean up the diagnostics section.

Modified:
    cfe/trunk/docs/ReleaseNotes.html

Modified: cfe/trunk/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.html?rev=145298&r1=145297&r2=145298&view=diff
==============================================================================
--- cfe/trunk/docs/ReleaseNotes.html (original)
+++ cfe/trunk/docs/ReleaseNotes.html Mon Nov 28 16:34:59 2011
@@ -104,17 +104,6 @@
   compiler crashes -- Chad</li>
   <li>OS Availability attribute -- r128127</li>
   <li>GNU ObjectiveC Runtime support -- David Chisnall</li>
-  <li>Diagnostic improvements bucket?
-    <ul>
-      <li>Emitting fewer include stacks</li>
-      <li>Significantly better recovery when encountering misspelled type names
-      in a declaration context. r130082</li>
-      <li>Expanded typo correction, most especially namespace-aware typo
-      correction in C++</li>
-      <li>Significantly more rich diagnostics w.r.t. macro expansion backtraces,
-      especially when macro arguments are involved.</li>
-    </ul>
-  </li>
   <li>libclang improvements bucket
     <ul>
       <li>Better Python Bindings</li>
@@ -145,6 +134,31 @@
   deserializing the AST and the preprocessor -- argiris</li>
 </ul>
 
+<h4 id="diagnostics">A multitude of improvements to Clang's diagnostics</h4>
+Clang's diagnostics are constantly being improved to catch more issues, explain
+them more clearly, and provide more accurate source information about them.
+A few improvements since the 2.9 release that have a particularly high impact:
+<ul>
+  <li>Substantially shorter messages due to better recovery, fewer include
+  stacks, and tuning verbose features such as 'a.k.a.' type printing.</li>
+  <li>
+    Able to recover and correct from misspelled type names at the begging of statements. For example, Clang now emits:
+    <code>t.c:6:3: error: use of undeclared identifier 'integer'; did you mean
+'Integer'?
+  integer *i = 0;
+  ^~~~~~~
+  Integer
+t.c:1:13: note: 'Integer' declared here
+typedef int Integer;
+            ^</code>
+  </li>
+  <li>Expanded typo correction to (among other improvements) look across
+  namespaces and suggest namespace qualifiers in addition to misspellings of the
+  identifier itself.</li>
+  <li>More rich macro expansion backtraces and some (limited) fix-it hints when
+  diagnostics stem from macro arguments.</li>
+</ul>
+
 <h4 id="driver">The Clang GCC-compatible command-line driver improved dramatically</h4>
 A great deal of work went into the GCC-compatible driver for the 3.0 release
 making it support more operating systems, emulate GCC behavior more accurately,





More information about the cfe-commits mailing list