This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: constructors and multiple entry points
Andrew Pinski <pinskia@physics.uc.edu> writes:
| On Sep 19, 2005, at 1:44 PM, Gabriel Dos Reis wrote:
|
| >
| > Hi,
| >
| > We're assessing many proposals to add "forwarding constructors" and
| > forwarding functions to C++0x; and I got a question.
| >
| > In standard C++, constructors cannot be recursive functions. I'm
| > wondering whether the multiple entry-points implementation strategy
| > used
| > by GCC depends in anyway on the absence of recursive definition.
|
| I think people have raised this before but some targets will never
| support multiple entry points.
Some targets don't support weak symbols; that never stopped us from using
that technology where available.
| Things like:
|
| _extern_function:
| mr r0, r3
| mr r3, r4
| mr r4, r0
| _extern_function_1:
| ...
|
| blr
|
| is not really supported on powerpc-darwin.
|
| You might want to look into how gfortran implements multiple
| entry-points
| but IIRC the ENTRY construct in Fortran is now declared as obsolete and
| really should not be used so I don't understand why C++ is trying to
| add this.
Nobody is trying to add multiple entry points to C++0x as a linguistic
construct.
The issue was whether GNU g++ uses it as an *implementation detail*
that will be affected if constructors suddenly became recursive.
-- Gaby