diff options
author | dim <dim@FreeBSD.org> | 2017-03-07 21:44:05 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2017-03-07 21:44:05 +0000 |
commit | 0b83b08fa41977cce765d5ea3e37843dea2d6fcc (patch) | |
tree | 9a7b0c024610dc97a628dbf20d0887d314babf05 /contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp | |
parent | 302c1ab5872d36595738b22e5c81f25970497b05 (diff) | |
download | FreeBSD-src-0b83b08fa41977cce765d5ea3e37843dea2d6fcc.zip FreeBSD-src-0b83b08fa41977cce765d5ea3e37843dea2d6fcc.tar.gz |
Pull in r291403 from upstream clang trunk (by Richard Smith):
PR30305: Implement proposed DR resolution to prevent slicing via
inherited constructor.
The rule we use is that a construction of a class type T from an
argument of type U cannot use an inherited constructor if U is the
same as T or is derived from T (or if the initialization would first
convert it to such a type). This (approximately) matches the rule in
use by GCC, and matches the current proposed DR resolution.
Pull in r291955 from upstream clang trunk (by Richard Smith):
PR31606: Generalize our tentative DR resolution for inheriting
copy/move constructors to better match the pre-P0136R1 behavior.
Together, these fix an issue with C++ using declarations sometimes
enabling illegal implicit casts.
Direct commit to stable/11, since head already has clang 4.0.0, which
includes this change.
Reported by: kami
PR: 215969
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp')
0 files changed, 0 insertions, 0 deletions