Dimitrie O. Paun wrote:
This is the patch I use for gcc4.0 here.

I am not really sure why this aliasing was introduced,
but it will not work this way anymore.

I still don't understand why it doesn't work.

It was introduced because using macros it not always acceptable.
Some source uses these functions in ways that break if they are
defined as macros.

Defining them as inline functions work, but we can't do so for
varargs, in which case we used aliases.

What was the reason to break them, and why they don't work?
They are aliasing to things that _are_ defined, so I'm not
sure what is going on there.

http://www.gnu.org/software/gcc/gcc-4.0/changes.html says (not that I really understand it totally):

--- snip ---
Given __attribute__((alias("target"))) it is now an
error if target is not a symbol, defined in the same
translation unit. This also applies to aliases created
by #pragma weak alias=target.
This is because it's meaningless to define an alias to
an undefined symbol. On Solaris, the native assembler
would have caught this error, but GNU as does not.
--- snip ---


- Dan

--
Trying to get a job as a c++ developer?  See 
http://kegel.com/academy/getting-hired.html



Reply via email to