[cfe-dev] C99 VLA bug?
Andy Wick
Andy.Wick at corp.aol.com
Wed Dec 30 03:44:29 PST 2009
Thanks for all the hard work, I didn¹t see this in bugzilla but maybe a
known issue. The typedef seems to cause the issue, and unfortunately we use
thru out our project. I¹m using svn 92284
The file:
#include <string.h>
typedef unsigned char Byte;
void doit (char *data, int len) {
if (len) {
Byte buf[len];
memcpy(buf, data, len);
}
}
Compiled with ³clang --analyze t.c²
Gives me:
clang: ASTContext.cpp:2377: clang::QualType
clang::ASTContext::getUnqualifiedArrayType(clang::QualType,
clang::Qualifiers&): Assertion `T.isCanonical() && "Only operates on
canonical types"' failed.
0 clang 0x000000000141b61f
1 clang 0x000000000141be21
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 0x000000000084cb06
7 clang 0x000000000084c9ea
8 clang 0x00000000006bc472
9 clang 0x000000000067d86f
10 clang 0x0000000000677124
11 clang 0x000000000067d99b
12 clang 0x0000000000677124
13 clang 0x000000000067608a
14 clang 0x0000000000676fd4
15 clang 0x000000000067dfe1
16 clang 0x000000000066c068
17 clang 0x000000000066c2d2
18 clang 0x00000000004d8b97
19 clang 0x00000000004d7530
20 clang 0x00000000004d7a15
21 clang 0x00000000006e0136
22 clang 0x00000000004345e0
23 clang 0x0000000000437661 main + 1585
24 libc.so.6 0x0000002a95d4d1d7 __libc_start_main + 215
25 clang 0x000000000043246a
Stack dump:
0. Program arguments: /usr/local/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -analyze -disable-free -main-file-name t.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 138
-fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o t.plist -x c
t.c
1. <eof> parser at end of file
2. t.c:6:9: Error evaluating statement
3. t.c:6:9: Error evaluating statement
4. t.c:6:16: Error evaluating statement
5. t.c:6:16: Error evaluating statement
clang: error: analyzer command failed due to signal 6 (use -v to see
invocation)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20091230/682210c7/attachment.html>
More information about the cfe-dev
mailing list