これをコンパイルすると奇妙なエラーが発生します
#include <termios.h>
#include <stddef.h>
struct Test {
int a;
int b;
};
void test() {
static int test_array[(offsetof(struct Test,a)) > 0 ? 2 : 1];
}
arm-linux-androideabi-gcc -c を使用:
test.c:8:13: error: storage size of 'test_array' isn't constant
これについての奇妙なことは、私が
#include <termios.h>
全体がエラーなしでコンパイルされます。また、ubuntu システムにインストールされている gcc を使用すると、termios.h をインクルードするかどうかに関係なくエラーは発生しません。理由はありますか?
背景: ghc (グラスゴー haskell コンパイラ) android クロスコンパイラをコンパイルしようとしていますが、hs2hsc はこの状況で失敗します。