Andrew Pinski <[EMAIL PROTECTED]> 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

Reply via email to