This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: C++ Bug compiling the 'virtual' keyword


> Date: Tue, 06 Jun 2000 16:35:53 +1000
> From: Adam Pierce <adam@indigointeractive.com.au>

> I've just installed gcc-2.95.2 on my Sparc/Solaris 7 box and have
> noticed an odd problem.

> If I put this in /usr/local/include, my source files (located
> elsewhere) can include it and it compiles perfectly. However, if I
> move the header file to /usr/include, or any subdirectory under
> /usr/include, I get this:

> [ errors ]

> This is not really an acceptable workaround because I can no longer
> use 'virtual'.

> Sorry if this description was a bit long-winded but I haven't been
> able to isolate the problem any more than this. This is really
> causing havoc with my current project. Please let me know if there
> is some way I can fix this.

Yes, fix, only the OS vendor should put files into /usr/include.  Are
you an OS vendor?  If so, the /usr/include directory is for C language
headers.  You have a C++ language header.  C++ language headers don't
go there.  You should put them in the C++ include directory, consult
the rest of your team on where this is.  I suspect /usr/include/g++-2.
If you can't or don't want to do this, then wrap in extern "C++" { }
to switch languages.

If you're not an OS vendor, then put them into /usr/local/include...
Or some other location and use -I as necessary.

:-)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]