diff options
| author | George Karpenkov <ekarpenkov@apple.com> | 2018-05-16 00:29:13 +0000 |
|---|---|---|
| committer | George Karpenkov <ekarpenkov@apple.com> | 2018-05-16 00:29:13 +0000 |
| commit | faa03f4acaf5a7a2654c440f590c0ba31242b482 (patch) | |
| tree | 3e70f1c4b601e52f0b7e0d62130de46ec699cdec /clang/test | |
| parent | 9a40ff502f7ee68ffec7bb2197cf35b90ca052d3 (diff) | |
| download | bcm5719-llvm-faa03f4acaf5a7a2654c440f590c0ba31242b482.tar.gz bcm5719-llvm-faa03f4acaf5a7a2654c440f590c0ba31242b482.zip | |
[analyzer] Do not crash on callback for call_once passed by value
https://bugs.llvm.org/show_bug.cgi?id=37312
rdar://40270582
Differential Revision: https://reviews.llvm.org/D46913
llvm-svn: 332422
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Analysis/call_once.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/Analysis/call_once.cpp b/clang/test/Analysis/call_once.cpp index dd4b2d45516..344de809078 100644 --- a/clang/test/Analysis/call_once.cpp +++ b/clang/test/Analysis/call_once.cpp @@ -403,3 +403,12 @@ void callback_with_implicit_cast() { std::once_flag flag; call_once(flag, callback_taking_func, callback_with_implicit_cast); } + +std::once_flag another_once_flag; +typedef void (*my_callback_t)(int *); +my_callback_t callback; +int global_int; + +void rdar40270582() { + call_once(another_once_flag, callback, &global_int); +} |

