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: [PATCH] Re: dwarf2out change breaks ada and libstdc++ onsolaris too


On Tue, 3 Feb 2004 09:44:24 -0800, Devang Patel <dpatel@apple.com> wrote:

> It seems I broke all targets that do not supply target specific
> routine to build builtin va_list. These targets use standard
> builtin va_list that is just void *.

It's not clear to me why that's a problem.

>      else if (TYPE_P (context))
> !     {
> !       tree v = root_type (context);
> !       if (v && TREE_CODE (v) == VOID_TYPE)
> !       /* Can not force die VOID_TYPE.  */
> !          return;
> !       scope_die = force_type_die (context);
> !     }

The only types that can be contexts are classes, which are their own root
types, so this code is unnecessary.

>      /* For TYPE_DECL, lookup TREE_TYPE.  */
>      if (TREE_CODE (decl) == TYPE_DECL)
> !     {
> !       tree v = root_type (TREE_TYPE (decl));
> !       if (v && TREE_CODE (v) == VOID_TYPE)
> !       /* Can not force die VOID_TYPE.  */
> !       return;
> !       at_import_die = force_type_die (TREE_TYPE (decl));
> !     }

Why is this necessary?  We can cope with void* in other contexts.

Jason


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