我正在为 x86 的 Solaris 10 上编译一个 C 程序,这是一个链接的部分:
>yyerrlab1:/*Suppress GCC warning that yyerrlab1 is unused when no action*/
>#if defined (__GNUC_MINOR__)&&2093<=(__GNUC__*1000+__GNUC_MINOR__)
> __attribute__((__unused__))
>#endif
>goto yyerrlab2;
代码写在一个名为 yacc.y 的文件中。当我通过makefile编译程序时,结果是:
>bison -d -p syn yacc.y
>yacc.y:conflicts:7shifts/reduce
>mv yacc.tab.h yacc.h
>mv yacc.tab.c yacc.c
>yacc.tab.c: in function 'int synparse()';
>yacc.tab.c:1543:error:expected primary-expression before "__attribute__"
>yacc.tab.c:1543:error:expected ";" before "__attribute__"
代码有什么问题?我该如何解决?