diff options
author | George Burgess IV <george.burgess.iv@gmail.com> | 2016-06-27 19:40:41 +0000 |
---|---|---|
committer | George Burgess IV <george.burgess.iv@gmail.com> | 2016-06-27 19:40:41 +0000 |
commit | 4168d758882fe25875503ff5660534e2656455af (patch) | |
tree | 890f2be10018369108f05103aa5462c91279cc33 /lldb/packages/Python/lldbsuite/test/python_api/symbol-context/TestSymbolContext.py | |
parent | a2ca3eda5d9d9ba7270112809e2babef7db3d8aa (diff) | |
download | bcm5719-llvm-4168d758882fe25875503ff5660534e2656455af.tar.gz bcm5719-llvm-4168d758882fe25875503ff5660534e2656455af.zip |
[ExprConstant] Fix PR28314 - crash while evluating objectsize.
This fixes a crash in code like:
```
struct A {
struct B b;
char c[1];
}
int foo(struct A* a) { return __builtin_object_size(a->c, 0); }
```
We wouldn't check whether the structs we were examining were invalid,
and getting the layout of an invalid struct is (unsurprisingly) A Bad
Thing. With this patch, we'll always return conservatively if we see an
invalid struct, since I'm assuming the presence of an invalid struct
means that our compilation failed (so having a conservative result isn't
such a big deal).
llvm-svn: 273911
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/symbol-context/TestSymbolContext.py')
0 files changed, 0 insertions, 0 deletions