From: Oleg Nesterov <oleg@redhat.com>
To: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: linux-sparse@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH] cpp: silently allow conditional directives within macro
Date: Fri, 13 Mar 2020 17:17:48 +0100 [thread overview]
Message-ID: <20200313161748.GA22910@redhat.com> (raw)
In-Reply-To: <20200312211630.53710-1-luc.vanoostenryck@gmail.com>
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.
Anyway,
> + 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,
* check-output-start
1 2 1 2
* check-output-end
shouldn't you add check-known-to-fail into this file or change the output
1
2 1
2
?
Oleg.
--- a/validation/preprocessor/preprocessor22.c
+++ b/validation/preprocessor/preprocessor22.c
@@ -19,13 +19,6 @@ define_struct(a, {
*
* check-command: sparse -E $file
*
- * check-error-start
-preprocessor/preprocessor22.c:6:1: warning: directive in macro's argument list
-preprocessor/preprocessor22.c:8:1: warning: directive in macro's argument list
-preprocessor/preprocessor22.c:10:1: warning: directive in macro's argument list
-preprocessor/preprocessor22.c:12:1: warning: directive in macro's argument list
- * check-error-end
- *
* check-output-start
struct {
next prev parent reply other threads:[~2020-03-13 16:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-12 15:09 [PATCH] introduce Wdirective_within_macro Oleg Nesterov
2020-03-12 18:24 ` Linus Torvalds
2020-03-12 19:12 ` Luc Van Oostenryck
2020-03-12 21:16 ` [PATCH] cpp: silently allow conditional directives within macro Luc Van Oostenryck
2020-03-13 16:17 ` Oleg Nesterov [this message]
2020-03-16 0:46 ` Luc Van Oostenryck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200313161748.GA22910@redhat.com \
--to=oleg@redhat.com \
--cc=linux-sparse@vger.kernel.org \
--cc=luc.vanoostenryck@gmail.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).