[cfe-dev] Feature request & new analyze regression

Andy Wick Andy.Wick at corp.aol.com
Tue Jan 12 06:41:30 PST 2010

Would it be possible to configure check for arc4random function existence,
and if not available turn off the rand function security errors?  (I assume
this is some MacOS function?) Or is there a ­Wno* to turn them off?

Updated to TIP this morning, last update was I think 2 days ago.

void test (void *uw1) {
    unsigned int foo;
    foo = ((long)(uw1));

clang --analyze test.c

clang: SValuator.cpp:119: clang::SValuator::CastResult
clang::SValuator::EvalCast(clang::SVal, const clang::GRState*,
clang::QualType, clang::QualType): Assertion `Loc::IsLocType(castTy)'
0  clang           0x000000000142a77f
1  clang           0x000000000142af81
2  libpthread.so.0 0x0000002a9567f160
3  libc.so.6       0x0000002a95d5f745 gsignal + 69
4  libc.so.6       0x0000002a95d60eb3 abort + 467
5  libc.so.6       0x0000002a95d58dc9
6  clang           0x00000000006c057e
7  clang           0x000000000067efcf
8  clang           0x0000000000679ac4
9  clang           0x0000000000679fe8
10 clang           0x0000000000679a54
11 clang           0x0000000000680bfd
12 clang           0x000000000066e708
13 clang           0x000000000066e972
14 clang           0x00000000004d9b2f
15 clang           0x00000000004d84d0
16 clang           0x00000000004d89b5
17 clang           0x00000000006e39f6
18 clang           0x00000000004347c8
19 clang           0x0000000000437851 main + 1585
20 libc.so.6       0x0000002a95d4d1d7 __libc_start_main + 215
21 clang           0x000000000043263a
Stack dump:
0.    Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -analyze -disable-free -main-file-name test.c
-analyzer-store=region -analyzer-opt-analyze-nested-blocks -warn-dead-stores
-warn-security-syntactic -checker-cfref -analyzer-eagerly-assume
-warn-objc-methodsigs -warn-objc-unused-ivars -analyzer-output plist
-mrelocation-model static -mdisable-fp-elim -munwind-tables -target-cpu
x86-64 -v -resource-dir /usr/local/lib/clang/1.1 -fmessage-length 166
-fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o test.plist -x
c test.c 
1.    <eof> parser at end of file
2.    test.c:3:5: Error evaluating statement
3.    test.c:3:5: Error evaluating statement
4.    test.c:3:11: Error evaluating statement

More information about the cfe-dev mailing list