[adlint-user-ja:92] システムヘッダファイル内での構文エラー
Open source and free source code static analyzer
Brought to you by:
asamiogis
From: Takashi H. <ta...@ki...> - 2014-05-06 21:01:00
|
堀と申します。はじめまして。 AdLint 3.2.12を使わせて頂いています。 表題の件ですが、Microchip Technology製のコンパイラ「MPLAB XC32 Ver. 1.30」のヘッダファイルが原因で、次のエラーメッセージが表示されます。 > c:\program files\microchip\xc32\v1.30\pic32mx\include\stdio.h|291 col > 32| error:core:E0008:ERR:X99:トークン `, fprintf' で構文エラーを検知し > ました。 その内容は、次のようになっています。 > #if defined(__C32_VERSION__) > define_smartio_variants(int,fprintf,FILE *, const char *, ...); > define_smartio_variants(int, fscanf, FILE *, const char *, ...); > define_smartio_variants(int,vfprintf,FILE *, const char *, va_list); > define_smartio_variants(int, vfscanf, FILE *, const char *, va_list); > #endif さらに、マクロ「define_smartio_variants」は、次のような定義でした。 > #if defined(__C32_VERSION__) > #if !defined(__STRICT_ANSI__) > #define define_smartio_variants(rettype,funcname,...) \ > extern rettype _ ## funcname ## _cdeEfFgGnopsuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdeEfFgGnopuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdeEfFnopsuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdeEfFnopuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdeEgGnopsuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdeEgGnopuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdeEnopsuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdeEnopuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdfFgGnopsuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdfFgGnopuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdfFnopsuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdfFnopuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdgGnopsuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdgGnopuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdnopsuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _cdnopuxX (__VA_ARGS__); \ > extern rettype _ ## funcname ## _eE (__VA_ARGS__); \ > extern rettype _ ## funcname ## _eEfF (__VA_ARGS__); \ > extern rettype _ ## funcname ## _eEfFgG (__VA_ARGS__); \ > extern rettype _ ## funcname ## _eEfFgGs (__VA_ARGS__); \ > extern rettype _ ## funcname ## _eEfFs (__VA_ARGS__); \ > extern rettype _ ## funcname ## _eEgG (__VA_ARGS__); \ > extern rettype _ ## funcname ## _eEgGs (__VA_ARGS__); \ > extern rettype _ ## funcname ## _eEs (__VA_ARGS__); \ > extern rettype _ ## funcname ## _fF (__VA_ARGS__); \ > extern rettype _ ## funcname ## _fFgG (__VA_ARGS__); \ > extern rettype _ ## funcname ## _fFgGs (__VA_ARGS__); \ > extern rettype _ ## funcname ## _fFs (__VA_ARGS__); \ > extern rettype _ ## funcname ## _gG (__VA_ARGS__); \ > extern rettype _ ## funcname ## _gGs (__VA_ARGS__); \ > extern rettype _ ## funcname ## _s (__VA_ARGS__); \ > extern rettype _ ## funcname (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdeEfFgGnopsuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdeEfFgGnopuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdeEfFnopsuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdeEfFnopuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdeEgGnopsuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdeEgGnopuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdeEnopsuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdeEnopuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdfFgGnopsuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdfFgGnopuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdfFnopsuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdfFnopuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdgGnopsuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdgGnopuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdnopsuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _cdnopuxX (__VA_ARGS__); \ > extern rettype _d ## funcname ## _eE (__VA_ARGS__); \ > extern rettype _d ## funcname ## _eEfF (__VA_ARGS__); \ > extern rettype _d ## funcname ## _eEfFgG (__VA_ARGS__); \ > extern rettype _d ## funcname ## _eEfFgGs (__VA_ARGS__); \ > extern rettype _d ## funcname ## _eEfFs (__VA_ARGS__); \ > extern rettype _d ## funcname ## _eEgG (__VA_ARGS__); \ > extern rettype _d ## funcname ## _eEgGs (__VA_ARGS__); \ > extern rettype _d ## funcname ## _eEs (__VA_ARGS__); \ > extern rettype _d ## funcname ## _fF (__VA_ARGS__); \ > extern rettype _d ## funcname ## _fFgG (__VA_ARGS__); \ > extern rettype _d ## funcname ## _fFgGs (__VA_ARGS__); \ > extern rettype _d ## funcname ## _fFs (__VA_ARGS__); \ > extern rettype _d ## funcname ## _gG (__VA_ARGS__); \ > extern rettype _d ## funcname ## _gGs (__VA_ARGS__); \ > extern rettype _d ## funcname ## _s (__VA_ARGS__); \ > extern rettype _d ## funcname (__VA_ARGS__); > #else > #define define_smartio_variants(rettype,funcname,...) > #endif /* STRICT_ANSI */ > #endif /* C32_VERSION */ 私の方で試したのは、次の内容です。 「define_smartio_variants」を空定義しようと、adlint_cinit.hに > #define define_smartio_variants(rettype,funcname,...) を追加 → 効果なし 「__STRICT_ANSI__」を定義すれば、「define_smartio_variants」は定義されな いはず、と考え、 adlint_pinit.hに > #define __STRICT_ANSI__ を追加 → 効果なし 他にどのようにすればこのエラーを解消できるか、お教えいただければありがた いです。 どうぞよろしくお願いいたします。 #もし、メーリングリストの趣旨と合わない内容でしたら、すみません |