On Fri, Mar 13, 2020 at 05:17:48PM +0100, Oleg Nesterov wrote: > On 03/12, Luc Van Oostenryck wrote: > > > > @@ -2098,6 +2103,12 @@ static void handle_preprocessor_line(struct stream *stream, struct token **line, > > if (false_nesting) > > goto out; > > } > > + > > + if (expanding) { > > + if (Wdirective_within_macro && !is_cond) > ^^^^^^^^^^^^^^^^^^^^^^^ > I am not sure Wdirective_within_macro is really useful after this change, > I'd suggest to drop my patch but this is up to you. Yes, it makes much less sense now. I've replaced that by supporting -pedantic. > > + warning(start->pos, "directive in macro's argument list"); > > + expanding = 0; // warn only once > > + } > > then you should probably update preprocessor22.c ? See below. > > I am not sure about validation/preprocessor/expand-redef.c added by the > previous patch, Yes, I hadn't updated the testcases because the patch just a RFC to see if just allowing the #if/... was OK (but I forgot to mark is as such) and they also depended on the previous RFC patch about the expansion of newline. Series updated and pushed now. Thanks for the review. -- Luc