[PATCH] Check dynamic_cast is not used with -fno-rtti

Arnaud A. de Grandmaison arnaud.adegm at gmail.com
Mon Jul 29 09:47:52 PDT 2013


On 07/29/2013 06:17 PM, Jean-Daniel Dupas wrote:
> Le 29 juil. 2013 à 17:52, Arnaud A. de Grandmaison <arnaud.adegm at gmail.com> a écrit :
>
>> Clang emits an error when typeid is used with -fno-rtti, but does not
>> perform a similar check for dynamic_cast.
>>
>> The attached patch implements the check.
>>
>> I have done it late in 'CastOperation::CheckDynamicCast' , as some
>> dynamic_cast can be resolved statically, and will thus require no
>> support from the runtime, but we may also want to be more paranoïd.
>>
>> Any thoughts ?
>
> If we want to support dynamic_cast without rtti when possible (as you do in your patch), you may add such case in the test to make sure clang accepts it.

Good point. I added a test for the 2 cases we accept (upcast, and cast
to same type).

>
> -- Jean-Daniel
>
>
>
>


-- 
Arnaud A. de Grandmaison




More information about the cfe-commits mailing list