On Mon, 7 Nov 2016, Richard Biener wrote: > On Mon, 7 Nov 2016, Richard Biener wrote: > > > On Fri, 4 Nov 2016, Jakub Jelinek wrote: > > > > > Hi! > > > > > > Just 2 nits: > > > > > > On Fri, Oct 28, 2016 at 01:46:57PM +0200, Richard Biener wrote: > > > > +/* Return a pointer to the Nth token in PARERs tokens_buf. */ > > > > > > PARSERs ? > > > > Fixed. > > > > > > @@ -454,7 +423,7 @@ c_lex_one_token (c_parser *parser, c_token *token) > > > > /* Return a pointer to the next token from PARSER, reading it in if > > > > necessary. */ > > > > > > > > -static inline c_token * > > > > +c_token * > > > > c_parser_peek_token (c_parser *parser) > > > > { > > > > if (parser->tokens_avail == 0) > > > > > > I wonder if turning all of these into non-inlines is a good idea. > > > Can't you move them to the common header instead? > > > > The issue with moving is that I failed to export the definition of > > c_parser in c-parser.h due to gengtype putting vec <c_token, va_gc> > > handlers into gtype-c.h but not gtype-objc.h and thus objc bootstrap > > fails :/ > > If anybody wants to try, f82dc04b921a525555a9a5c90d957a824e1c2d04 > has it (objc build) still broken on the gimplefe git branch.
Ok, it seems I found a solution: diff --git a/gcc/c/c-parser.h b/gcc/c/c-parser.h index d178254..765acbb 100644 --- a/gcc/c/c-parser.h +++ b/gcc/c/c-parser.h @@ -129,7 +129,7 @@ struct GTY(()) c_parser { /* Buffer to hold all the tokens from parsing the vector attribute for the SIMD-enabled functions (formerly known as elemental functions). */ - vec <c_token_, va_gc> *cilk_simd_fn_tokens; + vec <c_token_, va_gc> * GTY((skip)) cilk_simd_fn_tokens; }; /* Possibly kinds of declarator to parse. */ I believe this is safe as cilk_simd_fn_tokens is state that is local to parsing a single omp/cilk construct (not sure why that state was added to c_parser in the first place - I guess it was convenient). I'll push back c_parser to the header and put inlines I need to export there as well. Joseph, is this (with regard to the inlines) your preference as well? I'm meanwhile testing the following on trunk, ok if it passes there? Thanks, Richard. 2016-11-09 Richard Biener <rguent...@suse.de> c/ * c-parser.c (c_parser): Mark cilk_simd_fn_tokens GTY((skip)). Index: gcc/c/c-parser.c =================================================================== --- gcc/c/c-parser.c (revision 241991) +++ gcc/c/c-parser.c (working copy) @@ -256,7 +256,7 @@ struct GTY(()) c_parser { /* Buffer to hold all the tokens from parsing the vector attribute for the SIMD-enabled functions (formerly known as elemental functions). */ - vec <c_token, va_gc> *cilk_simd_fn_tokens; + vec <c_token, va_gc> * GTY((skip)) cilk_simd_fn_tokens; };