Skip to content
  1. May 03, 2012
    • Richard Trieu's avatar
      Fix a note without a SourceLocation. · 2cdcf823
      Richard Trieu authored
      #define TEST int y; int x = y;
      void foo() {
        TEST
      }
      
      -Wuninitialized gives this warning:
      invalid-loc.cc:4:3: warning: variable 'y' is uninitialized when used here
            [-Wuninitialized]
        TEST
        ^~~~
      invalid-loc.cc:2:29: note: expanded from macro 'TEST'
      #define TEST int y; int x = y;
                                  ^
      note: initialize the variable 'y' to silence this warning
      1 warning generated.
      
      The second note lacks filename, line number, and code snippet.  This change
      will remove the fixit and only point to variable declaration.
      
      invalid-loc.cc:4:3: warning: variable 'y' is uninitialized when used here
            [-Wuninitialized]
        TEST
        ^~~~
      invalid-loc.cc:2:29: note: expanded from macro 'TEST'
      #define TEST int y; int x = y;
                                  ^
      invalid-loc.cc:4:3: note: variable 'y' is declared here
        TEST
        ^
      invalid-loc.cc:2:14: note: expanded from macro 'TEST'
      #define TEST int y; int x = y;
                   ^
      1 warning generated.
      
      llvm-svn: 156045
      2cdcf823
  2. Apr 30, 2012
  3. Apr 28, 2012
  4. Mar 26, 2012
  5. Mar 08, 2012
  6. Feb 15, 2012
  7. Feb 07, 2012
    • Benjamin Kramer's avatar
      Revert my patches which removed Diagnostic.h includes by moving some operator... · 7ec12c92
      Benjamin Kramer authored
      Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line.
      
      This seems to negatively affect compile time onsome ObjC tests
      (which use a lot of partial diagnostics I assume). I have to come
      up with a way to keep them inline without including Diagnostic.h
      everywhere. Now adding a new diagnostic requires a full rebuild
      of e.g. the static analyzer which doesn't even use those diagnostics.
      
      This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
      This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
      This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
      This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
      This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
      
      llvm-svn: 150006
      7ec12c92
  8. Feb 04, 2012
  9. Feb 03, 2012
    • Richard Smith's avatar
      Thread safety analysis: · 92286678
      Richard Smith authored
       * When we detect that a CFG block has inconsistent lock sets, point the
         diagnostic at the location where we found the inconsistency, and point a note
         at somewhere the inconsistently-locked mutex was locked.
       * Fix the wording of the normal (non-loop, non-end-of-function) case of this
         diagnostic to not suggest that the mutex is going out of scope.
       * Fix the diagnostic emission code to keep a warning and its note together when
         sorting the diagnostics into source location order.
      
      llvm-svn: 149669
      92286678
  10. Jan 24, 2012
  11. Jan 21, 2012
  12. Jan 13, 2012
    • Richard Smith's avatar
      Improve 0-argument -Wvexing-parse diagnostic by adding notes with fix-its: · 8d06f424
      Richard Smith authored
       - If the declarator is at the start of a line, and the previous line contained
         another declarator and ended with a comma, then that comma was probably a
         typo for a semicolon:
      
         int n = 0, m = 1, l = 2, // k = 5;
         myImportantFunctionCall(); // oops!
      
       - If removing the parentheses would correctly initialize the object, then
         produce a note suggesting that fix.
      
       - Otherwise, if there is a simple initializer we can suggest which performs
         value-initialization, then provide a note suggesting a correction to that
         initializer.
      
      Sema::Declarator now tracks the location of the comma prior to the declarator in
      the declaration, if there is one, to facilitate providing the note. The code to
      determine an appropriate initializer from the -Wuninitialized warning has been
      factored out to allow use in both that and -Wvexing-parse.
      
      llvm-svn: 148072
      8d06f424
  13. Dec 20, 2011
  14. Dec 08, 2011
  15. Dec 01, 2011
  16. Nov 30, 2011
    • Ted Kremenek's avatar
      Don't run -Wunreachable-code on template instantiations. Different... · 7f770032
      Ted Kremenek authored
      Don't run -Wunreachable-code on template instantiations.  Different instantiations may produce different unreachable code results, and it is very difficult for us to prove that ALL instantiations of a template have specific unreachable code.  If we come up with a better solution, then we can revisit this, but this approach will at least greatly reduce the noise of this warning for code that makes use of templates.
      
      llvm-svn: 145520
      7f770032
  17. Oct 24, 2011
  18. Oct 23, 2011
  19. Oct 21, 2011
  20. Oct 19, 2011
  21. Oct 13, 2011
  22. Oct 10, 2011
  23. Sep 26, 2011
  24. Sep 15, 2011
  25. Sep 14, 2011
  26. Sep 13, 2011
  27. Sep 10, 2011
  28. Sep 09, 2011
  29. Sep 08, 2011
Loading