Go to file
Richard Smith b884ed186e Fix deduction for conversion function templates converting to reference
types.

We previously tried to use the "parameter is a reference" logic here,
but that doesn't work because it gets P and A backwards. Instead, add
a separate implementation of the "deduced A can be less qualified than
A" rule.

This also exposes that we incorrectly stripped cv-qualifiers from the
referent of A if it was a reference. However, if we don't do that, we
get the wrong results when P is a reference. In an attempt to match
what sanity dictates and what other implementations are doing, we now
remove cv-qualifiers from A and P unless both are reference types. I've
brought this up on the core reflector too, to try to get the standard
fixed.

llvm-svn: 336867
2018-07-11 23:19:41 +00:00
clang Fix deduction for conversion function templates converting to reference 2018-07-11 23:19:41 +00:00
clang-tools-extra [Documentation] Fix incorrect documentation references, new checks order in Release Notes 2018-07-11 20:56:26 +00:00
compiler-rt [FileCheck] Add -allow-deprecated-dag-overlap to another compiler-rt test 2018-07-11 22:07:31 +00:00
debuginfo-tests [debuginfo-tests] Always use the system python to invoke llgdb.py. 2018-06-10 19:38:26 +00:00
libclc atom: Use volatile pointers for cl_khr_{global,local}_int32_{base,extended}_atomics 2018-06-21 19:27:39 +00:00
libcxx [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY 2018-07-11 23:14:33 +00:00
libcxxabi [CMake] Set per-runtime library directory suffix in runtimes build 2018-07-10 19:13:33 +00:00
libunwind [CMake] Set per-runtime library directory suffix in runtimes build 2018-07-10 19:13:33 +00:00
lld Also search BitcodeFiles for exclude-lib symbols 2018-07-11 17:45:28 +00:00
lldb [windows] Fix out-of-memory failure in some of the tests 2018-07-11 22:47:35 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [LoopIdiomRecognize] Don't convert a do while loop to ctlz. 2018-07-11 22:35:28 +00:00
openmp Fix const cast problem introduced in r336563 2018-07-09 19:09:31 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [Docs] Fix generation of manpages. 2018-07-09 20:26:11 +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.