public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "david.post at ohyonghao dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug preprocessor/101628] Preprocessor errors on extended characters in #if 0 code block
Date: Tue, 27 Jul 2021 16:58:07 +0000	[thread overview]
Message-ID: <bug-101628-4-U7ySCf5lv3@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-101628-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101628

--- Comment #3 from David Post <david.post at ohyonghao dot com> ---
This seems to be implementation dependent. As per 15.1.6:
The implementation can process and skip sections of source files conditionally,
include other source files, import macros from header units, and replace
macros. These capabilities are called preprocessing, because conceptually they
occur before translation of the resulting translation unit.

and 15.2.14
Each directive's condition is checked in order. If it evaluates to false
(zero), the group that it controls is skipped: 

But what you are implying is that skipped means that you process it anyway,
then ignore the result, whereas other implementations take this to mean that
the group is skipped over and not processed.

This seems to be an implementation decision rather than a requirement by the
standard, or am I missing the part of the standard which states that those
tokens must still be valid?

  parent reply	other threads:[~2021-07-27 16:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-26 17:19 [Bug preprocessor/101628] New: " david.post at ohyonghao dot com
2021-07-26 18:43 ` [Bug preprocessor/101628] " pinskia at gcc dot gnu.org
2021-07-27 11:04 ` rguenth at gcc dot gnu.org
2021-07-27 16:58 ` david.post at ohyonghao dot com [this message]
2021-07-27 17:23 ` schwab@linux-m68k.org

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=bug-101628-4-U7ySCf5lv3@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.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 read-only IMAP folder(s) and NNTP newsgroup(s).