public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Klaus Kaempf <kkaempf@progis.de>
To: egcs@cygnus.com
Subject: Re: front end interface
Date: Mon, 18 Aug 1997 14:53:46 -0000	[thread overview]
Message-ID: <9708181407.AA10732@progis.de> (raw)
In-Reply-To: 199708181203.IAA16149@scrubbing-bubbles.MIT.EDU

> 
> memcpy is recognized by the C front end, as are some of the other
> string and math functions.

This already leads to all sorts of unwanted behaviour, see below
> 
> The new calls.c recognizes malloc, calloc, and realloc by name.

Is a list of these names documented anywhere ? A possible solution
would be to include these in a (vms specific) gcclib which calls the
proper dec c functions.

> 
> Standard functions which are defined as macros must also be defined
> with their real names.  gcc depends on this; for example it may call
> "memcpy" for large structure assignments.
> 

The dependancy on 'real names' hit me once before. I haven't found an easy solution
for this yet. Maybe the front end should be changed to have function
declarations override internal prototypes for the same function.

The openVMS/Alpha math.h uses DEC C math functions with different
assembler symbol names:

math.h: extern double sin (double _x) __asm ("MATH$SIN_T");

libstdc++/fcomplex.cc calls sin() with a float argument which
doesn't match the math.h prototype (double argument), so the
built-in sin prototype is matched (why ?).

Since there is no built-in sin function, the resulting object
code lists 'sin' as an undefined symbol which isn't matched
by any library.

Compiling with "-fno-builtin" or changing the prototype declaration
in math.h to have a 'float' argument is a (temporary) solution.



-- 
proGIS Software                 E-Mail: kkaempf@progis.de
Dipl.-Inform. Klaus K"ampf      Fax:    0241-47067-29
Jakobstr. 117                   Voice:  0241-47067-11
D-52064 Aachen                  WWW:	http://www.progis.de

             reply	other threads:[~1997-08-18 14:53 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-08-18 14:53 Klaus Kaempf [this message]
  -- strict thread matches above, loose matches on Subject: below --
1997-08-18 16:34 bootstrapping problems with native compiler Dave Love
1997-08-18 16:34 ` front end interface Nigel Stephens
1997-08-18 16:52 ` Dave Love
1997-08-18 14:53 Monday morning Philippe Laliberte
1997-08-18 14:53 ` front end interface Andreas Schwab
1997-08-18 13:29 John Carr
1997-08-18  9:31 Klaus Kaempf
1997-08-18  8:22 2 (small?) problems Thomas Hiller
1997-08-18 10:42 ` front end interface Clive Nicolson
1997-08-16 20:53 John Carr
1997-08-16 14:11 John Carr
1997-08-16 16:28 ` Jeffrey A Law

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=9708181407.AA10732@progis.de \
    --to=kkaempf@progis.de \
    --cc=egcs@cygnus.com \
    /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).