Python 2.4.2 でコンパイルエラー

細かいメッセージは忘れました。complex_pow() 内で、"minus uray" は正しくないとか、"==" がタイプミスマッチだとか言われました。
調べてみると

  1. Py_ADJUST_ERANGE2(X, Y) でエラーが発生していた
  2. それはpyport.hで定義されているマクロで、内部に "-Py_HUGE_VALUE" の式がある
  3. pyport.h内で Py_HUGE_VALUE が HUGE_VALUE に define されている
  4. じゃあいいじゃん、と思いつつ cpp をかけると HUGE_VALUE が __builtin_huge_val にトランスレートされた
  5. __builtin_huge_val は実は関数だった

で、(SRC)/Include/pyport.h の 254行を次のように変更するとコンパイルが通りました。

#define Py_HUGE_VAL (__builtin_huge_val())