WP 插件可以处理联合和双关语吗?

Can the WP plugin handle unions and type punning?

我正在处理一个类型双关示例,想知道 WP 或其他插件是否可以处理这个问题。到目前为止,我真的找不到任何关于 WP 和工会的东西,但他们似乎得到了支持。

这是一个示例片段:

float uint32_reg_to_float(uint32_t val) {
    union {
        uint32_t ui32;
        float    f;
    } u;

    u.ui32 = val;
    return u.f;
}

据我所知,WP 只能处理在最有限的意义上使用联合的程序,即始终读取与上次更新联合时写入的完全相同的字段(在这种情况下,从纯逻辑的角度来看,您或多或少可以将所有字段视为不同的变量)。不过,这可能不是你所说的类型双关语......

另一方面,Eva 不应该对这样的联合有任何问题,明显的警告是,当解释为 float 时,会导致小整数间隔的抽象位模式可能更加不精确,反之亦然相反。