This is the mail archive of the gcc@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: -fvtable-gc


>>>>> "Richard" == Richard Henderson <rth@redhat.com> writes:

    Richard> So I was attempting this afternoon to implement the thing properly,
    Richard> i.e. with notes and calls into varasm.c instead of random asm hackery
    Richard> in cp/foo.c.  But I was defeated in my quest to figure out how to
    Richard> differentiate method calls from normal calls, and member address
    Richard> taking at all.

I'm not surprised.  I think I might have been too...

    Richard> What is METHOD_CALL_EXPR if not for calling methods?  If I have 

That's a good question -- I never even heard of that before.  The
support for that looks very incomplete; note, for example, that
expand_expr doesn't handle it.  We use CALL_EXPRs everywhere.  You
can, of course, look at the function being called to see if it is a
method -- but if a member-function-pointer is in use, you may not have
an easy time figuring out what's going on.

    Richard> I get an OFFSET_REF, which isn't actually documented anywhere,
    Richard> and I can't figure out what it means exactly.

It's quasi-documented in cp/cp-tree.def.  I have never liked this
construct much; it doesn't map directly to anything in the language
itself, for example.

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com


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