Bug#659865: Regression: address of bitfield
Package: gcc-4.6
Version: 4.6.2-14
Severity: normal
With the attached file, "gcc-4.5 -Wall xxxx.c" says
...
/tmp/xxxx.c:13: error: cannot take address of bit-field ‘ref’
gcc-4.6 gives
/tmp/xxxx.c:13:2: internal compiler error: in build_unary_op,
at c-typeck.c:3786
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccn6TmPV.out file, please
attach this to your bugreport.
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1,
'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages gcc-4.6 depends on:
ii binutils 2.22-5
ii cpp-4.6 4.6.2-14
ii gcc-4.6-base 4.6.2-14
ii libc6 2.13-26
ii libgcc1 1:4.6.2-14
ii libgmp10 2:5.0.2+dfsg-2
ii libgomp1 4.6.2-14
ii libmpc2 0.9-4
ii libmpfr4 3.1.0-3
ii libquadmath0 4.6.2-14
ii zlib1g 1:1.2.3.4.dfsg-3
Versions of packages gcc-4.6 recommends:
ii libc6-dev 2.13-26
Versions of packages gcc-4.6 suggests:
pn binutils-gold <none>
pn gcc-4.6-doc <none>
pn gcc-4.6-locales <none>
pn gcc-4.6-multilib 4.6.2-14
pn libgcc1-dbg <none>
pn libgomp1-dbg <none>
pn libmudflap0-4.6-dev <none>
pn libmudflap0-dbg <none>
pn libquadmath0-dbg <none>
-- no debconf information
//#include <stdio.h>
struct p_t {
volatile unsigned int ref:3;
};
struct p_t p;
int main(void)
{
printf("%p", &p.ref);
return 0;
}
// /usr/lib/gcc/x86_64-linux-gnu/4.6/cc1 -quiet -imultilib . -imultiarch x86_64-linux-gnu /tmp/xxxx.c -quiet -dumpbase xxxx.c -mtune=generic -march=x86-64 -auxbase xxxx -Wall -o - -frandom-seed=0
# 1 "/tmp/xxxx.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/tmp/xxxx.c"
struct p_t {
volatile unsigned int ref:3;
};
struct p_t p;
int main(void)
{
printf("%p", &p.ref);
return 0;
}
Reply to: