you're correct (see reply from Bruce Evans below) __func__ is
    in /usr/src/contrib/gcc/c-common.c 

ChangeLog:9854: `__func__'.
c-common.c:164:/* Make bindings for __FUNCTION__, __PRETTY_FUNCTION__, and __func__.  
c-common.c:190:  declare_hidden_char_array ("__func__", name);

    which, if as indicated in ChangeLog:9854
Tue Dec  1 20:49:49 1998  Ulrich Drepper  <[EMAIL PROTECTED]>
                          Stephen L Moshier  <[EMAIL PROTECTED]>
                          Richard Henderson  <[EMAIL PROTECTED]>

* c-common.c (declare_function_name): Declare predefined variable

    makes me question why the gcc compiler which I believe was
    in use for 4.0-CURRENT prior to 21 Jul 99, does not include
    the declaration, particularly since the compiler used for
    the compile was based on a CURRENT cvsup of 29 Jun 99....

    However, that still leaves me between a rock and a hard
    Kernel usage appears limited solely to two error statements
    in /usr/src/sys/i386/i386/cksum.c


238     if (len)
239             printf("%s: out of data by %d\n", __func__, len);

426     if (len)
427             printf("%s: out of data by %d\n", __func__, len);

    Which is easily enough circumvented (kludged):
238     if (len)
243             printf("%s: out of data by %d\n", "in_cksum", len);

431     if (len)
435             printf("%s: out of data by %d\n", "in_cksum_skip", len);
    Which is an abomination... and like Bruce, I question the
    need for __func__ at this point...

    But, beggars can not be choosers, and, it does compile,
    without errors, both GENERIC and the target 'hun'.

    And, even better, it appears to execute X from 4.0-CURRENT
    along with Xemacs, pine, xshisen (great during long
    compiles) etc. --what more could I ask for?  Easy, a good
    'make world' and update of /etc files. since my cvsup is
    from 000422.1619 UCT, maybe JKH's 'BOTD' in netstat.c had
    not crept in...

On Sun, 23 Apr 2000, Bruce Evans <[EMAIL PROTECTED]> wrote:

+ On Sat, 22 Apr 2000, attila! wrote:
+ >     '__func__ is not found for either the 'GENERIC' or 'hun' target.
+ __func__ is a new feature in C99.  It is an alias for the gcc feature
+ __FUNCTION_NAME.  Both give the name of the current function as a string.
+ This feature should not be used until C99 becomes Normal, if ever.
+ Using it breaks portability.  It apparently even breaks compiling
+ current kernels with the version of gcc in FreeBSD-3.4.  I think
+ __func__ was added in egcs (the Changelog entry for adding it in gcc
+ is dated Dec 1 1998).

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to