[Bug tree-optimization/15484] [tree-ssa] bool and short function arguments promoted to int
--- Comment #6 from dann at godzilla dot ics dot uci dot edu 2008-11-20 23:27 --- Still happens in 4.4. -- dann at godzilla dot ics dot uci dot edu changed: What|Removed |Added Keywords||memory-hog http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15484
[Bug tree-optimization/15484] [tree-ssa] bool and short function arguments promoted to int
--- Comment #7 from pinskia at gcc dot gnu dot org 2008-11-20 23:35 --- (In reply to comment #6) Still happens in 4.4. But as mentioned this is not really a bug. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15484
[Bug tree-optimization/15484] [tree-ssa] bool and short function arguments promoted to int
--- Additional Comments From dnovillo at gcc dot gnu dot org 2005-06-02 18:44 --- How is this related to VRP at all? Removing dependency on 18373. -- What|Removed |Added BugsThisDependsOn|18373 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15484
[Bug tree-optimization/15484] [tree-ssa] bool and short function arguments promoted to int
--- Additional Comments From rguenth at gcc dot gnu dot org 2005-05-16 13:55 --- Maybe the same problem results in static inline bool wrap(bool f) { return f; } bool bar(bool f) { return wrap(f); } producing return (int) (bool) (int) (bool) (int) f; (and more, if you add another wrap()) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15484
[Bug tree-optimization/15484] [tree-ssa] bool and short function arguments promoted to int
--- Additional Comments From dann at godzilla dot ics dot uci dot edu 2004-12-29 01:33 --- (In reply to comment #2) The underlying ABI might require short bool arguments to be passed as int. Some do, some don't. Anyway, that's an argument marshalling issue, which is not currently addressed at the tree level. The cast to int has been inserted by the front end, I think C requires that. This is a VRP issue, not an argument marshalling one. A discussion about this is at: http://gcc.gnu.org/ml/gcc/2004-05/msg00752.html in that thread Jim Wilson has some more explanations about what is going on. A patch that seems to work is also in that mail, but I won't have time to properly test it to try to get it committed anytime soon. If someone wants to play with this, it would be great. The problem is that the C and C++ front-ends generate casts to int when c_promoting_integer_type_p returns true. Those casts are generated too early (if they are needed at all, and they might not be needed). Iff the casts are needed they should be when lowering to RTL. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15484
[Bug tree-optimization/15484] [tree-ssa] bool and short function arguments promoted to int
--- Additional Comments From nathan at gcc dot gnu dot org 2004-11-17 13:33 --- The underlying ABI might require short bool arguments to be passed as int. Some do, some don't. Anyway, that's an argument marshalling issue, which is not currently addressed at the tree level. The cast to int has been inserted by the front end, I think C requires that. This is a VRP issue, not an argument marshalling one. -- What|Removed |Added BugsThisDependsOn||18373 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15484