下記のコード(再現コード)でエラーとならないような、gccのコンパイルオプションがあるでしょうか?
C
1#include <stdio.h> 2 3void main(int argc, char argv[]) 4{ 5 int val1; 6 int val2; 7 8 val1 = 0x200; 9 (short)val2 = val1; // ここで、lvalue のエラーとなる。 10 printf("hellow 11 World!"); // 文字列の中でに改行があるため、エラーとなる。 12}
エラー内容は明白で、自分で作成したコードならば、まず、書かない(あっても直す)のですが、昔のコードのため、基本的には変更不可。(全く不可ではないが、色々と面倒)
で、このコードを含むソースの修正(機能追加)があり、変更部分に関するエラーチェックの意味でのコンパイルチェックを想定しています。上記のエラーが数ヶ所ならば、コメントの追記とかで済まそうと思ったのですが、多数ありで、困っています。
最新のgcc(MinGW)で確認しましたが、変更部分のエラーチェックが主目的のため、入手が容易ならば、他でもOKです。 (VxWorks系のソースらしく、VS2019では、別のエラー多数で諦めました)
元のコンパイラについては、、、なぜか、gccとなっている、、(多分、違う)
また、諸般の事情で、本来の開発環境は使えません。
gccのオプションについては、確認しましたが、自分の確認範囲では、見つけることができませんでした。
もし、ご存じの方がいたら、教えていただけるようお願いします。
回答2件
あなたの回答
tips
プレビュー