On Tue, 3 May 2011, Eric Botcazou wrote:
> > I am however completely missing the point of this langhook and doc is not
> > exactly informative either:
> >
> > /* Returns nonzero if we are in the global binding level. Ada
> > returns -1 for an undocumented reason used in stor-layout.c. */
> >
> > What is the purpose of this hook?
>
> I've seen things far more undocumented in GCC than this one ;-)
>
>
> tree
> variable_size (tree size)
> {
>
> [...]
>
> /* If the language-processor is to take responsibility for variable-sized
> items (e.g., languages which have elaboration procedures like Ada),
> just return SIZE unchanged. */
> if (lang_hooks.decls.global_bindings_p () < 0)
> return size;
In my view we should require front ends to take responsibility for
variable-size types, and get rid of this language-independent function
(copying such parts as are needed into the front ends that need them). C
for example uses its own version as the language-independent one isn't
right for C. Similarly, the pending_size code should be local to front
ends.
--
Joseph S. Myers
[email protected]