This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/32346] [4.2/4.3 Regression] long long bitfield passed to int argument incorrectly
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Jul 2007 09:58:28 -0000
- Subject: [Bug c++/32346] [4.2/4.3 Regression] long long bitfield passed to int argument incorrectly
- References: <bug-32346-14707@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from rguenth at gcc dot gnu dot org 2007-07-26 09:58 -------
Confirmed. This is caused by
2007-04-17 Mark Mitchell <mark@codesourcery.com>
PR c++/31513
* call.c (convert_for_arg_passing): Convert bitfields to their
declared types.
which causes us to expand
dosomething ((long long int) bar.item, 0)
as convert_for_arg_passing does not demote types. The patch didn't went to
the 4.1 branch and I cannot reproduce the failure there.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org, mark at codesourcery
| |dot com
OtherBugsDependingO| |31513
nThis| |
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |wrong-code
Known to fail| |4.2.0 4.2.1 4.3.0
Known to work| |4.1.2
Last reconfirmed|0000-00-00 00:00:00 |2007-07-26 09:58:28
date| |
Summary|long long bitfield passed to|[4.2/4.3 Regression] long
|int argument incorrectly |long bitfield passed to int
| |argument incorrectly
Target Milestone|--- |4.2.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32346