インラインアセンブラ記述で解析エラーが発生します。回避策を教えください。
言語設定は「C99」に設定しています。
■記述例
asm ("sqrtf.s %0, %1" : "+r" (data1),"=r" (data2));
■解析エラー
CasePlayer2-XCCPPV_V:
line xx: error: exp ected a ")"
asm ("sqrtf.s %0, %1" : "+r" (data1),"=r" (data2));
よくある質問(FAQ)
インラインアセンブラ記述で解析エラーが発生します。回避策を教えください。
言語設定は「C99」に設定しています。
■記述例
asm ("sqrtf.s %0, %1" : "+r" (data1),"=r" (data2));
■解析エラー
CasePlayer2-XCCPPV_V:
line xx: error: exp ected a ")"
asm ("sqrtf.s %0, %1" : "+r" (data1),"=r" (data2));
本エラーは、C99言語仕様に違反しているため解析エラーとなっています。解析エラーが発生しているインラインアセンブラ記述は GNU-C で規定されている記述形式です。
■回避策
「言語設定」を C99 から GNU-Cへ 変更することで、エラーを回避できます。
何等かの事情等で「言語設定」を変更できない(C99 又は ANSI-C で使用したい)場合は、「Cオプションパラメータ」 及び「プリプロセッサの設定」を併用することで、エラーを回避できます。
■ Cオプションパラメータの設定
キーワード:user_asm
種類 :ASM
後置記述 :(EXPRESSION)
■プリプロセッサの設定
下記の定義(#define...)をしたヘッダファイル(gaio.h)を「プレインクルードファイル」に追加します。
※ C99では キーワード「asm」は予約語となっているため、競合を避けるため「user_asm」へ置き換えます。
--[gaio.h]-------------------
#define asm user_asm
-------------------------------