Ericsson / clang

Cross Translation Unit analysis capability for Clang Static Analyzer. (Fork of official clang at http://llvm.org/git/clang)
http://clang.llvm.org/
Other
15 stars 10 forks source link

Review clang/master branch status on open source projects #621

Closed dkrupp closed 5 years ago

dkrupp commented 5 years ago

in practice: make the /job/upstream%20master%20tests/ work.

The goal is that TMUX is analyzed without crash and error using scan build. Identify the open source patched needed for this.

dkrupp commented 5 years ago

recreate logs with scan build. apply error->warning patch https://reviews.llvm.org/D58897

dkrupp commented 5 years ago

Endre will try to fix CodeChecker to work with clang-master.

dkrupp commented 5 years ago

-curl still has 3 crashes tmux, vim, redis

gamesh411 commented 5 years ago

tmux: 122 / 144 vim: 84 / 41 redis: too many missing files errors main cause of crashes: clang::SourceManager::isBeforeInTranslationUnit

dkrupp commented 5 years ago

try to find the reason for the source location related problem

gamesh411 commented 5 years ago

example in tmux 2.8: conflicting locations:

/compat/tree.h:721:9

//...
721 #define RB_FIND(name, x, y) name##_RB_FIND(x, y)
//...

/arguments.c:56:10

//...
 49 /* Find a flag in the arguments tree. */
 50 static struct args_entry *
 51 args_find(struct args *args, u_char ch)
 52 {
 53   struct args_entry>entry; 
 54
 55   entry.flag = ch;
 56   return (RB_FIND(args_tree, &args->tree, &entry));
 57 }
//...

These locations are reported to be uncomparable. RB_FIND macro definition seems to be the problem.