Go to file
Artem Dergachev fcf107d411 [analyzer] Teach CallEvent about C++17 aligned operator new().
In C++17, when class C has large alignment value, a special case of
overload resolution rule kicks in for expression new C that causes the aligned
version of operator new() to be called. The aligned new has two arguments:
size and alignment. However, the new-expression has only one "argument":
the construct-expression for C(). This causes a false positive in
core.CallAndMessage's check for matching number of arguments and number
of parameters.

Update CXXAllocatorCall, which is a CallEvent sub-class for operator new calls
within new-expressions, so that the number of arguments always matched
the number of parameters.

rdar://problem/44738501

Differential Revision: https://reviews.llvm.org/D52957

llvm-svn: 344539
2018-10-15 17:53:18 +00:00
clang [analyzer] Teach CallEvent about C++17 aligned operator new(). 2018-10-15 17:53:18 +00:00
clang-tools-extra [clangd] Revert include path change in Dexp. NFC 2018-10-15 16:47:45 +00:00
compiler-rt [XRay][compiler-rt] FDR Mode Controller 2018-10-15 02:57:06 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc configure: Rework support for gfx9+ devices that were added post LLVM 3.9 2018-09-15 22:02:01 +00:00
libcxx Wrap up the new chrono literals in an #ifdef so that old versions of clang don't complain. I'm looking at you, clang 5.0.1 2018-10-15 17:33:20 +00:00
libcxxabi Override libcxxabi's .clang-format in the demangle directory 2018-10-11 23:30:56 +00:00
libunwind [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON. 2018-10-08 18:35:00 +00:00
lld [ELF][HEXAGON] Let input determine e_flag. 2018-10-15 14:44:52 +00:00
lldb Fix double import of _lldb module. 2018-10-14 07:24:56 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [DAGCombiner] allow undef elts in vector fmul matching 2018-10-15 16:54:07 +00:00
openmp [OpenMP] Convert KMP_DYNAMIC_LIB to a 0 or 1 guard everywhere 2018-10-05 17:59:39 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [TI removal] Make `getTerminator()` return a generic `Instruction`. 2018-10-15 10:42:50 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.