[cfe-commits] [PATCH] PR13824 warn if reinterpret_cast used for up/downcast
Jordan Rose
jordan_rose at apple.com
Wed Jan 23 18:33:23 PST 2013
On Jan 23, 2013, at 14:53 , Dmitri Gribenko <gribozavr at gmail.com> wrote:
> On Thu, Jan 24, 2013 at 12:40 AM, Alexander Zinenko <ftynse at gmail.com> wrote:
>> On 23 January 2013 23:52, Dmitri Gribenko <gribozavr at gmail.com> wrote:
>>> I think it is sensible to leave the warning on by default. The
>>> purpose of a separate flag is to turn off the (possibly) noisy case
>>> separately.
>>
>> Having it on by default, clang fails to pass these tests:
>> Clang :: Analysis/inlining/dyn-dispatch-bifurcate.cpp
>> Clang :: SemaCXX/address-space-conversion.cpp
>> That's why the noisy version was disabled by default even in the first
>> version.
>
> Well, compiler tests do weird things, so this is not representative.
dyn-dispatch-bifurcate is actually what encouraged me to file that PR in the first place. You can go ahead and add it as an expected warning there.
For address-space-conversion, you could disable the warning in the RUN line.
> I think the only reasonable false positive source for zero adjustment
> case is templates:
>
> template<typename T, typename U>
> void foo(T *t) {
> ... reinterpret_cast<U*>(t);
> }
>
> Where T and U have some subtyping relationship.
More information about the cfe-commits
mailing list