[#28337] constant look up order in CVS HEAD — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

15 messages 2006/02/18
[#28338] Re: constant look up order in CVS HEAD — Tanaka Akira <akr@...17n.org> 2006/02/19

In article <1140229116.805371.31930.nullmailer@x31.priv.netlab.jp>,

[#28341] Re: constant look up order in CVS HEAD — GOTOU Yuuzou <gotoyuzo@...> 2006/02/19

In message <87lkw8xfay.fsf@m17n.org>,

[#28342] Re: constant look up order in CVS HEAD — Yukihiro Matsumoto <matz@...> 2006/02/19

まつもと ゆきひろです

[ruby-dev:28339] VC8 and ext/openssl

From: arton <artonx@...>
Date: 2006-02-19 04:42:19 UTC
List: ruby-dev #28339
artonです。

VC++8(VS 2005)で、ext/opensslがコンパイルエラーとなります。

VC++8では__VA_ARGSが定義されていますが、そのためHAVE_VA_ARGS_MACROが定義
され、ext/ossl.hの
#define OSSL_Debug(fmt, ...) do { \
  if (dOSSL == Qtrue) { \
    fprintf(stderr, "OSSL_DEBUG: "); \
    fprintf(stderr, fmt, ##__VA_ARGS__); \
    fprintf(stderr, " [in %s (%s:%d)]\n", __func__, __FILE__, __LINE__); \
  } \
} while (0)

が有効となります。
しかしVC++8では__func__は未定義のためコンパイルに失敗します。
VC++8には、__func__と同等だと思われる__FUNCTION__というマクロが定義され
ているので、代わりにこちらを利用できると良いのではないかと思います。
正直なところ、どうあるべきかは僕には判断できないのですが
http://lists.gnu.org/archive/html/bug-autoconf/2002-07/msg00028.html
のあたりで議論されているようです。

-- 
arton <artonx@yahoo.co.jp>

--------------------------------------
GANBARE! NIPPON!
Yahoo! JAPAN JOC OFFICIAL INTERNET PORTAL SITE PARTNER
http://pr.mail.yahoo.co.jp/ganbare-nippon/

In This Thread

Prev Next