This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
c++/9842: Compile error when accessing a bitfield base class member
- From: hg at technosis dot de
- To: gcc-gnats at gcc dot gnu dot org
- Date: 24 Feb 2003 23:13:48 -0000
- Subject: c++/9842: Compile error when accessing a bitfield base class member
- Reply-to: hg at technosis dot de
>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 at 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: