c++/9842: Compile error when accessing a bitfield base class member
hg@technosis.de
hg@technosis.de
Mon Feb 24 23:16:00 GMT 2003
>Number: 9842
>Category: c++
>Synopsis: Compile error when accessing a bitfield base class member
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Mon Feb 24 23:16:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Heiko Gerdau
>Release: gcc version 3.2
>Organization:
>Environment:
SuSe Linux 8.1 (with gcc 3.2) or W2k with mingw-gcc 3.2.2
>Description:
Using the attached code gcc returns the following error:
hg@linux:~> gcc -o bf.exe bf.cpp
bf.cpp: In member function `void B::f()':
bf.cpp:11: illegal pointer to bit-field `A::ib'
It should be possible to access a base class member, even if it's a bitfield.
The file bf.cpp contains the following code:
class A
{
public:
unsigned int ib:1;
};
class B : public A
{
public:
unsigned int ib;
void f(){ A::ib=1;}
};
int main()
{
B b;
b.f();
return (0);
}
>How-To-Repeat:
Just copy the code given above to bf.cpp and run
gcc -o bf.exe bf.cpp
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list