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