Go to file
Artem Dergachev 1e3dbd7a17 [analyzer] Track temporaries without construction contexts for destruction.
Sometimes it is not known at compile time which temporary objects will be
constructed, eg. 'x ? A() : B()' or 'C() || D()'. In this case we track which
temporary was constructed to know how to properly call the destructor.

Once the construction context for temporaries was introduced, we moved the
tracking code to the code that investigates the construction context.

Bring back the old mechanism because construction contexts are not always
available yet - eg. in the case where a temporary is constructed without a
constructor expression, eg. returned from a function by value. The mechanism
should still go away eventually.

Additionally, fix a bug in the temporary cleanup code for the case when
construction contexts are not available, which could lead to temporaries
staying in the program state and increasing memory consumption.

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

llvm-svn: 326246
2018-02-27 21:02:58 +00:00
clang [analyzer] Track temporaries without construction contexts for destruction. 2018-02-27 21:02:58 +00:00
clang-tools-extra add UUID to the acronyms list of objc property name checks 2018-02-27 18:35:53 +00:00
compiler-rt Disable ASan exceptions on NetBSD 2018-02-27 18:05:49 +00:00
debuginfo-tests [Darwin] Specify DWARF 2/4 when running apple accelerator tests. 2018-02-26 20:56:45 +00:00
libclc utils: Adapt to llvm r325155 2018-02-23 07:37:03 +00:00
libcxx [libcxx] [test] Fix MSVC warnings and errors. 2018-02-26 20:47:46 +00:00
libcxxabi [demangler] Support for exception specifications on function types. 2018-02-14 01:08:20 +00:00
libunwind [libunwind] Permit additional compiler and linker flags to be passed to tests. 2018-02-27 18:40:04 +00:00
lld Add `--dynamic-linker=foo` as an alias for `--dynamic-linker foo`. 2018-02-27 20:37:18 +00:00
lldb [LLDB] Initial version of PPC64 InstEmulation 2018-02-27 18:42:46 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm llvm-cvtres: Mention ARM64 as a supported machine type in the help text. NFC. 2018-02-27 20:44:33 +00:00
openmp [OMPT] Fix parallel_data in implicit barrier-end 2018-02-23 16:46:25 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly isl: "isl_schedule_get_map: handle trees with divergent filter node parameters" 2018-02-26 09:26:41 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

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.