This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: gnu_inline attribute for C++


Ian Lance Taylor <iant@google.com> writes:

> Mark Mitchell <mark@codesourcery.com> writes:
> 
> > Doesn't something already check that we don't have DECL_INITIAL for both
> > NEW_RESULT and OLD_RESULT?  If we have DECL_INITIAL for both, that means
> > the function is defined twice, which should be an error.  Or does
> > gnu_inline allow you to override the definition in the same translation
> > unit?  That's a pretty nasty complication.  I'm not confident that you
> > can undo the effects of DECL_INTERFACE_KNOWN and such after the fact, in
> > the way that you're trying to do.
> 
> The gnu_inline attribute does permit overriding the definition in the
> same translation unit.  You can see this in action in the gcc sources:
> compare the definition of floor_log2 in toplev.h and toplev.c.

The C++ language, however, doesn't permit such things, and I doubt
that the C++ frontend is expecting such things to happen.

What happens if you have a structure definition with the same name in
both functions, and it needs RTTI support?


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