求解,gcc编译C++代码为intel样式错误

c++代码

 int g_arr[10];

 int main()
 {
  g_arr[0] = 1;
  g_arr[1] = 2;
    g_arr[2] = 3;
 }

使用g++编译为intel样式的汇编代码
g++ -S -o main.s main.cpp -masm=intel
然后汇编为目标文件时报错
g++ -c -o main.o main.s

图片说明
查看编译后的汇编代码确实有问题,不知道是不是编译参数写错了还是gcc使用intel样式汇编时本身就有bug

我试过了,正常编译没问题 g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)

 int g_arr[10];

int main()
{
        g_arr[0] = 1;
        g_arr[1] = 2;
        g_arr[2] = 3;
        return 0;
}

main.s

    .file   "main.c"
    .intel_syntax noprefix
.globl g_arr
    .bss
    .align 32
    .type   g_arr, @object
    .size   g_arr, 40
g_arr:
    .zero   40
    .text
.globl main
    .type   main, @function
main:
.LFB0:
    .cfi_startproc
    .cfi_personality 0x0,__gxx_personality_v0
    push    ebp
    .cfi_def_cfa_offset 8
    .cfi_offset 5, -8
    mov ebp, esp
    .cfi_def_cfa_register 5
    mov DWORD PTR g_arr, 1
    mov DWORD PTR g_arr+4, 2
    mov DWORD PTR g_arr+8, 3
    mov eax, 0
    pop ebp
    .cfi_restore 5
    .cfi_def_cfa 4, 4
    ret
    .cfi_endproc
.LFE0:
    .size   main, .-main
    .ident  "GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-18)"
    .section    .note.GNU-stack,"",@progbits

看下你生成的汇编代码是什么,用的是masm汇编么