HomeFreeBSD

Pull in r291403 from upstream clang trunk (by Richard Smith):

Description

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

Details

Provenance
dimAuthored on
Parents
rS314882: ufsread: Use appropriate UFS_MAXNAMLEN constant
Branches
Unknown
Tags
Unknown