PATCH: Yet another ObjC-ish "hook" in c-decl.c

Joseph S. Myers jsm@polyomino.org.uk
Thu Sep 2 23:50:00 GMT 2004


On Thu, 2 Sep 2004, Ziemowit Laski wrote:

> A recent modification to store_parm_decls() broke the ongoing ObjC 
> integration again :-(.  In its new form, store_parm_decls() is no longer 
> usable from ObjC, because it dereferences the newfangled 
> 'current_function_arg_info' static variable, which only grokdeclarator() 
> sets.  The new objc-act.c no longer calls any of the grok...() 
> functions, since it no longer deals in raw declspec goo.

I thought that arg_info structures counted as declspec goo.  Certainly my 
upcoming C patch to move C declarator structures away from trees (awaiting 
the move of the ObjC front end away from the existing structures, so ObjC 
doesn't need to be changed at the same time) makes arg_info structures a 
separate structure instead of trees.  As such the addition of 
current_function_arg_info was needed for static type correctness with that 
patch (when it ceases to be a tree).

As such, at least one of your two patches is not correct.  This first one 
(process_parm_decls) clearly can't be, as store_parm_decls_newstyle takes 
an arg_info structure rather than the proper tree stored in 
DECL_ARGUMENTS.  If the second one (export store_parm_decls_newstyle) is 
correct, then I suppose the ObjC front end is building the cryptic 
arg_info structures and will need changing after all when these cease to 
be trees?

-- 
Joseph S. Myers               http://www.srcf.ucam.org/~jsm28/gcc/
  http://www.srcf.ucam.org/~jsm28/gcc/#c90status - status of C90 for GCC 3.5
    jsm@polyomino.org.uk (personal mail)
    jsm28@gcc.gnu.org (Bugzilla assignments and CCs)



More information about the Gcc-patches mailing list