[Bug target/14899] [3.5 Regression] wrong code due to change in compatibility rules for vector types
jsm at polyomino dot org dot uk
gcc-bugzilla@gcc.gnu.org
Sun Apr 11 14:51:00 GMT 2004
------- Additional Comments From jsm at polyomino dot org dot uk 2004-04-11 11:53 -------
Subject: Re: [3.5 Regression] wrong code due to change in
compatibility rules for vector types
On Sun, 11 Apr 2004, bonzini at gnu dot org wrote:
> The bug is __builtin_types_compatible_p being ill-named because it is actually
> __builtin_same_type_p (it just uses comptypes). __builtin_types_compatible_p
> (int, unsigned int) is zero, so the problem is the name of the builtin. And
It *does* test compatibility. int and unsigned int are not compatible.
int[10] and int[] are compatible but are not the same type. If vector int
and vector unsigned int are meant to be compatible (for example, you can
freely assign between vector int ** and vector unsigned int **), then it's
a matter for the language specifications for vector extensions to specify
clearly what the compatibility rules are, and for GCC then to implement
that. The documentation of __builtin_types_compatible_p gives examples.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14899
More information about the Gcc-bugs
mailing list