ax_c___attribute__

"control may reach end of non-void function foo" の警告がうるさいのでちょっと調べてみたところ、__attribute__(()) が使えることを認識していないらしいとわかった。configure を覗いてみると、かなーりまずそうな出力が目に止まる。

    cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <stdlib.h>
int
main ()
{
static void foo(void) __attribute__ ((unused));
      static void
      foo(void) {
          exit(1);
      }
  ;
  return 0;
}
_ACEOF

うう…調べたくないなあこれ…。これって他の人の環境では正しく処理されてんの?

追記: Code の方で #if __GNUC__ >= (何か) した方がいいような気がするんだけど…。


libpcap で正にこの問題に因る fix が入ってる。しかしこれは単純にパクっていいんでしょうか。4-clause BSD になってるけど、sigscheme は 3-clause…
確か kerneltrap.org かどっかで Theo de Raadt が「今でも NetBSD との code 交換は続いている。それに関しては license さえ問題なければ良いという姿勢だ。」みたいな事を言ってた気がするけど、そうすると単純に取って来たら良いのかな? 誰か教えて。

追記: あった。しかしこれだけでは何を取ってきてるのかはっきりしない。

追々記: おー、消えた消えた目障りだったのが。