Skip to content
  • Anna Zaks's avatar
    [analyzer] Allow checkers to supply call stack diagnostic hints for the · 1ff57d57
    Anna Zaks authored
    BugVisitor DiagnosticPieces.
    
    When checkers create a DiagnosticPieceEvent, they can supply an extra
    string, which will be concatenated with the call exit message for every
    call on the stack between the diagnostic event and the final bug report.
    (This is a simple version, which could be/will be further enhanced.)
    
    For example, this is used in Malloc checker to produce the ",
    which allocated memory" in the following example:
    
    static char *malloc_wrapper() { // 2. Entered call from 'use'
        return malloc(12);    // 3. Memory is allocated
    }
    
    void use() {
        char *v;
        v = malloc_wrapper(); // 1. Calling 'malloc_wrappers'
            // 4. Returning from 'malloc_wrapper', which allocated memory
    }                         // 5. Memory is never released; potential
    memory leak
    
    llvm-svn: 152837
    1ff57d57
Loading