__attribute__ ((deprecated))

Tom Tromey tromey@redhat.com
Tue Apr 24 10:38:00 GMT 2001


>>>>> "Anthony" == Anthony Green <green@redhat.com> writes:

>> Philipp wrote:
>> With the compiler it wouldn't be such a problem. Mark the message
>> with N_()
>> (which would mark it as translatable string and thus it would appear in
>> gcc.pot) and have the compiler call gettext.

Anthony> Are you sure?  I guess I don't understand GCC's i18n support.
Anthony> Stan's proposal has part of the message in the user's source
Anthony> code.  How would that ever end up in gcc.pot?

I don't see how it could.

Note that we already have this problem in gcj, because like other Java
compilers gcj will recognize `@deprecated' in javadoc comments and
print a message -- which might include user text.

For C and C++, is arbitrary text really needed?  What if we allowed:

    int foo (int) __attribute__ ((deprecated "bar(int)"));

... and then used `printf ("%s is deprecated; use `%s' instead")

This would solve the i18n problem at the loss of some generality.  Is
the generality really a requirement?

Tom



More information about the Gcc mailing list