Clang是否具有相当于GCC的-malign-double标志?

时间:2012-04-22 20:12:31

标签: gcc clang compiler-flags

似乎已从Clang中删除了-malign-double编译器选项。示例代码:

#include <stddef.h>
#include <stdio.h>

typedef struct X { char a; long long b; } X;

int main(void)
{
  printf("%zd\n", offsetof(X, b));
  return 0;
}

在32位模式(-m32)中使用GCC编译时,可以输出8或4,具体取决于是否启用了-malign-double。但Clang似乎不支持这个选项:

$ clang test.c -m32 -malign-double
clang: warning: argument unused during compilation: '-malign-double'
$ ./a.out
4

Clang版本:

Apple clang version 3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.3.0
Thread model: posix

我似乎无法在Clang支持的完整编译器标志列表中找到任何官方文档,它们似乎在大多数情况下都遵循GCC的文档。

Clang中是否有等效于-malign-double的电流?或者我现在不得不使用不同的编译器?我需要它来编译一些链接到使用该标志的仅使用二进制的第三方库的代码。

0 个答案:

没有答案