summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/api/multithreaded/TestMultithreaded.py
diff options
context:
space:
mode:
authorOleg Ranevskyy <oranevskyy@accesssoftek.com>2016-03-30 21:30:30 +0000
committerOleg Ranevskyy <oranevskyy@accesssoftek.com>2016-03-30 21:30:30 +0000
commitb88d2474dfdc9f92b3e859f90d065a8a8e1d4350 (patch)
treedfb07cd95b96a44996e8e76bd16f8fec2aa6aa8a /lldb/packages/Python/lldbsuite/test/api/multithreaded/TestMultithreaded.py
parentef0fe1eed827ba8f9c6d76200821dc24ec6f038f (diff)
downloadbcm5719-llvm-b88d2474dfdc9f92b3e859f90d065a8a8e1d4350.tar.gz
bcm5719-llvm-b88d2474dfdc9f92b3e859f90d065a8a8e1d4350.zip
[Clang][ARM] __va_list declaration is not saved in ASTContext causing compilation error or crash
Summary: When the code is compiled for arm32 and the builtin `__va_list` declaration is created by `CreateAAPCSABIBuiltinVaListDecl`, the declaration is not saved in the `ASTContext` which may lead to a compilation error or crash. Minimal reproducer I was able to find: **header.h** ``` #include <stdarg.h> typedef va_list va_list_1; ``` **test.cpp** ``` typedef __builtin_va_list va_list_2; void foo(const char* format, ...) { va_list args; va_start( args, format ); } ``` Steps to reproduce: ``` clang -x c++-header --target=armv7l-linux-eabihf header.h clang -c -include header.h --target=armv7l-linux-eabihf test.cpp ``` Compilation error: ``` error: non-const lvalue reference to type '__builtin_va_list' cannot bind to a value of unrelated type 'va_list' (aka '__builtin_va_list') ``` Compiling the same code as a C source leads to a crash: ``` clang --target=armv7l-linux-eabihf header.h clang -c -x c -include header.h --target=armv7l-linux-eabihf test.cpp ``` Reviewers: logan, rsmith Subscribers: cfe-commits, asl, aemerson, rengolin Differential Revision: http://reviews.llvm.org/D18557 llvm-svn: 264930
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/api/multithreaded/TestMultithreaded.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud