[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: