This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: basic-improvements merge status
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: David Edelsohn <dje at watson dot ibm dot com>, Zack Weinberg <zack at codesourcery dot com>, gcc at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: 17 Dec 2002 10:09:04 +0100
- Subject: Re: basic-improvements merge status
- Organization: Integrable Solutions
- References: <200212162137.QAA28706@makai.watson.ibm.com><20021216222302.GC3138@kam.mff.cuni.cz><m34r9dhw8m.fsf@uniton.integrable-solutions.net><20021217085344.GT3138@kam.mff.cuni.cz>
Jan Hubicka <jh@suse.cz> writes:
| > Jan Hubicka <jh@suse.cz> writes:
| >
| > | > The GCC 3.4BIB libstdc++-v3 failure of 26_numerics/c_math.cc on
| > | > AIX is occurring because libstdc++-v3/libmath/stubs.c functions are
| > | > recursing.
| > | >
| > | > #ifndef HAVE_SINF
| > | > float
| > | > sinf(float x)
| > | > {
| > | > return (float) sin(x);
| > | > }
| > | > #endif
| > | >
| > | > is being compiled as
| > |
| > | I think we can deal with -fno-builtin-fsin to avoid gcc from being
| > | active on optimizing this.
| > | The name sinf is reserved by C90 standard, so this is not valid C.
| >
| > This is part of the *compiler runtime support* so it does make sense
| > de define the sinf() function.
| Yes, but what is wrong with compiling runtime with -fno-builtins to
| avoid GCC from assuming that the reserved functions are used in usual
| ways?
That is just papering over broken assumptions made by the tranformation.
I rather see the transformation applied only when there are confidence
that the result of the transformation will also run on the target.
-- Gaby