Go to file
Eric Fiselier 000f25a37e Make move and forward work in C++03.
These functions are key to allowing the use of rvalues and variadics
in C++03 mode. Everything works the same as in C++11, except for one
tangentially related case:

struct T {
  T(T &&) = default;
};

In C++11, T has a deleted copy constructor. But in C++03 Clang gives
it both a move and a copy constructor. This seems reasonable enough
given the extensions it's using.

The other changes in this patch were the minimal set required
to keep the tests passing after the move/forward change. Most notably
the removal of the `__rv<unique_ptr>` hack that was present
in an attempt to make unique_ptr move only without language support.

llvm-svn: 364063
2019-06-21 15:20:55 +00:00
clang [OPENMP]Fix PR42159: do not capture threadprivate variables. 2019-06-21 15:08:30 +00:00
clang-tools-extra [clangd] Add include-mapping for C symbols. 2019-06-21 13:32:18 +00:00
compiler-rt [libFuzzer] split DataFlow.cpp into two .cpp files, one of which can be compiled w/o dfsan to speed things up (~25% speedup) 2019-06-21 01:39:35 +00:00
debuginfo-tests Store a pointer to the return value in a static alloca and let the debugger use that 2019-06-20 17:15:21 +00:00
libclc
libcxx Make move and forward work in C++03. 2019-06-21 15:20:55 +00:00
libcxxabi [demangle] Special case clang's creative mangling of __uuidof expressions. 2019-06-18 23:34:09 +00:00
libunwind
lld lld/elf: Deduplicate undefined symbol diagnostics 2019-06-20 18:25:57 +00:00
lldb [lldb] [Process] Introduce common helpers to split/recombine YMM data 2019-06-21 13:19:34 +00:00
llgo
llvm [GVNSink] prevent crashing on mismatched instructions (PR42346) 2019-06-21 15:17:24 +00:00
openmp [OpenMP][libomptarget] Add support for declare target to clause under unified memory 2019-06-19 15:48:10 +00:00
parallel-libs
polly
pstl [pstl] Default to the serial backend when unspecified 2019-06-20 17:56:51 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
README.md

README.md

The LLVM Compiler Infrastructure

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