>>672
ポインターのアライメントをチェックするときに、
ポインターを整数に変換して、よくこんなコードを書くよ。

以下は、ポインターを、指定した境界に合わせるコードだけど、
gcc4で問題なく動いてるよ。

static void *get_aligned_address(void *pointer, int boundary)
{
if (((unsigned int)pointer) % boundary) {
return (void *)((((unsigned int)pointer) / boundary) * boundary + boundary);
}

return pointer;
}