public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Craig Burley <burley@gnu.org>
To: tim@wagner.princeton.edu
Cc: burley@gnu.org
Subject: Re: thoughts on martin's proposed patch for GCC and UTF-8
Date: Thu, 10 Dec 1998 11:50:00 -0000	[thread overview]
Message-ID: <199812101949.OAA13722@melange.gnu.org> (raw)
In-Reply-To: <199812101819.NAA10692@wagner.Princeton.EDU>

>>   #if defined (FOO) && (FOO == 1)
>> 
>> and:
>> 
>>   #ifdef FOO
>>   #if FOO == 1
>> 
>Good points.  The second isn't a problem, though, since if FOO isn't
>defined, we're skipping when we see #if, and don't need too parse the
>expression.  In fact, if I remember correctly, ANSI forbids parsing of
>the expression (other than recognizing pp-tokens).

That's good to hear, and I had hoped it would be the case, but thought
I should mention it anyway.

>The first case is more important, and one I hadn't thought of.
>However, the boolean operators that short circuit are the only ones
>that don't use one operand, so it seems consistent with C to not
>evaluate (and hence not warn about) arguments that are short
>circuited.  I believe this isn't ad hoc, and avoids all spurious
>warnings in a consistent manner.

It sounds like you're saying the only binary operators are && and
||, which doesn't sound quite right.  && and || are the logical AND
and OR operators, according to my 1998-12-07 draft copy of the ANSI
C standard, and I believe the &, |, and other bitwise operators,
plus the +, -, * and / integer operators are supported for preprocessor
directives as well.

But I'm not sure this changes what you're saying.

What might, though, is the implementation.  It might insist on
expanding macros beyond a short-circuit, and, if it does, you
can't just change it so that, when it replaces an undefined
macro with 0, it optionally warns.

        tq vm, (burley)

  reply	other threads:[~1998-12-10 11:50 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <19981204032449.3033.qmail@comton.airs.com>
     [not found] ` <199812060519.VAA07309@shade.twinsun.com>
     [not found]   ` <366C0645.61C48A38@cygnus.com>
     [not found]     ` <199812080057.QAA00491@shade.twinsun.com>
     [not found]       ` <366D460E.4FB0ECD0@cygnus.com>
1998-12-09 13:44         ` Paul Eggert
1998-12-09 14:38           ` Martin von Loewis
1998-12-09 14:56             ` Per Bothner
1998-12-09 22:57               ` Martin von Loewis
1998-12-09 23:16                 ` Per Bothner
1998-12-11 19:27                   ` Paul Eggert
1998-12-09 17:46             ` Paul Eggert
1998-12-09 18:01               ` Tim Hollebeek
1998-12-10  5:58                 ` Craig Burley
1998-12-10 10:21                   ` Tim Hollebeek
1998-12-10 11:50                     ` Craig Burley [this message]
1998-12-10 14:23                   ` Chip Salzenberg
1998-12-09 23:03               ` Per Bothner
1998-12-10  7:49                 ` Ian Lance Taylor
1998-12-11 19:23                 ` Paul Eggert
1998-12-12  2:21                   ` Martin von Loewis
1998-12-13  6:23                     ` Richard Stallman
1998-12-13 12:27                       ` Martin von Loewis
1998-12-14  2:22                         ` Richard Stallman
1998-12-15 10:47                           ` Paul Eggert
1998-12-17 18:10                             ` Richard Stallman
1998-12-17 21:41                               ` Paul Eggert
1998-12-18  1:23                                 ` Martin von Loewis
1998-12-17 23:55                               ` Joern Rennecke
1998-12-19  5:13                                 ` Richard Stallman
1998-12-19 10:36                                   ` Paul Eggert
1998-12-20 20:29                                     ` Richard Stallman
1998-12-21  7:00                                       ` Zack Weinberg
1998-12-21 18:58                                         ` Paul Eggert
1998-12-21 19:07                                           ` Zack Weinberg
1998-12-21 19:28                                           ` Ulrich Drepper
1998-12-23  0:36                                           ` Richard Stallman
1998-12-21 18:11                                       ` Paul Eggert
1998-12-21 18:46                                         ` Per Bothner
1998-12-21 19:44                                           ` Paul Eggert
1998-12-21 20:30                                             ` Per Bothner
1998-12-23  0:35                                               ` Richard Stallman
1998-12-21 20:16                                           ` Paul Eggert
1998-12-21 20:28                                             ` Zack Weinberg
1998-12-22  2:59                                               ` Paul Eggert
1998-12-23 17:16                                                 ` Richard Stallman
1998-12-23 18:11                                                   ` Zack Weinberg
1998-12-25  0:05                                                     ` Richard Stallman
1998-12-28  5:55                                                       ` Martin von Loewis
1998-12-30  5:19                                                         ` Richard Stallman
1998-12-23 19:21                                                   ` Paul Eggert
1998-12-25  0:05                                                     ` Richard Stallman
1998-12-25  0:05                                                     ` Richard Stallman
1998-12-21 21:03                                             ` Per Bothner
1998-12-22  2:35                                               ` Paul Eggert
1998-12-28  8:10                                               ` Martin von Loewis
1998-12-28 11:00                                                 ` Per Bothner
1998-12-25  0:05                                             ` Richard Stallman
1998-12-26  0:36                                               ` Paul Eggert
1998-12-27 17:24                                                 ` Richard Stallman
1998-12-21 19:16                                         ` Per Bothner
1998-12-21 19:20                                           ` Per Bothner
1998-12-23  0:35                                           ` Richard Stallman
1998-12-22  3:09                                         ` Joern Rennecke
1998-12-22 10:52                                           ` Paul Eggert
1998-12-23  0:36                                         ` Richard Stallman
1998-12-20 20:29                                     ` Richard Stallman
1998-12-21  1:52                                       ` Andreas Schwab
1998-12-22  1:09                                         ` Richard Stallman
1998-12-21 12:25                                     ` Samuel Figueroa
1998-12-15 22:00                     ` Paul Eggert
1998-12-15 23:17                       ` Martin von Loewis
1998-12-17  7:32                         ` Paul Eggert
1998-12-17 16:48                           ` Martin von Loewis
1998-12-17 22:10                             ` Paul Eggert
1998-12-18 21:31                           ` Richard Stallman
1998-12-16  0:18                       ` Per Bothner
1998-12-09 23:18               ` Martin von Loewis
1998-12-10  7:57                 ` Ian Lance Taylor
1998-12-10 13:12                   ` Martin von Loewis
1998-12-11 19:32                   ` Paul Eggert
1998-12-11 19:34                   ` Ken Raeburn
1998-12-14 17:05                     ` Ian Lance Taylor
1998-12-11 19:28                 ` Paul Eggert
1998-12-12  1:06                   ` Martin von Loewis
     [not found]               ` <199812100200.VAA06419.cygnus.egcs@wagner.Princeton.EDU>
1998-12-10 11:31                 ` Jonathan Larmour

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=199812101949.OAA13722@melange.gnu.org \
    --to=burley@gnu.org \
    --cc=tim@wagner.princeton.edu \
    /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).