public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: mec.gnu@mindspring.com (Michael Elizabeth Chastain)
To: gcc@gcc.gnu.org
Subject: (printf) ("hello world\n");
Date: Tue, 09 Dec 2003 20:41:00 -0000	[thread overview]
Message-ID: <20031209204037.906D84B412@berman.michael-chastain.com> (raw)

I have a language lawyer question.

  int main ()
  {
    (printf) ("hello world\n");
    return 0;
  }

Is this a conforming C program?

There is no "#include <stdio.h>" so there is no declaration
in scope for printf.

gcc 2.95.3 and gcc 3.3.2 both say:

  hello.c: In function `main':
  hello.c:3: `printf' undeclared (first use in this function)
  hello.c:3: (Each undeclared identifier is reported only once
  hello.c:3: for each function it appears in.)

This happens with each of:

  -std=iso9899:1990
  -std=iso9899:199409
  -std=iso9899:1999

But the HP ansi-c and aCC compilers accept it just fine.

This kind of code comes out of a macro expansion with readline 4.3
and gcc 3.3.2 on native hppa2.0w-hp-hpux11.11.  It's the end
result of an interaction between multibyte support in hpux11
and a strange-looking workaround in readline.

Of course the question "is this conforming ..." depends on a particular
standard.  So I think I am asking three questions, one for each of the
three standards.

If the program is not conforming, then I can work on a patch for
readline.  But if the program is conforming, then I can file a PR
against gcc (and I'll still have to patch readline).

(Personally I would be happier if this program is not conforming.)

Michael C

             reply	other threads:[~2003-12-09 20:40 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-09 20:41 Michael Elizabeth Chastain [this message]
2003-12-09 21:01 ` Dale Johannesen
2003-12-09 23:56 ` Geoff Keating
2003-12-10  9:53   ` Eyal Lebedinsky
2003-12-10 10:18     ` Andreas Schwab
2003-12-10 12:45       ` Robert Dewar
2003-12-10 13:12         ` Segher Boessenkool
2003-12-10 13:34           ` Robert Dewar
2003-12-10 13:36           ` Gabriel Dos Reis
2003-12-10 14:08           ` Joseph S. Myers
2003-12-10 14:17             ` Segher Boessenkool
2003-12-10 15:55               ` Andreas Schwab
2003-12-11 17:09               ` Geoff Keating
2003-12-11 17:39                 ` Segher Boessenkool
2003-12-12 13:07                 ` Jan-Benedict Glaw
2003-12-12 17:17                   ` Gabriel Dos Reis
2003-12-10 14:19             ` Register Spilling Umar Janjua
2003-12-11  7:59               ` Jim Wilson
2003-12-11  9:01                 ` Sanjiv Gupta

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=20031209204037.906D84B412@berman.michael-chastain.com \
    --to=mec.gnu@mindspring.com \
    --cc=gcc@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).