On 10/17/2017 05:26 AM, Richard Biener wrote:

Sorry for not looking at the patch before replying.  The patch looks ok
but shouldn't LANG_TYPE be also handled by the FE?  LANG_TYPE itself
is an odd beast if I may say that - it's only used by the C++ and Ada FEs
and the Ada FE does only

I agree. I think LANG_TYPE may be from when there were no FE-specific nodes. It should probably be killed and resurrected as appropriate FE nodes.

Olivier, as an ADA person, is that something that could be done?

Thus the patch is ok.

Thanks,

As a heads up, we currently have:

struct type_common;
struct type_with_lang_specific : type_common;
struct type_non_common : type_with_lang_specific;

And many (most?, all?) FE type nodes derive from type_non_common (even if, as I discovered, they don't know it). It seems the hierarchy would be better as:

struct type_common;
struct type_non_common : type_common; // FE type derive here
struct type_with_lang_specific : type_non_common;

After all, why would a FE-specific type need a lang-specific pointer? I don't think there are types that just have the land-pointer and don't have non_common.

That's the direction I'm heading in with this clean up.

nathan

--
Nathan Sidwell

Reply via email to