1

私の CCS 6.1 ARM コンパイラ (LM3Sxxxx Stellaris 用) は、次の警告をスローします。

「MISRA ルール 10.1。式が定数ではなく、関数の引数である場合、整数型の式の値を別の基になる型に暗黙的に変換してはならない」

次のコードの場合:

static uint32_t diagBaseAddress;

void diagCbGetBaseAddress(uint32_t * addr);

...
diagCbGetBaseAddress(&diagBaseAddress); // line where warning is issued
...

コードに問題はありません。誤検知ですか、それとも私のバグですか?

4

1 に答える 1

1

はい、誤検知です。MISRA-C:2004 の規則 10.1 は、整数型の暗黙的な型の昇格について懸念しています。ポインタはその規則とは何の関係もありません。

隣接するコード行に実際の問題が含まれていないことを確認しますが、ツールが単に間違った行を指している可能性があります。

(基になる型について言及しているため、2004 バージョンであることがわかります。2012 バージョンでは、基になる型の概念が置き換えられました。)

于 2015-09-14T11:50:29.933 に答える