This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/14899] [3.5 Regression] wrong code due to change in compatibility rules for vector types


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]