public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: "Joseph S. Myers" <jsm28@cam.ac.uk>
To: Neil Booth <neil@daikokuya.co.uk>
Cc: <gcc@gcc.gnu.org>,  <libstdc++@gcc.gnu.org>
Subject: Re: basic-improvements merge status
Date: Mon, 16 Dec 2002 21:32:00 -0000	[thread overview]
Message-ID: <Pine.LNX.4.33.0212170303120.13448-100000@kern.srcf.societies.cam.ac.uk> (raw)
In-Reply-To: <20021216222324.GA511@daikokuya.co.uk>

On Mon, 16 Dec 2002, Neil Booth wrote:

> But those switches are statements about what features the compiler
> should accept, and compiler semantics.  They say nothing about the
> library conformance of the target to C99, IMO.

-std=c89 says (unless -ffreestanding is used) that library function names
reserved in C90 may be presumed to have their C90 semantics, and built-in
functions may be optimised on that basis (while it also disables various
built-in functions that aren't in C90 but are accepted in gnu89 mode).  
-std=c99 says (unless -ffreestanding is used) the same thing for C99.  
Such presumptions may be avoided by -ffreestanding.  Note that the 
standards specify that the reserved function names are always reserved for 
functions with external linkage, irrespective of whether any headers are 
included (except for a special case in C94, where some new wide character 
function names are only reserved if certain headers are included somewhere 
in the program; this special case was removed in C99).

Of course it's still sensible to avoid generating calls to functions known
not to be present on the target, if calls to those functions weren't
present in the source code, just as we use TARGET_MEM_FUNCTIONS to know
whether to generate calls to the C90 mem* functions.  (Though in that case
I think that we should put the mem* functions in libgcc for targets
without them in libc and then generate calls to them unconditionally;  
this would need replacing TARGET_MEM_FUNCTIONS by a mechanism for
specifying, for the old targets without the functions that haven't had
support for them removed, which functions should be added to libgcc.  
Much the same mechanism could be used for sinf etc., though the benefits
are less and we don't have the information readily to hand in the target
headers to work out which systems need sinf defined.)

-- 
Joseph S. Myers
jsm28@cam.ac.uk

  parent reply	other threads:[~2002-12-17  3:15 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-16 13:52 David Edelsohn
2002-12-16 13:57 ` Zack Weinberg
2002-12-16 14:23   ` David Edelsohn
2002-12-16 14:27     ` Jan Hubicka
2002-12-16 14:47       ` Neil Booth
2002-12-16 15:10         ` Jan Hubicka
2002-12-17  0:50           ` Gabriel Dos Reis
2002-12-17 15:54             ` Richard Henderson
2002-12-17 16:14               ` Gabriel Dos Reis
2002-12-18  5:29                 ` Jan Hubicka
2002-12-17 16:19               ` Matt Austern
2002-12-17 16:31                 ` Phil Edwards
2002-12-16 21:32         ` Joseph S. Myers [this message]
2002-12-16 17:01       ` Mark Mitchell
2002-12-17  0:47     ` Gabriel Dos Reis
2002-12-17  0:54       ` Jan Hubicka
2002-12-17  1:19         ` Gabriel Dos Reis
2002-12-16 14:29 ` Jan Hubicka
2002-12-16 14:29   ` David Edelsohn
2002-12-16 14:35     ` Jan Hubicka
2002-12-17  0:55     ` Gabriel Dos Reis
2002-12-17  0:58       ` Jan Hubicka
2002-12-17  1:53         ` Gabriel Dos Reis
2002-12-17  4:16           ` Jan Hubicka
2002-12-17  4:29             ` Fergus Henderson
2002-12-17  8:39             ` Gabriel Dos Reis
2002-12-17 13:58               ` Jan Hubicka
2002-12-16 14:44   ` David Edelsohn
2002-12-16 14:45     ` Jan Hubicka
2002-12-16 14:52       ` David Edelsohn
2002-12-16 14:54         ` Jan Hubicka
2002-12-16 17:05           ` Mark Mitchell
2002-12-17  0:44             ` Jan Hubicka
2002-12-17  0:46               ` Mark Mitchell
2002-12-17  0:51                 ` Jan Hubicka
2002-12-17  4:10                   ` Joseph S. Myers
2002-12-17  7:06                     ` Gabriel Dos Reis
2002-12-17 11:42                       ` Joseph S. Myers
2002-12-17  9:43                   ` Mark Mitchell
2002-12-17 14:06                     ` Jan Hubicka
2002-12-17 14:18                       ` Gabriel Dos Reis
2002-12-17 14:36                     ` Implicit generation of runtime calls Jan Hubicka
2002-12-17 14:51                       ` Jan Hubicka
2002-12-17  0:54                 ` basic-improvements merge status Jan Hubicka
2002-12-17  3:24                   ` Gabriel Dos Reis
2002-12-17  4:28                     ` Hot to configure sinf? Jan Hubicka
2002-12-17  8:24                       ` Gabriel Dos Reis
2002-12-17  1:51                 ` basic-improvements merge status Gabriel Dos Reis
2002-12-17 21:31                   ` Alexandre Oliva
2002-12-17 21:21                 ` Alexandre Oliva
2002-12-18  5:44                   ` Jan Hubicka
2002-12-17  1:16             ` Gabriel Dos Reis
2002-12-16 15:05         ` [libstdc++] " Jan Hubicka
2002-12-16 15:40       ` Dale Johannesen
2002-12-16 16:16         ` Jan Hubicka
2002-12-16 17:12           ` Dale Johannesen
2002-12-16 19:16             ` Fergus Henderson
2002-12-17  1:14           ` Gabriel Dos Reis
2002-12-17  3:48             ` Joseph S. Myers
2002-12-16 15:55       ` Benjamin Kosnik
2002-12-16 16:10         ` Jan Hubicka
2002-12-16 15:56     ` Andrew Pinski
2002-12-17  0:53   ` Gabriel Dos Reis
2002-12-17  0:56     ` Jan Hubicka
2002-12-17  1:22       ` Gabriel Dos Reis
2002-12-17  3:20         ` Gabriel Dos Reis
2002-12-17  2:12     ` Gabriel Dos Reis
     [not found] <B1F15313-1157-11D7-96C8-00039375D8A0@apple.com>
2002-12-16 17:44 ` Geoff Keating
2002-12-16 18:28   ` Zack Weinberg
2002-12-16 18:47     ` Geoff Keating
  -- strict thread matches above, loose matches on Subject: below --
2002-12-16 10:26 David Edelsohn
2002-12-15 15:46 Zack Weinberg
2002-12-15 20:57 ` Mark Mitchell
2002-12-16  1:02   ` Zack Weinberg
2002-12-16  1:05     ` Mark Mitchell
2002-12-16  2:19       ` Tom Lord
2002-12-16 11:52         ` DJ Delorie
2002-12-16  8:46     ` Jason R Thorpe
2002-12-16  1:46 ` Jan Hubicka
2002-12-16 12:55 ` Geoff Keating
2002-12-16 13:11   ` Robert McNulty Junior
2002-12-16 14:39   ` Mark Mitchell

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=Pine.LNX.4.33.0212170303120.13448-100000@kern.srcf.societies.cam.ac.uk \
    --to=jsm28@cam.ac.uk \
    --cc=gcc@gcc.gnu.org \
    --cc=libstdc++@gcc.gnu.org \
    --cc=neil@daikokuya.co.uk \
    /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).