Improper implicit pointer cast in AST

Abramo Bagnara abramo.bagnara at bugseng.com
Sat Sep 6 03:27:50 PDT 2014


Ping

Il 04/09/2014 15:13, Abramo Bagnara ha scritto:
> 
> For the following source
> 
> void f() {
>   char *p;
>   const char *cp;
>   p == cp;
>   p != cp;
>   p < cp;
>   p <= cp;
>   p > cp;
>   p >= cp;
>   p - cp;
> }
> 
> clang (unexpectedly for me) emits an implicit cast from const char * to
> char * (i.e. it remove a qualifier) for all the relational and equality
> operator, but it (expectedly) does not emit one for the subtraction.
> 
> AFAIK the C standard does not require any conversion for relational and
> equality operator (just like for subtraction).
> 
> Do we have a reason to add the implicit casts or it is a bug?
> 


-- 
Abramo Bagnara

BUGSENG srl - http://bugseng.com
mailto:abramo.bagnara at bugseng.com



More information about the cfe-commits mailing list